summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDidier Pallard <didier.pallard@6wind.com>2018-12-11 14:00:28 +0100
committerFerruh Yigit <ferruh.yigit@intel.com>2018-12-13 17:53:50 +0000
commitd6db681bf9b8095da2fed653ec5b89e5f165eaa8 (patch)
tree2ab3275348e3113962e7c00903b314c8851e016c
parentef28aa96e53bc528a499acb866302280393783a0 (diff)
downloaddpdk-d6db681bf9b8095da2fed653ec5b89e5f165eaa8.zip
dpdk-d6db681bf9b8095da2fed653ec5b89e5f165eaa8.tar.gz
dpdk-d6db681bf9b8095da2fed653ec5b89e5f165eaa8.tar.xz
drivers/net: fix several Tx prepare functions
Since below commit, several tx_prep functions are broken, they fail to pass supported Tx offload features check: PKT_TX_IPVx must be set when any PKT_TX_L4 checksum is requested, but these values are not present in the mask of supported Tx offloads of several drivers that advertise PKT_TX_L4_MASK. So any packet sent to those drivers with a L4 checksum request and one of PKT_TX_IPVx bit set is rejected by the tx prepare function. Fixes: 1037ed842c37 ("mbuf: fix Tx offload mask") Cc: stable@dpdk.org Signed-off-by: Didier Pallard <didier.pallard@6wind.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
-rw-r--r--drivers/net/atlantic/atl_rxtx.c2
-rw-r--r--drivers/net/e1000/em_rxtx.c2
-rw-r--r--drivers/net/ena/ena_ethdev.c2
-rw-r--r--drivers/net/fm10k/fm10k_rxtx.c2
-rw-r--r--drivers/net/vmxnet3/vmxnet3_rxtx.c2
5 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/atlantic/atl_rxtx.c b/drivers/net/atlantic/atl_rxtx.c
index fd90947..40c9137 100644
--- a/drivers/net/atlantic/atl_rxtx.c
+++ b/drivers/net/atlantic/atl_rxtx.c
@@ -21,6 +21,8 @@
#define ATL_TX_OFFLOAD_MASK ( \
PKT_TX_VLAN | \
+ PKT_TX_IPV6 | \
+ PKT_TX_IPV4 | \
PKT_TX_IP_CKSUM | \
PKT_TX_L4_MASK | \
PKT_TX_TCP_SEG)
diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c
index a9cd765..005e1ea 100644
--- a/drivers/net/e1000/em_rxtx.c
+++ b/drivers/net/e1000/em_rxtx.c
@@ -50,6 +50,8 @@
#define E1000_RXDCTL_GRAN 0x01000000 /* RXDCTL Granularity */
#define E1000_TX_OFFLOAD_MASK ( \
+ PKT_TX_IPV6 | \
+ PKT_TX_IPV4 | \
PKT_TX_IP_CKSUM | \
PKT_TX_L4_MASK | \
PKT_TX_VLAN_PKT)
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index a07bd2b..709ad2e 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -189,6 +189,8 @@ static const struct ena_stats ena_stats_ena_com_strings[] = {
#define ENA_TX_OFFLOAD_MASK (\
PKT_TX_L4_MASK | \
+ PKT_TX_IPV6 | \
+ PKT_TX_IPV4 | \
PKT_TX_IP_CKSUM | \
PKT_TX_TCP_SEG)
diff --git a/drivers/net/fm10k/fm10k_rxtx.c b/drivers/net/fm10k/fm10k_rxtx.c
index 4a5b46e..1d0f09d 100644
--- a/drivers/net/fm10k/fm10k_rxtx.c
+++ b/drivers/net/fm10k/fm10k_rxtx.c
@@ -39,6 +39,8 @@ static inline void dump_rxd(union fm10k_rx_desc *rxd)
#define FM10K_TX_OFFLOAD_MASK ( \
PKT_TX_VLAN_PKT | \
+ PKT_TX_IPV6 | \
+ PKT_TX_IPV4 | \
PKT_TX_IP_CKSUM | \
PKT_TX_L4_MASK | \
PKT_TX_TCP_SEG)
diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c
index cf85f3d..d30914a 100644
--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
@@ -50,6 +50,8 @@
#define VMXNET3_TX_OFFLOAD_MASK ( \
PKT_TX_VLAN_PKT | \
+ PKT_TX_IPV6 | \
+ PKT_TX_IPV4 | \
PKT_TX_L4_MASK | \
PKT_TX_TCP_SEG)