diff options
author | Gal Pressman | 2017-09-10 12:22:51 +0200 |
---|---|---|
committer | Saeed Mahameed | 2017-11-09 05:27:35 +0100 |
commit | 4382c7b92a1db397874ca62c73aa8b023af6dba8 (patch) | |
tree | 41cd05c7a78b904228d5958796dfa294b29cb1b0 /drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | |
parent | net/mlx5e: Add 802.1ad VLAN filter steering rules (diff) | |
download | kernel-qcow2-linux-4382c7b92a1db397874ca62c73aa8b023af6dba8.tar.gz kernel-qcow2-linux-4382c7b92a1db397874ca62c73aa8b023af6dba8.tar.xz kernel-qcow2-linux-4382c7b92a1db397874ca62c73aa8b023af6dba8.zip |
net/mlx5e: Add 802.1ad VLAN insertion support
Report VLAN insertion support for S-tagged packets and add support by
choosing the correct VLAN type in the WQE.
Signed-off-by: Gal Pressman <galp@mellanox.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_tx.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c index de651de35c9b..c62305b214cc 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c @@ -369,6 +369,8 @@ static netdev_tx_t mlx5e_sq_xmit(struct mlx5e_txqsq *sq, struct sk_buff *skb, ds_cnt += DIV_ROUND_UP(ihs - sizeof(eseg->inline_hdr.start), MLX5_SEND_WQE_DS); } else if (skb_vlan_tag_present(skb)) { eseg->insert.type = cpu_to_be16(MLX5_ETH_WQE_INSERT_VLAN); + if (skb->vlan_proto == cpu_to_be16(ETH_P_8021AD)) + eseg->insert.type |= cpu_to_be16(MLX5_ETH_WQE_SVLAN); eseg->insert.vlan_tci = cpu_to_be16(skb_vlan_tag_get(skb)); } |