Эх сурвалжийг харах

mlx4_en: Change multicast promiscuous mode to support IBoE

Change multicast promiscuous mode to pass packets through the multicast group distribution table
before sending packets that miss to the default multicast QP.

Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Eli Cohen 15 жил өмнө
parent
commit
7ac870ed7d

+ 2 - 2
drivers/net/mlx4/en_port.c

@@ -127,8 +127,8 @@ int mlx4_SET_PORT_qpn_calc(struct mlx4_dev *dev, u8 port, u32 base_qpn,
 	memset(context, 0, sizeof *context);
 	memset(context, 0, sizeof *context);
 
 
 	context->base_qpn = cpu_to_be32(base_qpn);
 	context->base_qpn = cpu_to_be32(base_qpn);
-	context->promisc = cpu_to_be32(promisc << SET_PORT_PROMISC_SHIFT | base_qpn);
-	context->mcast = cpu_to_be32(1 << SET_PORT_PROMISC_SHIFT | base_qpn);
+	context->promisc = cpu_to_be32(promisc << SET_PORT_PROMISC_EN_SHIFT | base_qpn);
+	context->mcast = cpu_to_be32(1 << SET_PORT_PROMISC_MODE_SHIFT | base_qpn);
 	context->intra_no_vlan = 0;
 	context->intra_no_vlan = 0;
 	context->no_vlan = MLX4_NO_VLAN_IDX;
 	context->no_vlan = MLX4_NO_VLAN_IDX;
 	context->intra_vlan_miss = 0;
 	context->intra_vlan_miss = 0;

+ 2 - 1
drivers/net/mlx4/en_port.h

@@ -36,7 +36,8 @@
 
 
 
 
 #define SET_PORT_GEN_ALL_VALID	0x7
 #define SET_PORT_GEN_ALL_VALID	0x7
-#define SET_PORT_PROMISC_SHIFT	31
+#define SET_PORT_PROMISC_EN_SHIFT	31
+#define SET_PORT_PROMISC_MODE_SHIFT	30
 
 
 enum {
 enum {
 	MLX4_CMD_SET_VLAN_FLTR  = 0x47,
 	MLX4_CMD_SET_VLAN_FLTR  = 0x47,