From mboxrd@z Thu Jan 1 00:00:00 1970 From: Didier Pallard Subject: [PATCH] drivers/net: fix several Tx prepare functions Date: Tue, 11 Dec 2018 14:00:28 +0100 Message-ID: <20181211130028.10769-1-didier.pallard@6wind.com> Cc: stable@dpdk.org To: dev@dpdk.org Return-path: Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by dpdk.org (Postfix) with ESMTP id 3CF174CB5 for ; Tue, 11 Dec 2018 14:02:03 +0100 (CET) Received: by mail-wr1-f65.google.com with SMTP id p4so13983188wrt.7 for ; Tue, 11 Dec 2018 05:02:03 -0800 (PST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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(+) diff --git a/drivers/net/atlantic/atl_rxtx.c b/drivers/net/atlantic/atl_rxtx.c index fd909476c45f..40c913795c79 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 a9cd765186e4..005e1ea96397 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 a07bd2b4935d..709ad2edb43b 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 4a5b46ec830a..1d0f09d25825 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 cf85f3d6181a..d30914a8a620 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) -- 2.11.0