DPDK-dev Archive on lore.kernel.org
 help / color / Atom feed
* [dpdk-dev]  [PATCH  0/7] ethdev: add new Rx offload flags
@ 2019-08-16  5:55 pbhagavatula
  2019-08-16  5:55 ` [dpdk-dev] [PATCH 1/7] ethdev: add set ptype function pbhagavatula
                   ` (7 more replies)
  0 siblings, 8 replies; 32+ messages in thread
From: pbhagavatula @ 2019-08-16  5:55 UTC (permalink / raw)
  To: jerinj, ferruh.yigit; +Cc: dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Add new Rx offload flags `DEV_RX_OFFLOAD_RSS_HASH` and
`DEV_RX_OFFLOAD_FLOW_MARK`. These flags can be used to enable/disable PMD
writes to rte_mbuf fields `hash.rss` and `hash.fdir.hi` and also
`ol_flags:PKT_RX_RSS` and `ol_flags:PKT_RX_FDIR`.

Add new packet type set function `rte_eth_dev_set_supported_ptypes`, allows
application to inform PMDs about the packet types it is interested in.
Based on ptypes requested by application PMDs can optimize the Rx path.

For example, if a given PMD doesn't support any packet types that the
application is interested in then the application can disable[1] writes
to `mbuf.packet_type` done by the PMD and use a software ptype parser.
	[1] rte_eth_dev_set_supported_ptypes(*port_id*, 0);


Pavan Nikhilesh (7):
  ethdev: add set ptype function
  ethdev: add mbuf RSS update as a offload
  ethdev: add flow action type update as an offload
  net: update Rx RSS hash offload capabilities
  net: update Rx flow action offload capabilities
  net: add ptype set default functionality
  examples/eventdev_pipeline: add new Rx RSS hash offload

 doc/guides/nics/features.rst            | 24 ++++++++++++++++++---
 drivers/net/atlantic/atl_ethdev.c       | 12 +++++++++++
 drivers/net/bnxt/bnxt_ethdev.c          | 14 ++++++++++++-
 drivers/net/cxgbe/cxgbe.h               |  3 ++-
 drivers/net/cxgbe/cxgbe_ethdev.c        | 10 +++++++++
 drivers/net/dpaa/dpaa_ethdev.c          | 13 +++++++++++-
 drivers/net/dpaa2/dpaa2_ethdev.c        | 13 +++++++++++-
 drivers/net/e1000/igb_ethdev.c          | 13 ++++++++++++
 drivers/net/e1000/igb_rxtx.c            |  3 ++-
 drivers/net/enetc/enetc_ethdev.c        | 10 +++++++++
 drivers/net/enic/enic_ethdev.c          | 10 +++++++++
 drivers/net/enic/enic_res.c             |  4 +++-
 drivers/net/failsafe/failsafe_ops.c     | 10 +++++++++
 drivers/net/fm10k/fm10k_ethdev.c        | 13 +++++++++++-
 drivers/net/hinic/hinic_pmd_ethdev.c    |  3 ++-
 drivers/net/i40e/i40e_ethdev.c          |  5 ++++-
 drivers/net/i40e/i40e_ethdev_vf.c       |  1 +
 drivers/net/i40e/i40e_rxtx.c            |  9 ++++++++
 drivers/net/i40e/i40e_rxtx.h            |  1 +
 drivers/net/iavf/iavf_ethdev.c          | 16 +++++++++++++-
 drivers/net/ice/ice_ethdev.c            |  5 ++++-
 drivers/net/ice/ice_rxtx.c              |  9 ++++++++
 drivers/net/ice/ice_rxtx.h              |  1 +
 drivers/net/ixgbe/ixgbe_ethdev.c        | 13 ++++++++++++
 drivers/net/ixgbe/ixgbe_rxtx.c          |  4 +++-
 drivers/net/liquidio/lio_ethdev.c       |  3 ++-
 drivers/net/mlx4/mlx4.c                 |  1 +
 drivers/net/mlx4/mlx4.h                 |  1 +
 drivers/net/mlx4/mlx4_ethdev.c          | 21 +++++++++++++++++++
 drivers/net/mlx4/mlx4_rxq.c             |  3 ++-
 drivers/net/mlx5/mlx5.c                 |  2 ++
 drivers/net/mlx5/mlx5.h                 |  1 +
 drivers/net/mlx5/mlx5_ethdev.c          | 21 +++++++++++++++++++
 drivers/net/mlx5/mlx5_rxq.c             |  4 +++-
 drivers/net/mvneta/mvneta_ethdev.c      | 22 +++++++++++++++++++
 drivers/net/mvpp2/mrvl_ethdev.c         | 22 +++++++++++++++++++
 drivers/net/netvsc/hn_ethdev.c          |  3 ++-
 drivers/net/netvsc/hn_rndis.c           |  3 ++-
 drivers/net/netvsc/hn_var.h             |  3 ++-
 drivers/net/netvsc/hn_vf.c              | 10 ++++++++-
 drivers/net/nfp/nfp_net.c               | 13 +++++++++++-
 drivers/net/octeontx/octeontx_ethdev.c  | 10 +++++++++
 drivers/net/octeontx2/otx2_ethdev.c     |  4 +++-
 drivers/net/octeontx2/otx2_ethdev.h     | 17 ++++++++-------
 drivers/net/octeontx2/otx2_flow_parse.c |  3 ++-
 drivers/net/octeontx2/otx2_lookup.c     |  9 ++++++++
 drivers/net/qede/qede_ethdev.c          | 14 ++++++++++++-
 drivers/net/sfc/sfc_ethdev.c            | 11 ++++++++++
 drivers/net/sfc/sfc_rx.c                |  4 +++-
 drivers/net/tap/rte_eth_tap.c           | 10 +++++++++
 drivers/net/thunderx/nicvf_ethdev.c     | 10 +++++++++
 drivers/net/thunderx/nicvf_ethdev.h     |  3 ++-
 drivers/net/vmxnet3/vmxnet3_ethdev.c    | 15 ++++++++++++-
 examples/eventdev_pipeline/main.c       |  4 ++++
 lib/librte_ethdev/rte_ethdev.c          | 28 +++++++++++++++++++++++++
 lib/librte_ethdev/rte_ethdev.h          | 19 +++++++++++++++++
 lib/librte_ethdev/rte_ethdev_core.h     |  6 ++++++
 57 files changed, 483 insertions(+), 36 deletions(-)

--
2.22.0


^ permalink raw reply	[flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [PATCH 5/7] net: update Rx flow action offload capabilities
@ 2019-08-17 12:31 Pavan Nikhilesh Bhagavatula
  0 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-08-17 12:31 UTC (permalink / raw)
  To: Andrew Rybchenko, Jerin Jacob Kollanukkaran, ferruh.yigit,
	Ajit Khaparde, Somnath Kotur, John Daley, Hyong Youb Kim,
	Beilei Xing, Qi Zhang, Jingjing Wu, Wenzhuo Lu, Qiming Yang,
	Konstantin Ananyev, Shahaf Shuler, Yongseok Koh,
	Viacheslav Ovsiienko, Nithin Kumar Dabilpuram,
	Kiran Kumar Kokkilagadda
  Cc: dev

>Prefix "net: " is typically used for lib/librte_net. It should be
>"drivers/net: " here.
>
>"Rx flow action offload" sounds strange. May be "Rx flow mark offload".
>
>On 8/16/19 8:55 AM, pbhagavatula@marvell.com wrote:
>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>
>> Add DEV_RX_OFFLOAD_FLOW_MARK flag for all supported NICs.
>
>"all supported NICs" sounds wrong here as well.
>It sounds like all NICs supported by DPDK.
>
>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
>[snip]
>
>> diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
>> index 695580b22..0f842e9e9 100644
>> --- a/drivers/net/sfc/sfc_rx.c
>> +++ b/drivers/net/sfc/sfc_rx.c
>> @@ -619,7 +619,8 @@ struct sfc_dp_rx sfc_efx_rx = {
>>   	.features		= SFC_DP_RX_FEAT_INTR,
>>   	.dev_offload_capa	= DEV_RX_OFFLOAD_CHECKSUM,
>>   	.queue_offload_capa	= DEV_RX_OFFLOAD_SCATTER |
>> -				  DEV_RX_OFFLOAD_RSS_HASH,
>> +				  DEV_RX_OFFLOAD_RSS_HASH |
>> +				  DEV_RX_OFFLOAD_FLOW_MARK,
>>   	.qsize_up_rings		= sfc_efx_rx_qsize_up_rings,
>>   	.qcreate		= sfc_efx_rx_qcreate,
>>   	.qdestroy		= sfc_efx_rx_qdestroy,
>
>In the case of net/sfc it is supported by sfc_ef10_essb_rx only
>(drivers/net/sfc/sfc_ef10_essb_rx.c).

Will fix in v2.

Pavan.

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, back to index

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-16  5:55 [dpdk-dev] [PATCH 0/7] ethdev: add new Rx offload flags pbhagavatula
2019-08-16  5:55 ` [dpdk-dev] [PATCH 1/7] ethdev: add set ptype function pbhagavatula
2019-08-16  8:22   ` Andrew Rybchenko
2019-08-17 16:27     ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2019-08-16  5:55 ` [dpdk-dev] [PATCH 2/7] ethdev: add mbuf RSS update as a offload pbhagavatula
2019-08-16  7:48   ` Andrew Rybchenko
2019-08-17 11:47     ` Pavan Nikhilesh Bhagavatula
2019-08-18  4:52     ` Shahaf Shuler
2019-08-18  5:38       ` Andrew Rybchenko
2019-08-18  6:18         ` Shahaf Shuler
2019-08-18  7:00           ` Andrew Rybchenko
2019-08-18 12:11             ` Shahaf Shuler
2019-08-16  5:55 ` [dpdk-dev] [PATCH 3/7] ethdev: add flow action type update as an offload pbhagavatula
2019-08-16  8:05   ` Andrew Rybchenko
2019-08-17 14:23     ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2019-08-18  9:46       ` Andrew Rybchenko
2019-08-18  4:59     ` [dpdk-dev] " Shahaf Shuler
2019-08-18  5:57       ` Andrew Rybchenko
2019-08-18  6:20         ` Shahaf Shuler
2019-08-18  7:08           ` Andrew Rybchenko
2019-08-16  5:55 ` [dpdk-dev] [PATCH 4/7] net: update Rx RSS hash offload capabilities pbhagavatula
2019-08-16  7:49   ` Andrew Rybchenko
2019-08-17 12:26     ` Pavan Nikhilesh Bhagavatula
2019-08-16  5:55 ` [dpdk-dev] [PATCH 5/7] net: update Rx flow action " pbhagavatula
2019-08-16  7:50   ` Andrew Rybchenko
2019-08-16  5:55 ` [dpdk-dev] [PATCH 6/7] net: add ptype set default functionality pbhagavatula
2019-08-16  8:30   ` Andrew Rybchenko
2019-08-17 17:24     ` Pavan Nikhilesh Bhagavatula
2019-08-16  5:55 ` [dpdk-dev] [PATCH 7/7] examples/eventdev_pipeline: add new Rx RSS hash offload pbhagavatula
2019-08-16  6:01   ` Jerin Jacob Kollanukkaran
2019-08-16  6:02 ` [dpdk-dev] [PATCH 0/7] ethdev: add new Rx offload flags Jerin Jacob Kollanukkaran
2019-08-17 12:31 [dpdk-dev] [PATCH 5/7] net: update Rx flow action offload capabilities Pavan Nikhilesh Bhagavatula

DPDK-dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \
		dev@dpdk.org
	public-inbox-index dpdk-dev

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git