From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id B2C7C2BA5 for ; Fri, 8 Mar 2019 18:48:07 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from yskoh@mellanox.com) with ESMTPS (AES256-SHA encrypted); 8 Mar 2019 19:48:02 +0200 Received: from scfae-sc-2.mti.labs.mlnx (scfae-sc-2.mti.labs.mlnx [10.101.0.96]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x28HloAN002625; Fri, 8 Mar 2019 19:48:01 +0200 From: Yongseok Koh To: Didier Pallard Cc: Ferruh Yigit , dpdk stable Date: Fri, 8 Mar 2019 09:46:45 -0800 Message-Id: <20190308174749.30771-7-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190308174749.30771-1-yskoh@mellanox.com> References: <20190308174749.30771-1-yskoh@mellanox.com> Subject: [dpdk-stable] patch 'drivers/net: fix several Tx prepare functions' has been queued to LTS release 17.11.6 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Mar 2019 17:48:08 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objection by 03/13/19. So please shout if anyone has objection. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. If the code is different (ie: not only metadata diffs), due for example to a change in context or macro names, please double check it. Thanks. Yongseok --- >>From aa85fc16c2e55eb6b7bee9f0030e51fd330de138 Mon Sep 17 00:00:00 2001 From: Didier Pallard Date: Tue, 11 Dec 2018 14:00:28 +0100 Subject: [PATCH] drivers/net: fix several Tx prepare functions [ backported from upstream commit d6db681bf9b8095da2fed653ec5b89e5f165eaa8 ] 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") Signed-off-by: Didier Pallard Reviewed-by: Ferruh Yigit --- drivers/net/e1000/em_rxtx.c | 2 ++ drivers/net/ena/ena_ethdev.c | 2 ++ drivers/net/fm10k/fm10k_rxtx.c | 2 ++ drivers/net/vmxnet3/vmxnet3_rxtx.c | 2 ++ 4 files changed, 8 insertions(+) diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c index a15ce222a..32f01f701 100644 --- a/drivers/net/e1000/em_rxtx.c +++ b/drivers/net/e1000/em_rxtx.c @@ -79,6 +79,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 6b96f4042..725e4b373 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -172,6 +172,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 d6081e485..59459212b 100644 --- a/drivers/net/fm10k/fm10k_rxtx.c +++ b/drivers/net/fm10k/fm10k_rxtx.c @@ -68,6 +68,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 940068ff2..35b39ba47 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c @@ -79,6 +79,8 @@ #define VMXNET3_TX_OFFLOAD_MASK ( \ PKT_TX_VLAN_PKT | \ + PKT_TX_IPV6 | \ + PKT_TX_IPV4 | \ PKT_TX_L4_MASK | \ PKT_TX_TCP_SEG) -- 2.11.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-03-08 09:46:40.752940512 -0800 +++ 0007-drivers-net-fix-several-Tx-prepare-functions.patch 2019-03-08 09:46:39.982396000 -0800 @@ -1,8 +1,10 @@ -From d6db681bf9b8095da2fed653ec5b89e5f165eaa8 Mon Sep 17 00:00:00 2001 +From aa85fc16c2e55eb6b7bee9f0030e51fd330de138 Mon Sep 17 00:00:00 2001 From: Didier Pallard Date: Tue, 11 Dec 2018 14:00:28 +0100 Subject: [PATCH] drivers/net: fix several Tx prepare functions +[ backported from upstream commit d6db681bf9b8095da2fed653ec5b89e5f165eaa8 ] + 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, @@ -12,36 +14,21 @@ 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 Reviewed-by: Ferruh Yigit --- - drivers/net/atlantic/atl_rxtx.c | 2 ++ drivers/net/e1000/em_rxtx.c | 2 ++ drivers/net/ena/ena_ethdev.c | 2 ++ drivers/net/fm10k/fm10k_rxtx.c | 2 ++ drivers/net/vmxnet3/vmxnet3_rxtx.c | 2 ++ - 5 files changed, 10 insertions(+) + 4 files changed, 8 insertions(+) -diff --git a/drivers/net/atlantic/atl_rxtx.c b/drivers/net/atlantic/atl_rxtx.c -index fd909476c..40c913795 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 a9cd76518..005e1ea96 100644 +index a15ce222a..32f01f701 100644 --- a/drivers/net/e1000/em_rxtx.c +++ b/drivers/net/e1000/em_rxtx.c -@@ -50,6 +50,8 @@ +@@ -79,6 +79,8 @@ #define E1000_RXDCTL_GRAN 0x01000000 /* RXDCTL Granularity */ #define E1000_TX_OFFLOAD_MASK ( \ @@ -51,10 +38,10 @@ 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 a07bd2b49..709ad2edb 100644 +index 6b96f4042..725e4b373 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[] = { +@@ -172,6 +172,8 @@ static const struct ena_stats ena_stats_ena_com_strings[] = { #define ENA_TX_OFFLOAD_MASK (\ PKT_TX_L4_MASK | \ @@ -64,10 +51,10 @@ PKT_TX_TCP_SEG) diff --git a/drivers/net/fm10k/fm10k_rxtx.c b/drivers/net/fm10k/fm10k_rxtx.c -index 4a5b46ec8..1d0f09d25 100644 +index d6081e485..59459212b 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) +@@ -68,6 +68,8 @@ static inline void dump_rxd(union fm10k_rx_desc *rxd) #define FM10K_TX_OFFLOAD_MASK ( \ PKT_TX_VLAN_PKT | \ @@ -77,10 +64,10 @@ 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 cf85f3d61..d30914a8a 100644 +index 940068ff2..35b39ba47 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c -@@ -50,6 +50,8 @@ +@@ -79,6 +79,8 @@ #define VMXNET3_TX_OFFLOAD_MASK ( \ PKT_TX_VLAN_PKT | \