[v7,13/21] net/cpfl: support Rx offloading

Message ID 20230216003010.3439881-14-mingxia.liu@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series add support for cpfl PMD in DPDK |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Liu, Mingxia Feb. 16, 2023, 12:30 a.m. UTC
  Add Rx offloading support:
 - support CHKSUM and RSS offload for split queue model
 - support CHKSUM offload for single queue model

Signed-off-by: Mingxia Liu <mingxia.liu@intel.com>
---
 doc/guides/nics/features/cpfl.ini | 2 ++
 drivers/net/cpfl/cpfl_ethdev.c    | 6 ++++++
 2 files changed, 8 insertions(+)
  

Comments

Ferruh Yigit Feb. 27, 2023, 9:50 p.m. UTC | #1
On 2/16/2023 12:30 AM, Mingxia Liu wrote:
> Add Rx offloading support:
>  - support CHKSUM and RSS offload for split queue model
>  - support CHKSUM offload for single queue model
> 
> Signed-off-by: Mingxia Liu <mingxia.liu@intel.com>
> ---
>  doc/guides/nics/features/cpfl.ini | 2 ++
>  drivers/net/cpfl/cpfl_ethdev.c    | 6 ++++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/doc/guides/nics/features/cpfl.ini b/doc/guides/nics/features/cpfl.ini
> index 470ba81579..ee5948f444 100644
> --- a/doc/guides/nics/features/cpfl.ini
> +++ b/doc/guides/nics/features/cpfl.ini
> @@ -8,6 +8,8 @@
>  ;
>  [Features]
>  MTU update           = Y
> +L3 checksum offload  = P
> +L4 checksum offload  = P
>  Linux                = Y
>  x86-32               = Y
>  x86-64               = Y
> diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c
> index fb15004e48..d0f90b7d2c 100644
> --- a/drivers/net/cpfl/cpfl_ethdev.c
> +++ b/drivers/net/cpfl/cpfl_ethdev.c
> @@ -99,6 +99,12 @@ cpfl_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>  
>  	dev_info->flow_type_rss_offloads = CPFL_RSS_OFFLOAD_ALL;
>  
> +	dev_info->rx_offload_capa =
> +		RTE_ETH_RX_OFFLOAD_IPV4_CKSUM           |
> +		RTE_ETH_RX_OFFLOAD_UDP_CKSUM            |
> +		RTE_ETH_RX_OFFLOAD_TCP_CKSUM            |
> +		RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM;
> +

Just to confirm, are these capabilities are already supported in the
data path functions?

Same for Tx ones in next patch.
  
Liu, Mingxia Feb. 28, 2023, 5:48 a.m. UTC | #2
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@amd.com>
> Sent: Tuesday, February 28, 2023 5:50 AM
> To: Liu, Mingxia <mingxia.liu@intel.com>; dev@dpdk.org; Xing, Beilei
> <beilei.xing@intel.com>; Zhang, Yuying <yuying.zhang@intel.com>
> Subject: Re: [PATCH v7 13/21] net/cpfl: support Rx offloading
> 
> On 2/16/2023 12:30 AM, Mingxia Liu wrote:
> > Add Rx offloading support:
> >  - support CHKSUM and RSS offload for split queue model
> >  - support CHKSUM offload for single queue model
> >
> > Signed-off-by: Mingxia Liu <mingxia.liu@intel.com>
> > ---
> >  doc/guides/nics/features/cpfl.ini | 2 ++
> >  drivers/net/cpfl/cpfl_ethdev.c    | 6 ++++++
> >  2 files changed, 8 insertions(+)
> >
> > diff --git a/doc/guides/nics/features/cpfl.ini
> > b/doc/guides/nics/features/cpfl.ini
> > index 470ba81579..ee5948f444 100644
> > --- a/doc/guides/nics/features/cpfl.ini
> > +++ b/doc/guides/nics/features/cpfl.ini
> > @@ -8,6 +8,8 @@
> >  ;
> >  [Features]
> >  MTU update           = Y
> > +L3 checksum offload  = P
> > +L4 checksum offload  = P
> >  Linux                = Y
> >  x86-32               = Y
> >  x86-64               = Y
> > diff --git a/drivers/net/cpfl/cpfl_ethdev.c
> > b/drivers/net/cpfl/cpfl_ethdev.c index fb15004e48..d0f90b7d2c 100644
> > --- a/drivers/net/cpfl/cpfl_ethdev.c
> > +++ b/drivers/net/cpfl/cpfl_ethdev.c
> > @@ -99,6 +99,12 @@ cpfl_dev_info_get(struct rte_eth_dev *dev, struct
> > rte_eth_dev_info *dev_info)
> >
> >  	dev_info->flow_type_rss_offloads = CPFL_RSS_OFFLOAD_ALL;
> >
> > +	dev_info->rx_offload_capa =
> > +		RTE_ETH_RX_OFFLOAD_IPV4_CKSUM           |
> > +		RTE_ETH_RX_OFFLOAD_UDP_CKSUM            |
> > +		RTE_ETH_RX_OFFLOAD_TCP_CKSUM            |
> > +		RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM;
> > +
> 
> Just to confirm, are these capabilities are already supported in the data
> path functions?
> 
> Same for Tx ones in next patch.
[Liu, Mingxia] sure, they are all already supported.
  

Patch

diff --git a/doc/guides/nics/features/cpfl.ini b/doc/guides/nics/features/cpfl.ini
index 470ba81579..ee5948f444 100644
--- a/doc/guides/nics/features/cpfl.ini
+++ b/doc/guides/nics/features/cpfl.ini
@@ -8,6 +8,8 @@ 
 ;
 [Features]
 MTU update           = Y
+L3 checksum offload  = P
+L4 checksum offload  = P
 Linux                = Y
 x86-32               = Y
 x86-64               = Y
diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c
index fb15004e48..d0f90b7d2c 100644
--- a/drivers/net/cpfl/cpfl_ethdev.c
+++ b/drivers/net/cpfl/cpfl_ethdev.c
@@ -99,6 +99,12 @@  cpfl_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 
 	dev_info->flow_type_rss_offloads = CPFL_RSS_OFFLOAD_ALL;
 
+	dev_info->rx_offload_capa =
+		RTE_ETH_RX_OFFLOAD_IPV4_CKSUM           |
+		RTE_ETH_RX_OFFLOAD_UDP_CKSUM            |
+		RTE_ETH_RX_OFFLOAD_TCP_CKSUM            |
+		RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM;
+
 	dev_info->tx_offload_capa = RTE_ETH_TX_OFFLOAD_MULTI_SEGS;
 
 	dev_info->default_txconf = (struct rte_eth_txconf) {