From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-f66.google.com (mail-lf1-f66.google.com [209.85.167.66]) by dpdk.org (Postfix) with ESMTP id 1412A231E for ; Tue, 4 Sep 2018 08:29:04 +0200 (CEST) Received: by mail-lf1-f66.google.com with SMTP id x207-v6so2015933lff.3 for ; Mon, 03 Sep 2018 23:29:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=oyzxDvcu4iZsu0KhGuVDCfhDqifAsshbC5U3i8MM2q0=; b=gPdHa2fK/6fZ9eF2eGh7O28wr/LTR8gez0EOjg/Bdpf9Rmm7CQB6ucify+NcHPfoQX BS4+7SJrGoPIl38MF7enb/i677ayCQV5LcEMEhx/nm7nyhfwFufaNuNLphYD9A5cQSbB /E+EzNR7CLu3qtbdfAdVE9Gufb3SVfJA9StOKBGkbohnTIuWnLp71DwtGRZaWj30Ufk5 tAYdjSgbrJFg5etojIYp29VVZHz1tiExOFCf8vFCRThRcd8JtSy37mVGuZI2zrjaZdyK 0SX3yOuFElOrepoc5dreAoJ3s0uMMJSVgmfz8V+5pKJQMqiTQ4A5t0Vddw1tJ8oY1hs9 vo4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=oyzxDvcu4iZsu0KhGuVDCfhDqifAsshbC5U3i8MM2q0=; b=eC1t0MmPgIqUbxNoy4p/YCUz6bMjuDFI+oLv3jITU3aytFU8+A5L7Gj2oEXukQ5Y3h fuQKo4pQbNpQPhf4/sSdlIZQW18rJdmCkGyQCpyGBEh6RoR8kQur9ef4ez7bFqiZDiKQ NmVGwRYYDac9y7UyDaRwfDqd6mk1z5mtKFb6yIHWvqiFt8hXFTfWBNoUFJIceFNVWWy5 Z85q2f9+s1GFsrZrN+KEVrDM1nLkCoQNbKTMH43br/s9Zf4DEmaSguzIXFOys6s5Kr3Z iIUQdGrdZ8jYH/TLCfVKIli9XntdrKYqGfEOKZx5ETxSbpmd1KGH2kpLQTy3do0FpxTs Itxg== X-Gm-Message-State: APzg51ALyQsemfGdd7Rt/e6DlfDVO0WP4kqzEHsrL8oY9iPw3klM4kge Grx1t+WYiWm8pVuDTDTnU/bBPQ== X-Google-Smtp-Source: ANB0VdY7oq/V315ynoC/37+sarW8HnJ3Bwu+6Xhiol9UbEVzBqvnTdcYYsk49zrrxyiKNLGY5+NuFg== X-Received: by 2002:a19:290c:: with SMTP id p12-v6mr19124598lfp.124.1536042544312; Mon, 03 Sep 2018 23:29:04 -0700 (PDT) Received: from localhost (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id e30-v6sm3762657ljb.86.2018.09.03.23.29.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Sep 2018 23:29:03 -0700 (PDT) Date: Tue, 4 Sep 2018 08:29:02 +0200 From: Tomasz Duszynski To: Ferruh Yigit Cc: Jerin Jacob , Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , John McNamara , Marko Kovacevic , Qi Zhang , Xiao Wang , Neil Horman , Remy Horton , Ori Kam , Bruce Richardson , Pablo de Lara , Radu Nicolau , Akhil Goyal , Tomasz Kantecki , "John W. Linville" , Allain Legacy , Matt Peters , Ravi Kumar , Ajit Khaparde , Somnath Kotur , Rahul Lakkireddy , Hemant Agrawal , Shreyansh Jain , John Daley , Hyong Youb Kim , Gaetan Rivet , Beilei Xing , Konstantin Ananyev , Matan Azrad , Shahaf Shuler , Yongseok Koh , Tomasz Duszynski , Dmitri Epshtein , Natalie Samsonov , Stephen Hemminger , "K. Y. Srinivasan" , Haiyang Zhang , Alejandro Lucero , Tetsuya Mukawa , Santosh Shukla , Rasesh Mody , Harish Patil , Shahed Shaikh , Andrew Rybchenko , Jasvinder Singh , Cristian Dumitrescu , Jan Remes , Keith Wiles , Maciej Czekaj , Maxime Coquelin , Tiwei Bie , Zhihong Wang , Yong Wang , Amr Mokhtar , Declan Doherty , Chas Williams , David Hunt , Anatoly Burakov , Harry van Haaren , Xiaoyun Li , Thomas Monjalon , dev@dpdk.org Message-ID: <20180904062902.GA13602@sh> References: <20180903144501.31373-1-ferruh.yigit@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <20180903144501.31373-1-ferruh.yigit@intel.com> User-Agent: Mutt/1.5.23.1 (2014-03-12) X-Mailman-Approved-At: Tue, 04 Sep 2018 11:14:52 +0200 Subject: Re: [dpdk-dev] [PATCH] ethdev: make default behavior CRC strip on Rx X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2018 06:29:05 -0000 On Mon, Sep 03, 2018 at 03:45:01PM +0100, Ferruh Yigit wrote: > Removed DEV_RX_OFFLOAD_CRC_STRIP offload flag. > Without any specific Rx offload flag, default behavior by PMDs is to > strip CRC. > > PMDs that support keeping CRC should advertise DEV_RX_OFFLOAD_KEEP_CRC > Rx offload capability. > > Applications that require keeping CRC should check PMD capability first > and if it is supported can enable this feature by setting > DEV_RX_OFFLOAD_KEEP_CRC in Rx offload flag in rte_eth_dev_configure() > > Signed-off-by: Ferruh Yigit > --- [...] > diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_eth= dev.c > index 682444590..fa4af49af 100644 > --- a/drivers/net/mvpp2/mrvl_ethdev.c > +++ b/drivers/net/mvpp2/mrvl_ethdev.c > @@ -67,7 +67,6 @@ > /** Port Rx offload capabilities */ > #define MRVL_RX_OFFLOADS (DEV_RX_OFFLOAD_VLAN_FILTER | \ > DEV_RX_OFFLOAD_JUMBO_FRAME | \ > - DEV_RX_OFFLOAD_CRC_STRIP | \ > DEV_RX_OFFLOAD_CHECKSUM) > > /** Port Tx offloads capabilities */ > @@ -311,14 +310,6 @@ mrvl_dev_configure(struct rte_eth_dev *dev) > return -EINVAL; > } > > - /* KEEP_CRC offload flag is not supported by PMD > - * can remove the below block when DEV_RX_OFFLOAD_CRC_STRIP removed > - */ > - if (rte_eth_dev_must_keep_crc(dev->data->dev_conf.rxmode.offloads)) { > - MRVL_LOG(INFO, "L2 CRC stripping is always enabled in hw"); > - dev->data->dev_conf.rxmode.offloads |=3D DEV_RX_OFFLOAD_CRC_STRIP; > - } > - > if (dev->data->dev_conf.rxmode.split_hdr_size) { > MRVL_LOG(INFO, "Split headers not supported"); > return -EINVAL; > @@ -1334,7 +1325,6 @@ mrvl_dev_infos_get(struct rte_eth_dev *dev __rte_un= used, > > /* By default packets are dropped if no descriptors are available */ > info->default_rxconf.rx_drop_en =3D 1; > - info->default_rxconf.offloads =3D DEV_RX_OFFLOAD_CRC_STRIP; > > info->max_rx_pktlen =3D MRVL_PKT_SIZE_MAX; > } As for mvpp2: Acked-by: Tomasz Duszynski > diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethde= v.c > index 2200ee319..7f7ac155e 100644 > --- a/drivers/net/netvsc/hn_ethdev.c > +++ b/drivers/net/netvsc/hn_ethdev.c > @@ -40,8 +40,7 @@ > DEV_TX_OFFLOAD_VLAN_INSERT) > > #define HN_RX_OFFLOAD_CAPS (DEV_RX_OFFLOAD_CHECKSUM | \ > - DEV_RX_OFFLOAD_VLAN_STRIP | \ > - DEV_RX_OFFLOAD_CRC_STRIP) > + DEV_RX_OFFLOAD_VLAN_STRIP) > > int hn_logtype_init; > int hn_logtype_driver; > diff --git a/drivers/net/netvsc/hn_rndis.c b/drivers/net/netvsc/hn_rndis.c > index f44add726..9de99e16a 100644 > --- a/drivers/net/netvsc/hn_rndis.c > +++ b/drivers/net/netvsc/hn_rndis.c > @@ -892,8 +892,7 @@ int hn_rndis_get_offload(struct hn_data *hv, > =3D=3D HN_NDIS_LSOV2_CAP_IP6) > dev_info->tx_offload_capa |=3D DEV_TX_OFFLOAD_TCP_TSO; > > - dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_VLAN_STRIP | > - DEV_RX_OFFLOAD_CRC_STRIP; > + dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_VLAN_STRIP; > > if (hwcaps.ndis_csum.ndis_ip4_rxcsum & NDIS_RXCSUM_CAP_IP4) > dev_info->rx_offload_capa |=3D DEV_RX_OFFLOAD_IPV4_CKSUM; > diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c > index ee743e975..168088c6d 100644 > --- a/drivers/net/nfp/nfp_net.c > +++ b/drivers/net/nfp/nfp_net.c > @@ -411,12 +411,6 @@ nfp_net_configure(struct rte_eth_dev *dev) > return -EINVAL; > } > > - /* KEEP_CRC offload flag is not supported by PMD > - * can remove the below block when DEV_RX_OFFLOAD_CRC_STRIP removed > - */ > - if (rte_eth_dev_must_keep_crc(rxmode->offloads)) > - PMD_INIT_LOG(INFO, "HW does strip CRC. No configurable!"); > - > return 0; > } > > @@ -1168,8 +1162,7 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct r= te_eth_dev_info *dev_info) > DEV_RX_OFFLOAD_UDP_CKSUM | > DEV_RX_OFFLOAD_TCP_CKSUM; > > - dev_info->rx_offload_capa |=3D DEV_RX_OFFLOAD_JUMBO_FRAME | > - DEV_RX_OFFLOAD_KEEP_CRC; > + dev_info->rx_offload_capa |=3D DEV_RX_OFFLOAD_JUMBO_FRAME; > > if (hw->cap & NFP_NET_CFG_CTRL_TXVLAN) > dev_info->tx_offload_capa =3D DEV_TX_OFFLOAD_VLAN_INSERT; > diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_n= ull.c > index 244f86545..de10b5bdf 100644 > --- a/drivers/net/null/rte_eth_null.c > +++ b/drivers/net/null/rte_eth_null.c > @@ -305,7 +305,6 @@ eth_dev_info(struct rte_eth_dev *dev, > dev_info->min_rx_bufsize =3D 0; > dev_info->reta_size =3D internals->reta_size; > dev_info->flow_type_rss_offloads =3D internals->flow_type_rss_offloads; > - dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_CRC_STRIP; > } > > static int > diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeont= x/octeontx_ethdev.c > index 0f3d5d673..71843c63a 100644 > --- a/drivers/net/octeontx/octeontx_ethdev.c > +++ b/drivers/net/octeontx/octeontx_ethdev.c > @@ -281,14 +281,6 @@ octeontx_dev_configure(struct rte_eth_dev *dev) > return -EINVAL; > } > > - /* KEEP_CRC offload flag is not supported by PMD > - * can remove the below block when DEV_RX_OFFLOAD_CRC_STRIP removed > - */ > - if (rte_eth_dev_must_keep_crc(rxmode->offloads)) { > - PMD_INIT_LOG(NOTICE, "can't disable hw crc strip"); > - rxmode->offloads |=3D DEV_RX_OFFLOAD_CRC_STRIP; > - } > - > if (!(txmode->offloads & DEV_TX_OFFLOAD_MT_LOCKFREE)) { > PMD_INIT_LOG(NOTICE, "cant disable lockfree tx"); > txmode->offloads |=3D DEV_TX_OFFLOAD_MT_LOCKFREE; > diff --git a/drivers/net/octeontx/octeontx_ethdev.h b/drivers/net/octeont= x/octeontx_ethdev.h > index 14f169692..920f6f89b 100644 > --- a/drivers/net/octeontx/octeontx_ethdev.h > +++ b/drivers/net/octeontx/octeontx_ethdev.h > @@ -28,8 +28,7 @@ > #define OCTEONTX_MAX_BGX_PORTS 4 > #define OCTEONTX_MAX_LMAC_PER_BGX 4 > > -#define OCTEONTX_RX_OFFLOADS (DEV_RX_OFFLOAD_CRC_STRIP \ > - | DEV_RX_OFFLOAD_CHECKSUM) > +#define OCTEONTX_RX_OFFLOADS DEV_RX_OFFLOAD_CHECKSUM > #define OCTEONTX_TX_OFFLOADS DEV_TX_OFFLOAD_MT_LOCKFREE > > static inline struct octeontx_nic * > diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_p= cap.c > index e8810a171..a015a9d48 100644 > --- a/drivers/net/pcap/rte_eth_pcap.c > +++ b/drivers/net/pcap/rte_eth_pcap.c > @@ -553,7 +553,6 @@ eth_dev_info(struct rte_eth_dev *dev, > dev_info->max_rx_queues =3D dev->data->nb_rx_queues; > dev_info->max_tx_queues =3D dev->data->nb_tx_queues; > dev_info->min_rx_bufsize =3D 0; > - dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_CRC_STRIP; > } > > static int > diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethde= v.c > index df52ea928..7bb52b157 100644 > --- a/drivers/net/qede/qede_ethdev.c > +++ b/drivers/net/qede/qede_ethdev.c > @@ -1554,7 +1554,6 @@ qede_dev_info_get(struct rte_eth_dev *eth_dev, > DEV_RX_OFFLOAD_TCP_CKSUM | > DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | > DEV_RX_OFFLOAD_TCP_LRO | > - DEV_RX_OFFLOAD_CRC_STRIP | > DEV_RX_OFFLOAD_KEEP_CRC | > DEV_RX_OFFLOAD_SCATTER | > DEV_RX_OFFLOAD_JUMBO_FRAME | > diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_r= ing.c > index 791deb0bb..bfe2f1780 100644 > --- a/drivers/net/ring/rte_eth_ring.c > +++ b/drivers/net/ring/rte_eth_ring.c > @@ -164,7 +164,6 @@ eth_dev_info(struct rte_eth_dev *dev, > dev_info->max_rx_queues =3D (uint16_t)internals->max_rx_queues; > dev_info->max_tx_queues =3D (uint16_t)internals->max_tx_queues; > dev_info->min_rx_bufsize =3D 0; > - dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_CRC_STRIP; > } > > static int > diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c > index d8503e201..acfd3b51c 100644 > --- a/drivers/net/sfc/sfc_rx.c > +++ b/drivers/net/sfc/sfc_rx.c > @@ -792,7 +792,6 @@ sfc_rx_get_dev_offload_caps(struct sfc_adapter *sa) > uint64_t caps =3D 0; > > caps |=3D DEV_RX_OFFLOAD_JUMBO_FRAME; > - caps |=3D DEV_RX_OFFLOAD_CRC_STRIP; > > if (sa->dp_rx->features & SFC_DP_RX_FEAT_CHECKSUM) { > caps |=3D DEV_RX_OFFLOAD_IPV4_CKSUM; > @@ -1439,14 +1438,6 @@ sfc_rx_check_mode(struct sfc_adapter *sa, struct r= te_eth_rxmode *rxmode) > rc =3D EINVAL; > } > > - /* KEEP_CRC offload flag is not supported by PMD > - * can remove the below block when DEV_RX_OFFLOAD_CRC_STRIP removed > - */ > - if (rte_eth_dev_must_keep_crc(rxmode->offloads)) { > - sfc_warn(sa, "FCS stripping cannot be disabled - always on"); > - rxmode->offloads |=3D DEV_RX_OFFLOAD_CRC_STRIP; > - } > - > /* > * Requested offloads are validated against supported by ethdev, > * so unsupported offloads cannot be added as the result of > diff --git a/drivers/net/softnic/rte_eth_softnic.c b/drivers/net/softnic/= rte_eth_softnic.c > index 30fb3952a..41c3a9b3e 100644 > --- a/drivers/net/softnic/rte_eth_softnic.c > +++ b/drivers/net/softnic/rte_eth_softnic.c > @@ -73,7 +73,6 @@ static const struct rte_eth_dev_info pmd_dev_info =3D { > .nb_min =3D 0, > .nb_align =3D 1, > }, > - .rx_offload_capa =3D DEV_RX_OFFLOAD_CRC_STRIP, > }; > > static int pmd_softnic_logtype; > diff --git a/drivers/net/szedata2/rte_eth_szedata2.c b/drivers/net/szedat= a2/rte_eth_szedata2.c > index 1d20cb51b..8f92e72f2 100644 > --- a/drivers/net/szedata2/rte_eth_szedata2.c > +++ b/drivers/net/szedata2/rte_eth_szedata2.c > @@ -1056,8 +1056,7 @@ eth_dev_info(struct rte_eth_dev *dev, > dev_info->max_rx_queues =3D internals->max_rx_queues; > dev_info->max_tx_queues =3D internals->max_tx_queues; > dev_info->min_rx_bufsize =3D 0; > - dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_SCATTER | > - DEV_RX_OFFLOAD_CRC_STRIP; > + dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_SCATTER; > dev_info->tx_offload_capa =3D 0; > dev_info->rx_queue_offload_capa =3D 0; > dev_info->tx_queue_offload_capa =3D 0; > diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c > index feb92b48e..ad5ae988b 100644 > --- a/drivers/net/tap/rte_eth_tap.c > +++ b/drivers/net/tap/rte_eth_tap.c > @@ -305,8 +305,7 @@ tap_rx_offload_get_queue_capa(void) > return DEV_RX_OFFLOAD_SCATTER | > DEV_RX_OFFLOAD_IPV4_CKSUM | > DEV_RX_OFFLOAD_UDP_CKSUM | > - DEV_RX_OFFLOAD_TCP_CKSUM | > - DEV_RX_OFFLOAD_CRC_STRIP; > + DEV_RX_OFFLOAD_TCP_CKSUM; > } > > /* Callback to handle the rx burst of packets to the correct interface a= nd > diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/n= icvf_ethdev.c > index a55c3ca66..879d88998 100644 > --- a/drivers/net/thunderx/nicvf_ethdev.c > +++ b/drivers/net/thunderx/nicvf_ethdev.c > @@ -1431,7 +1431,6 @@ nicvf_dev_info_get(struct rte_eth_dev *dev, struct = rte_eth_dev_info *dev_info) > dev_info->default_rxconf =3D (struct rte_eth_rxconf) { > .rx_free_thresh =3D NICVF_DEFAULT_RX_FREE_THRESH, > .rx_drop_en =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }; > > dev_info->default_txconf =3D (struct rte_eth_txconf) { > @@ -1916,14 +1915,6 @@ nicvf_dev_configure(struct rte_eth_dev *dev) > return -EINVAL; > } > > - /* KEEP_CRC offload flag is not supported by PMD > - * can remove the below block when DEV_RX_OFFLOAD_CRC_STRIP removed > - */ > - if (rte_eth_dev_must_keep_crc(rxmode->offloads)) { > - PMD_INIT_LOG(NOTICE, "Can't disable hw crc strip"); > - rxmode->offloads |=3D DEV_RX_OFFLOAD_CRC_STRIP; > - } > - > if (txmode->mq_mode) { > PMD_INIT_LOG(INFO, "Tx mq_mode DCB or VMDq not supported"); > return -EINVAL; > diff --git a/drivers/net/thunderx/nicvf_ethdev.h b/drivers/net/thunderx/n= icvf_ethdev.h > index ae440fef2..c0bfbf848 100644 > --- a/drivers/net/thunderx/nicvf_ethdev.h > +++ b/drivers/net/thunderx/nicvf_ethdev.h > @@ -40,7 +40,6 @@ > #define NICVF_RX_OFFLOAD_CAPA ( \ > DEV_RX_OFFLOAD_CHECKSUM | \ > DEV_RX_OFFLOAD_VLAN_STRIP | \ > - DEV_RX_OFFLOAD_CRC_STRIP | \ > DEV_RX_OFFLOAD_JUMBO_FRAME | \ > DEV_RX_OFFLOAD_SCATTER) > > diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_et= h_vhost.c > index e58f32211..aa6052221 100644 > --- a/drivers/net/vhost/rte_eth_vhost.c > +++ b/drivers/net/vhost/rte_eth_vhost.c > @@ -1070,8 +1070,7 @@ eth_dev_info(struct rte_eth_dev *dev, > > dev_info->tx_offload_capa =3D DEV_TX_OFFLOAD_MULTI_SEGS | > DEV_TX_OFFLOAD_VLAN_INSERT; > - dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_VLAN_STRIP | > - DEV_RX_OFFLOAD_CRC_STRIP; > + dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_VLAN_STRIP; > } > > static int > diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virt= io_ethdev.c > index 614357da7..b81df0a99 100644 > --- a/drivers/net/virtio/virtio_ethdev.c > +++ b/drivers/net/virtio/virtio_ethdev.c > @@ -2166,8 +2166,7 @@ virtio_dev_info_get(struct rte_eth_dev *dev, struct= rte_eth_dev_info *dev_info) > dev_info->max_mac_addrs =3D VIRTIO_MAX_MAC_ADDRS; > > host_features =3D VTPCI_OPS(hw)->get_features(hw); > - dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_VLAN_STRIP | > - DEV_RX_OFFLOAD_CRC_STRIP; > + dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_VLAN_STRIP; > if (host_features & (1ULL << VIRTIO_NET_F_GUEST_CSUM)) { > dev_info->rx_offload_capa |=3D > DEV_RX_OFFLOAD_TCP_CKSUM | > diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/v= mxnet3_ethdev.c > index 2613cd135..f1596ab19 100644 > --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c > +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c > @@ -57,8 +57,7 @@ > DEV_RX_OFFLOAD_UDP_CKSUM | \ > DEV_RX_OFFLOAD_TCP_CKSUM | \ > DEV_RX_OFFLOAD_TCP_LRO | \ > - DEV_RX_OFFLOAD_JUMBO_FRAME | \ > - DEV_RX_OFFLOAD_CRC_STRIP) > + DEV_RX_OFFLOAD_JUMBO_FRAME) > > static int eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev); > static int eth_vmxnet3_dev_uninit(struct rte_eth_dev *eth_dev); > diff --git a/examples/bbdev_app/main.c b/examples/bbdev_app/main.c > index 045a190b9..d68c06aef 100644 > --- a/examples/bbdev_app/main.c > +++ b/examples/bbdev_app/main.c > @@ -64,7 +64,6 @@ static const struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_NONE, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/examples/bond/main.c b/examples/bond/main.c > index 23d0981ab..b282e68ba 100644 > --- a/examples/bond/main.c > +++ b/examples/bond/main.c > @@ -122,7 +122,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_NONE, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/exception_path/main.c b/examples/exception_path/mai= n.c > index 440422bc8..4180a8689 100644 > --- a/examples/exception_path/main.c > +++ b/examples/exception_path/main.c > @@ -87,9 +87,6 @@ > > /* Options for configuring ethernet port */ > static struct rte_eth_conf port_conf =3D { > - .rxmode =3D { > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > - }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > }, > diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/mai= n.c > index ce91e8a6f..b3f85b563 100644 > --- a/examples/flow_filtering/main.c > +++ b/examples/flow_filtering/main.c > @@ -121,7 +121,6 @@ init_port(void) > struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .offloads =3D > diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation= /main.c > index 5306d7672..17a877da2 100644 > --- a/examples/ip_fragmentation/main.c > +++ b/examples/ip_fragmentation/main.c > @@ -141,8 +141,7 @@ static struct rte_eth_conf port_conf =3D { > .max_rx_pkt_len =3D JUMBO_FRAME_MAX_SIZE, > .split_hdr_size =3D 0, > .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > - DEV_RX_OFFLOAD_JUMBO_FRAME | > - DEV_RX_OFFLOAD_CRC_STRIP), > + DEV_RX_OFFLOAD_JUMBO_FRAME), > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/examples/ip_pipeline/link.c b/examples/ip_pipeline/link.c > index 392a890fb..787eb866a 100644 > --- a/examples/ip_pipeline/link.c > +++ b/examples/ip_pipeline/link.c > @@ -48,7 +48,6 @@ static struct rte_eth_conf port_conf_default =3D { > .mq_mode =3D ETH_MQ_RX_NONE, > .max_rx_pkt_len =3D 9000, /* Jumbo frame max packet len */ > .split_hdr_size =3D 0, /* Header split buffer size */ > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c > index b830f67a5..17b55d4c7 100644 > --- a/examples/ip_reassembly/main.c > +++ b/examples/ip_reassembly/main.c > @@ -165,8 +165,7 @@ static struct rte_eth_conf port_conf =3D { > .max_rx_pkt_len =3D JUMBO_FRAME_MAX_SIZE, > .split_hdr_size =3D 0, > .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > - DEV_RX_OFFLOAD_JUMBO_FRAME | > - DEV_RX_OFFLOAD_CRC_STRIP), > + DEV_RX_OFFLOAD_JUMBO_FRAME), > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ip= sec-secgw.c > index b45b87bde..020424334 100644 > --- a/examples/ipsec-secgw/ipsec-secgw.c > +++ b/examples/ipsec-secgw/ipsec-secgw.c > @@ -197,8 +197,7 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CHECKSUM | > - DEV_RX_OFFLOAD_CRC_STRIP, > + .offloads =3D DEV_RX_OFFLOAD_CHECKSUM, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/mai= n.c > index 331c32e71..6530d4830 100644 > --- a/examples/ipv4_multicast/main.c > +++ b/examples/ipv4_multicast/main.c > @@ -109,8 +109,7 @@ static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .max_rx_pkt_len =3D JUMBO_FRAME_MAX_SIZE, > .split_hdr_size =3D 0, > - .offloads =3D (DEV_RX_OFFLOAD_JUMBO_FRAME | > - DEV_RX_OFFLOAD_CRC_STRIP), > + .offloads =3D DEV_RX_OFFLOAD_JUMBO_FRAME, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/examples/kni/main.c b/examples/kni/main.c > index 81336087d..80c401c51 100644 > --- a/examples/kni/main.c > +++ b/examples/kni/main.c > @@ -94,9 +94,6 @@ static struct kni_port_params *kni_port_params_array[RT= E_MAX_ETHPORTS]; > > /* Options for configuring ethernet port */ > static struct rte_eth_conf port_conf =3D { > - .rxmode =3D { > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > - }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > }, > diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c > index 6061b7511..f12fd266e 100644 > --- a/examples/l2fwd-crypto/main.c > +++ b/examples/l2fwd-crypto/main.c > @@ -213,7 +213,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_NONE, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/mai= n.c > index af5423382..a4d28e178 100644 > --- a/examples/l2fwd-jobstats/main.c > +++ b/examples/l2fwd-jobstats/main.c > @@ -90,7 +90,6 @@ struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORT= S]; > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/m= ain.c > index 2d8b4d1c6..0bf2b5336 100644 > --- a/examples/l2fwd-keepalive/main.c > +++ b/examples/l2fwd-keepalive/main.c > @@ -81,7 +81,6 @@ struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORT= S]; > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c > index 9bb4c5bc4..6c23215a5 100644 > --- a/examples/l2fwd/main.c > +++ b/examples/l2fwd/main.c > @@ -82,7 +82,6 @@ static struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_= ETHPORTS]; > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c > index 7c063a8d0..a322ce4f2 100644 > --- a/examples/l3fwd-acl/main.c > +++ b/examples/l3fwd-acl/main.c > @@ -127,8 +127,7 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D (DEV_RX_OFFLOAD_CRC_STRIP | > - DEV_RX_OFFLOAD_CHECKSUM), > + .offloads =3D DEV_RX_OFFLOAD_CHECKSUM, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c > index d15cd520e..68527d26f 100644 > --- a/examples/l3fwd-power/main.c > +++ b/examples/l3fwd-power/main.c > @@ -180,8 +180,7 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D (DEV_RX_OFFLOAD_CRC_STRIP | > - DEV_RX_OFFLOAD_CHECKSUM), > + .offloads =3D DEV_RX_OFFLOAD_CHECKSUM, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/l3fwd-vf/main.c b/examples/l3fwd-vf/main.c > index 5edd91a78..41137f978 100644 > --- a/examples/l3fwd-vf/main.c > +++ b/examples/l3fwd-vf/main.c > @@ -161,8 +161,7 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D (DEV_RX_OFFLOAD_CRC_STRIP | > - DEV_RX_OFFLOAD_CHECKSUM), > + .offloads =3D DEV_RX_OFFLOAD_CHECKSUM, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c > index ab019b9e4..e4b99efe0 100644 > --- a/examples/l3fwd/main.c > +++ b/examples/l3fwd/main.c > @@ -120,8 +120,7 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D (DEV_RX_OFFLOAD_CRC_STRIP | > - DEV_RX_OFFLOAD_CHECKSUM), > + .offloads =3D DEV_RX_OFFLOAD_CHECKSUM, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/link_status_interrupt/main.c b/examples/link_status= _interrupt/main.c > index 3b732076b..f3346d23b 100644 > --- a/examples/link_status_interrupt/main.c > +++ b/examples/link_status_interrupt/main.c > @@ -79,7 +79,6 @@ struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORT= S]; > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/examples/load_balancer/init.c b/examples/load_balancer/init.c > index f2045f235..3ab7d0211 100644 > --- a/examples/load_balancer/init.c > +++ b/examples/load_balancer/init.c > @@ -45,8 +45,7 @@ static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .split_hdr_size =3D 0, > - .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > - DEV_RX_OFFLOAD_CRC_STRIP), > + .offloads =3D DEV_RX_OFFLOAD_CHECKSUM, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_= process/symmetric_mp/main.c > index c6c6a537f..c310e942b 100644 > --- a/examples/multi_process/symmetric_mp/main.c > +++ b/examples/multi_process/symmetric_mp/main.c > @@ -178,8 +178,7 @@ smp_port_init(uint16_t port, struct rte_mempool *mbuf= _pool, > .rxmode =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .split_hdr_size =3D 0, > - .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > - DEV_RX_OFFLOAD_CRC_STRIP), > + .offloads =3D DEV_RX_OFFLOAD_CHECKSUM, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/netmap_compat/bridge/bridge.c b/examples/netmap_com= pat/bridge/bridge.c > index 7afca28cd..216e0105a 100644 > --- a/examples/netmap_compat/bridge/bridge.c > +++ b/examples/netmap_compat/bridge/bridge.c > @@ -26,7 +26,6 @@ > struct rte_eth_conf eth_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/p= erformance-thread/l3fwd-thread/main.c > index 5392fcea8..50fd1b00a 100644 > --- a/examples/performance-thread/l3fwd-thread/main.c > +++ b/examples/performance-thread/l3fwd-thread/main.c > @@ -306,8 +306,7 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > - DEV_RX_OFFLOAD_CRC_STRIP), > + .offloads =3D DEV_RX_OFFLOAD_CHECKSUM, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c > index 5cf4e9dfa..9b0112449 100644 > --- a/examples/qos_meter/main.c > +++ b/examples/qos_meter/main.c > @@ -56,8 +56,7 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > - DEV_RX_OFFLOAD_CRC_STRIP), > + .offloads =3D DEV_RX_OFFLOAD_CHECKSUM, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/examples/qos_sched/init.c b/examples/qos_sched/init.c > index 94cbb26f8..37c2b95fd 100644 > --- a/examples/qos_sched/init.c > +++ b/examples/qos_sched/init.c > @@ -59,7 +59,6 @@ static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_DCB_NONE, > diff --git a/examples/quota_watermark/qw/init.c b/examples/quota_watermar= k/qw/init.c > index 19164385a..5a0f64f45 100644 > --- a/examples/quota_watermark/qw/init.c > +++ b/examples/quota_watermark/qw/init.c > @@ -24,7 +24,6 @@ > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_DCB_NONE, > diff --git a/examples/tep_termination/vxlan_setup.c b/examples/tep_termin= ation/vxlan_setup.c > index b99ab97d3..ad7fbe9c6 100644 > --- a/examples/tep_termination/vxlan_setup.c > +++ b/examples/tep_termination/vxlan_setup.c > @@ -69,7 +69,6 @@ uint8_t tep_filter_type[] =3D {RTE_TUNNEL_FILTER_IMAC_T= ENID, > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/examples/vhost/main.c b/examples/vhost/main.c > index 2175c1186..97d196479 100644 > --- a/examples/vhost/main.c > +++ b/examples/vhost/main.c > @@ -121,8 +121,7 @@ static struct rte_eth_conf vmdq_conf_default =3D { > * this fixes bug of ipv4 forwarding in guest can't > * forward pakets from one virtio dev to another virtio dev. > */ > - .offloads =3D (DEV_RX_OFFLOAD_CRC_STRIP | > - DEV_RX_OFFLOAD_VLAN_STRIP), > + .offloads =3D DEV_RX_OFFLOAD_VLAN_STRIP, > }, > > .txmode =3D { > diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethde= v.c > index 3f8de9341..04ee149f9 100644 > --- a/lib/librte_ethdev/rte_ethdev.c > +++ b/lib/librte_ethdev/rte_ethdev.c > @@ -122,7 +122,6 @@ static const struct { > RTE_RX_OFFLOAD_BIT2STR(VLAN_FILTER), > RTE_RX_OFFLOAD_BIT2STR(VLAN_EXTEND), > RTE_RX_OFFLOAD_BIT2STR(JUMBO_FRAME), > - RTE_RX_OFFLOAD_BIT2STR(CRC_STRIP), > RTE_RX_OFFLOAD_BIT2STR(SCATTER), > RTE_RX_OFFLOAD_BIT2STR(TIMESTAMP), > RTE_RX_OFFLOAD_BIT2STR(SECURITY), > @@ -1147,14 +1146,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t n= b_rx_q, uint16_t nb_tx_q, > return -EINVAL; > } > > - if ((local_conf.rxmode.offloads & DEV_RX_OFFLOAD_CRC_STRIP) && > - (local_conf.rxmode.offloads & DEV_RX_OFFLOAD_KEEP_CRC)) { > - RTE_ETHDEV_LOG(ERR, > - "Port id=3D%u not allowed to set both CRC STRIP and KEEP CRC offload = flags\n", > - port_id); > - return -EINVAL; > - } > - > /* Check that device supports requested rss hash functions. */ > if ((dev_info.flow_type_rss_offloads | > dev_conf->rx_adv_conf.rss_conf.rss_hf) !=3D > diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethde= v.h > index fa2812bca..44b4fb33f 100644 > --- a/lib/librte_ethdev/rte_ethdev.h > +++ b/lib/librte_ethdev/rte_ethdev.h > @@ -890,16 +890,11 @@ struct rte_eth_conf { > #define DEV_RX_OFFLOAD_VLAN_FILTER 0x00000200 > #define DEV_RX_OFFLOAD_VLAN_EXTEND 0x00000400 > #define DEV_RX_OFFLOAD_JUMBO_FRAME 0x00000800 > -#define DEV_RX_OFFLOAD_CRC_STRIP 0x00001000 > #define DEV_RX_OFFLOAD_SCATTER 0x00002000 > #define DEV_RX_OFFLOAD_TIMESTAMP 0x00004000 > #define DEV_RX_OFFLOAD_SECURITY 0x00008000 > - > -/** > - * Invalid to set both DEV_RX_OFFLOAD_CRC_STRIP and DEV_RX_OFFLOAD_KEEP_= CRC > - * No DEV_RX_OFFLOAD_CRC_STRIP flag means keep CRC > - */ > #define DEV_RX_OFFLOAD_KEEP_CRC 0x00010000 > + > #define DEV_RX_OFFLOAD_CHECKSUM (DEV_RX_OFFLOAD_IPV4_CKSUM | \ > DEV_RX_OFFLOAD_UDP_CKSUM | \ > DEV_RX_OFFLOAD_TCP_CKSUM) > diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rt= e_ethdev_driver.h > index c6d9bc1a3..f158462a0 100644 > --- a/lib/librte_ethdev/rte_ethdev_driver.h > +++ b/lib/librte_ethdev/rte_ethdev_driver.h > @@ -324,32 +324,6 @@ typedef int (*ethdev_uninit_t)(struct rte_eth_dev *e= thdev); > int __rte_experimental > rte_eth_dev_destroy(struct rte_eth_dev *ethdev, ethdev_uninit_t ethdev_u= ninit); > > -/** > - * PMD helper function to check if keeping CRC is requested > - * > - * @note > - * When CRC_STRIP offload flag is removed and default behavior switch to > - * strip CRC, as planned, this helper function is not that useful and wi= ll be > - * removed. In PMDs this function will be replaced with check: > - * if (offloads & DEV_RX_OFFLOAD_KEEP_CRC) > - * > - * @param rx_offloads > - * offload bits to be applied > - * > - * @return > - * Return positive if keeping CRC is requested, > - * zero if stripping CRC is requested > - */ > -static inline int > -rte_eth_dev_must_keep_crc(uint64_t rx_offloads) > -{ > - if (rx_offloads & DEV_RX_OFFLOAD_CRC_STRIP) > - return 0; > - > - /* no KEEP_CRC or CRC_STRIP offload flags means keep CRC */ > - return 1; > -} > - > #ifdef __cplusplus > } > #endif > diff --git a/test/test-pipeline/init.c b/test/test-pipeline/init.c > index f33216c90..b75688a87 100644 > --- a/test/test-pipeline/init.c > +++ b/test/test-pipeline/init.c > @@ -70,7 +70,7 @@ struct app_params app =3D { > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CHECKSUM | DEV_RX_OFFLOAD_CRC_STRIP, > + .offloads =3D DEV_RX_OFFLOAD_CHECKSUM, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/test/test/test_kni.c b/test/test/test_kni.c > index 56c98513a..cf64c0b27 100644 > --- a/test/test/test_kni.c > +++ b/test/test/test_kni.c > @@ -70,9 +70,6 @@ static const struct rte_eth_txconf tx_conf =3D { > }; > > static const struct rte_eth_conf port_conf =3D { > - .rxmode =3D { > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > - }, > .txmode =3D { > .mq_mode =3D ETH_DCB_NONE, > }, > diff --git a/test/test/test_link_bonding_mode4.c b/test/test/test_link_bo= nding_mode4.c > index 9163f6313..e539f078d 100644 > --- a/test/test/test_link_bonding_mode4.c > +++ b/test/test/test_link_bonding_mode4.c > @@ -110,7 +110,6 @@ static struct rte_eth_conf default_pmd_conf =3D { > .mq_mode =3D ETH_MQ_RX_NONE, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/test/test/test_pmd_perf.c b/test/test/test_pmd_perf.c > index 4549965fc..f5095c87d 100644 > --- a/test/test/test_pmd_perf.c > +++ b/test/test/test_pmd_perf.c > @@ -65,7 +65,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_NONE, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > diff --git a/test/test/virtual_pmd.c b/test/test/virtual_pmd.c > index 591b30989..f8ddc2db8 100644 > --- a/test/test/virtual_pmd.c > +++ b/test/test/virtual_pmd.c > @@ -91,7 +91,6 @@ virtual_ethdev_info_get(struct rte_eth_dev *dev __rte_u= nused, > dev_info->max_tx_queues =3D (uint16_t)512; > > dev_info->min_rx_bufsize =3D 0; > - dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_CRC_STRIP; > } > > static int > -- > 2.17.1 > -- - Tomasz Duszy=C5=84ski