]> git.droids-corp.org - dpdk.git/commitdiff
drivers/net: fix several Tx prepare functions
authorDidier Pallard <didier.pallard@6wind.com>
Tue, 11 Dec 2018 13:00:28 +0000 (14:00 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 13 Dec 2018 17:53:50 +0000 (17:53 +0000)
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>
drivers/net/atlantic/atl_rxtx.c
drivers/net/e1000/em_rxtx.c
drivers/net/ena/ena_ethdev.c
drivers/net/fm10k/fm10k_rxtx.c
drivers/net/vmxnet3/vmxnet3_rxtx.c

index fd909476c45f11523a8ededfec3de737d432c1d3..40c913795c794b6f7e145ddd34defb927ec71998 100644 (file)
@@ -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)
index a9cd765186e4daddb6410755b12ddbb6165a0bfa..005e1ea96397039bdd62cf9ed191192b203e1935 100644 (file)
@@ -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)
index a07bd2b4935db73471d8a3df9a51be99ec53f533..709ad2edb43bef5305dd22ac5441617bb9f01442 100644 (file)
@@ -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)
 
index 4a5b46ec830a64d2d5b92c896a6ea47e400505e2..1d0f09d258252c3bf9db5500dbb3d89babffcfe3 100644 (file)
@@ -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)
index cf85f3d6181a10badb6f54f46e0e0db073c3b12e..d30914a8a620693457866f884311dea502b8e4be 100644 (file)
@@ -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)