diff options
author | Dekel Peled <dekelp@mellanox.com> | 2018-10-23 22:34:09 +0300 |
---|---|---|
committer | Ferruh Yigit <ferruh.yigit@intel.com> | 2018-10-26 22:14:06 +0200 |
commit | 6bd7fbd03c6282689415ea3ff99622a631109984 (patch) | |
tree | a9d7e061c52aeb131b9a88a751eafb7e423696f3 /drivers/net/mlx5/mlx5_txq.c | |
parent | 3c90743dd3b9d8ad461b5d5483006de5ac38045c (diff) | |
download | dpdk-next-eventdev-6bd7fbd03c6282689415ea3ff99622a631109984.zip dpdk-next-eventdev-6bd7fbd03c6282689415ea3ff99622a631109984.tar.gz dpdk-next-eventdev-6bd7fbd03c6282689415ea3ff99622a631109984.tar.xz |
net/mlx5: support metadata as flow rule criteria
As described in series starting at [1], it adds option to set
metadata value as match pattern when creating a new flow rule.
This patch adds metadata support in mlx5 driver, in two parts:
- Add the validation and setting of metadata value in matcher,
when creating a new flow rule.
- Add the passing of metadata value from mbuf to wqe when
indicated by ol_flag, in different burst functions.
[1] "ethdev: support metadata as flow rule criteria"
http://mails.dpdk.org/archives/dev/2018-September/113269.html
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Diffstat (limited to 'drivers/net/mlx5/mlx5_txq.c')
-rw-r--r-- | drivers/net/mlx5/mlx5_txq.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c index f9bc473..b01bd67 100644 --- a/drivers/net/mlx5/mlx5_txq.c +++ b/drivers/net/mlx5/mlx5_txq.c @@ -120,7 +120,6 @@ mlx5_get_tx_port_offloads(struct rte_eth_dev *dev) offloads |= (DEV_TX_OFFLOAD_IP_TNL_TSO | DEV_TX_OFFLOAD_UDP_TNL_TSO); } - if (config->tunnel_en) { if (config->hw_csum) offloads |= DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM; @@ -128,6 +127,10 @@ mlx5_get_tx_port_offloads(struct rte_eth_dev *dev) offloads |= (DEV_TX_OFFLOAD_VXLAN_TNL_TSO | DEV_TX_OFFLOAD_GRE_TNL_TSO); } +#ifdef HAVE_IBV_FLOW_DV_SUPPORT + if (config->dv_flow_en) + offloads |= DEV_TX_OFFLOAD_MATCH_METADATA; +#endif return offloads; } |