From: Olga Shern Date: Tue, 30 Jun 2015 09:28:08 +0000 (+0200) Subject: mlx4: disable multicast echo on PF device X-Git-Tag: spdx-start~8885 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=8b3ffe95e75d6d305992505005cbb95969874a15;p=dpdk.git mlx4: disable multicast echo on PF device Multicast loopback must be disabled on PF devices to prevent the adapter from sending frames back. Required with MOFED 3.0. Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile index fd74dc8ec9..725717f86f 100644 --- a/drivers/net/mlx4/Makefile +++ b/drivers/net/mlx4/Makefile @@ -112,6 +112,11 @@ mlx4_autoconf.h: $(RTE_SDK)/scripts/auto-config-h.sh HAVE_EXP_QUERY_DEVICE \ infiniband/verbs.h \ type 'struct ibv_exp_device_attr' $(AUTOCONF_OUTPUT) + $Q sh -- '$<' '$@' \ + HAVE_EXP_QP_BURST_CREATE_DISABLE_ETH_LOOPBACK \ + infiniband/verbs.h \ + enum IBV_EXP_QP_BURST_CREATE_DISABLE_ETH_LOOPBACK \ + $(AUTOCONF_OUTPUT) mlx4.o: mlx4_autoconf.h diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 631ab02022..f4491e7176 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -1534,6 +1534,13 @@ txq_setup(struct rte_eth_dev *dev, struct txq *txq, uint16_t desc, .intf_scope = IBV_EXP_INTF_GLOBAL, .intf = IBV_EXP_INTF_QP_BURST, .obj = tmpl.qp, +#ifdef HAVE_EXP_QP_BURST_CREATE_DISABLE_ETH_LOOPBACK + /* MC loopback must be disabled when not using a VF. */ + .family_flags = + (!priv->vf ? + IBV_EXP_QP_BURST_CREATE_DISABLE_ETH_LOOPBACK : + 0), +#endif }; tmpl.if_qp = ibv_exp_query_intf(priv->ctx, &attr.params, &status); if (tmpl.if_qp == NULL) {