net/mlx4: Strengthen VLAN tags/priorities enforcement in VST mode
Make sure that the following steps are taken: - drop packets sent by the VF with vlan tag - block packets with vlan tag which are steered to the VF - drop/block tagged packets when the policy is priority-tagged - make sure VLAN stripping for received packets is set - make sure force UP bit for the VF QP is set Use enum values for all the above instead of numerical bit offsets. Signed-off-by: Rony Efraim <ronye@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
4e8cf5b8a1
commit
7677fc965f
@@ -126,7 +126,7 @@ struct mlx4_rss_context {
|
||||
|
||||
struct mlx4_qp_path {
|
||||
u8 fl;
|
||||
u8 reserved1[1];
|
||||
u8 vlan_control;
|
||||
u8 disable_pkey_check;
|
||||
u8 pkey_index;
|
||||
u8 counter_index;
|
||||
@@ -141,11 +141,32 @@ struct mlx4_qp_path {
|
||||
u8 sched_queue;
|
||||
u8 vlan_index;
|
||||
u8 feup;
|
||||
u8 reserved3;
|
||||
u8 fvl_rx;
|
||||
u8 reserved4[2];
|
||||
u8 dmac[6];
|
||||
};
|
||||
|
||||
enum { /* fl */
|
||||
MLX4_FL_CV = 1 << 6,
|
||||
MLX4_FL_ETH_HIDE_CQE_VLAN = 1 << 2
|
||||
};
|
||||
enum { /* vlan_control */
|
||||
MLX4_VLAN_CTRL_ETH_TX_BLOCK_TAGGED = 1 << 6,
|
||||
MLX4_VLAN_CTRL_ETH_RX_BLOCK_TAGGED = 1 << 2,
|
||||
MLX4_VLAN_CTRL_ETH_RX_BLOCK_PRIO_TAGGED = 1 << 1, /* 802.1p priority tag */
|
||||
MLX4_VLAN_CTRL_ETH_RX_BLOCK_UNTAGGED = 1 << 0
|
||||
};
|
||||
|
||||
enum { /* feup */
|
||||
MLX4_FEUP_FORCE_ETH_UP = 1 << 6, /* force Eth UP */
|
||||
MLX4_FSM_FORCE_ETH_SRC_MAC = 1 << 5, /* force Source MAC */
|
||||
MLX4_FVL_FORCE_ETH_VLAN = 1 << 3 /* force Eth vlan */
|
||||
};
|
||||
|
||||
enum { /* fvl_rx */
|
||||
MLX4_FVL_RX_FORCE_ETH_VLAN = 1 << 0 /* enforce Eth rx vlan */
|
||||
};
|
||||
|
||||
struct mlx4_qp_context {
|
||||
__be32 flags;
|
||||
__be32 pd;
|
||||
@@ -185,6 +206,10 @@ struct mlx4_qp_context {
|
||||
u32 reserved5[10];
|
||||
};
|
||||
|
||||
enum { /* param3 */
|
||||
MLX4_STRIP_VLAN = 1 << 30
|
||||
};
|
||||
|
||||
/* Which firmware version adds support for NEC (NoErrorCompletion) bit */
|
||||
#define MLX4_FW_VER_WQE_CTRL_NEC mlx4_fw_ver(2, 2, 232)
|
||||
|
||||
|
Reference in New Issue
Block a user