mbox series

[v4,00/28] Support ingress policer

Message ID 20211011155057.302142-1-skori@marvell.com (mailing list archive)
Headers
Series Support ingress policer |

Message

Sunil Kumar Kori Oct. 11, 2021, 3:50 p.m. UTC
  From: Sunil Kumar Kori <skori@marvell.com>

Series adds support for ingress meter for CN10K platform. Series is divided
in following two logical implementation:

 - common/cnxk: It implements RoC APIs over MBOX interfaces which are by network drivers.

	common/cnxk: update policer MBOX APIs and HW definitions
	common/cnxk: support RoC API to get level to index
	common/cnxk: support RoC API to get profile count
	common/cnxk: support RoC API to alloc bandwidth profiles
	common/cnxk: support RoC API to free bandwidth profiles
	common/cnxk: support RoC API to configure bandwidth profile
	common/cnxk: support RoC API to toggle profile state
	common/cnxk: support RoC API to dump bandwidth profile
	common/cnxk: support RoC API to setup precolor table
	common/cnxk: support RoC API to connect bandwidth profiles
	common/cnxk: support RoC API to get stats to index
	common/cnxk: support RoC API to read profile statistics
	common/cnxk: support RoC API to reset profile stats
	common/cnxk: support meter in action list

 - net/cnxk: It implenets ethdev ops for various metering operations.
	For cn9k platform, ops are registerded as NULL because cn9k does
	not support metering.

	net/cnxk: support meter ops get API
	net/cnxk: support ops to get meter capabilities
	net/cnxk: support ops to create meter profile
	net/cnxk: support ops to delete meter profile
	net/cnxk: support ops to validate meter policy
	net/cnxk: support ops to create meter policy
	net/cnxk: support ops to delete meter policy
	net/cnxk: support ops to create meter
	net/cnxk: support ops to delete meter
	net/cnxk: support ops to enable/disable meter
	net/cnxk: support ops to update precolor DSCP table
	net/cnxk: support ops to read/update meter stats
	net/cnxk: support meter action to flow create
	net/cnxk: support meter action to flow destroy

 doc/guides/nics/features/cnxk.ini      |    1 +
 doc/guides/nics/features/cnxk_vf.ini   |    1 +
 doc/guides/rel_notes/release_21_11.rst |    1 +
 drivers/common/cnxk/hw/nix.h           |   62 +-
 drivers/common/cnxk/meson.build        |    1 +
 drivers/common/cnxk/roc_mbox.h         |   34 +-
 drivers/common/cnxk/roc_nix.h          |  164 +++
 drivers/common/cnxk/roc_nix_bpf.c      | 1149 ++++++++++++++++++++
 drivers/common/cnxk/roc_nix_priv.h     |    1 +
 drivers/common/cnxk/roc_npc.c          |    7 +
 drivers/common/cnxk/roc_npc.h          |    8 +-
 drivers/common/cnxk/roc_platform.h     |    1 +
 drivers/common/cnxk/roc_utils.c        |    3 +
 drivers/common/cnxk/version.map        |   15 +
 drivers/net/cnxk/cn10k_rte_flow.c      |  193 +++-
 drivers/net/cnxk/cnxk_ethdev.c         |   57 +
 drivers/net/cnxk/cnxk_ethdev.h         |   92 ++
 drivers/net/cnxk/cnxk_ethdev_mtr.c     | 1341 ++++++++++++++++++++++++
 drivers/net/cnxk/cnxk_rte_flow.c       |    4 +
 drivers/net/cnxk/meson.build           |    1 +
 20 files changed, 3129 insertions(+), 7 deletions(-)
 create mode 100644 drivers/common/cnxk/roc_nix_bpf.c
 create mode 100644 drivers/net/cnxk/cnxk_ethdev_mtr.c
  

Comments

Jerin Jacob Oct. 19, 2021, 2:30 p.m. UTC | #1
On Mon, Oct 11, 2021 at 9:21 PM <skori@marvell.com> wrote:
>
> From: Sunil Kumar Kori <skori@marvell.com>
>


Series Acked-by: Jerin Jacob <jerinj@marvell.com>
Series applied to dpdk-next-net-mrvl/for-dpdk-main. Thanks.

> Series adds support for ingress meter for CN10K platform. Series is divided
> in following two logical implementation:
>
>  - common/cnxk: It implements RoC APIs over MBOX interfaces which are by network drivers.
>
>         common/cnxk: update policer MBOX APIs and HW definitions
>         common/cnxk: support RoC API to get level to index
>         common/cnxk: support RoC API to get profile count
>         common/cnxk: support RoC API to alloc bandwidth profiles
>         common/cnxk: support RoC API to free bandwidth profiles
>         common/cnxk: support RoC API to configure bandwidth profile
>         common/cnxk: support RoC API to toggle profile state
>         common/cnxk: support RoC API to dump bandwidth profile
>         common/cnxk: support RoC API to setup precolor table
>         common/cnxk: support RoC API to connect bandwidth profiles
>         common/cnxk: support RoC API to get stats to index
>         common/cnxk: support RoC API to read profile statistics
>         common/cnxk: support RoC API to reset profile stats
>         common/cnxk: support meter in action list
>
>  - net/cnxk: It implenets ethdev ops for various metering operations.
>         For cn9k platform, ops are registerded as NULL because cn9k does
>         not support metering.
>
>         net/cnxk: support meter ops get API
>         net/cnxk: support ops to get meter capabilities
>         net/cnxk: support ops to create meter profile
>         net/cnxk: support ops to delete meter profile
>         net/cnxk: support ops to validate meter policy
>         net/cnxk: support ops to create meter policy
>         net/cnxk: support ops to delete meter policy
>         net/cnxk: support ops to create meter
>         net/cnxk: support ops to delete meter
>         net/cnxk: support ops to enable/disable meter
>         net/cnxk: support ops to update precolor DSCP table
>         net/cnxk: support ops to read/update meter stats
>         net/cnxk: support meter action to flow create
>         net/cnxk: support meter action to flow destroy
>
>  doc/guides/nics/features/cnxk.ini      |    1 +
>  doc/guides/nics/features/cnxk_vf.ini   |    1 +
>  doc/guides/rel_notes/release_21_11.rst |    1 +
>  drivers/common/cnxk/hw/nix.h           |   62 +-
>  drivers/common/cnxk/meson.build        |    1 +
>  drivers/common/cnxk/roc_mbox.h         |   34 +-
>  drivers/common/cnxk/roc_nix.h          |  164 +++
>  drivers/common/cnxk/roc_nix_bpf.c      | 1149 ++++++++++++++++++++
>  drivers/common/cnxk/roc_nix_priv.h     |    1 +
>  drivers/common/cnxk/roc_npc.c          |    7 +
>  drivers/common/cnxk/roc_npc.h          |    8 +-
>  drivers/common/cnxk/roc_platform.h     |    1 +
>  drivers/common/cnxk/roc_utils.c        |    3 +
>  drivers/common/cnxk/version.map        |   15 +
>  drivers/net/cnxk/cn10k_rte_flow.c      |  193 +++-
>  drivers/net/cnxk/cnxk_ethdev.c         |   57 +
>  drivers/net/cnxk/cnxk_ethdev.h         |   92 ++
>  drivers/net/cnxk/cnxk_ethdev_mtr.c     | 1341 ++++++++++++++++++++++++
>  drivers/net/cnxk/cnxk_rte_flow.c       |    4 +
>  drivers/net/cnxk/meson.build           |    1 +
>  20 files changed, 3129 insertions(+), 7 deletions(-)
>  create mode 100644 drivers/common/cnxk/roc_nix_bpf.c
>  create mode 100644 drivers/net/cnxk/cnxk_ethdev_mtr.c
>
> --
> 2.25.1
>
  
Ferruh Yigit Oct. 20, 2021, 1:28 p.m. UTC | #2
On 10/19/2021 3:30 PM, Jerin Jacob wrote:
> On Mon, Oct 11, 2021 at 9:21 PM <skori@marvell.com> wrote:
>>
>> From: Sunil Kumar Kori <skori@marvell.com>
>>
> 
> 
> Series Acked-by: Jerin Jacob <jerinj@marvell.com>
> Series applied to dpdk-next-net-mrvl/for-dpdk-main. Thanks.
> 

For record, v5 of this patch seems merged according patchwork:
https://patches.dpdk.org/project/dpdk/list/?series=19543&state=*

>> Series adds support for ingress meter for CN10K platform. Series is divided
>> in following two logical implementation:
>>
>>   - common/cnxk: It implements RoC APIs over MBOX interfaces which are by network drivers.
>>
>>          common/cnxk: update policer MBOX APIs and HW definitions
>>          common/cnxk: support RoC API to get level to index
>>          common/cnxk: support RoC API to get profile count
>>          common/cnxk: support RoC API to alloc bandwidth profiles
>>          common/cnxk: support RoC API to free bandwidth profiles
>>          common/cnxk: support RoC API to configure bandwidth profile
>>          common/cnxk: support RoC API to toggle profile state
>>          common/cnxk: support RoC API to dump bandwidth profile
>>          common/cnxk: support RoC API to setup precolor table
>>          common/cnxk: support RoC API to connect bandwidth profiles
>>          common/cnxk: support RoC API to get stats to index
>>          common/cnxk: support RoC API to read profile statistics
>>          common/cnxk: support RoC API to reset profile stats
>>          common/cnxk: support meter in action list
>>
>>   - net/cnxk: It implenets ethdev ops for various metering operations.
>>          For cn9k platform, ops are registerded as NULL because cn9k does
>>          not support metering.
>>
>>          net/cnxk: support meter ops get API
>>          net/cnxk: support ops to get meter capabilities
>>          net/cnxk: support ops to create meter profile
>>          net/cnxk: support ops to delete meter profile
>>          net/cnxk: support ops to validate meter policy
>>          net/cnxk: support ops to create meter policy
>>          net/cnxk: support ops to delete meter policy
>>          net/cnxk: support ops to create meter
>>          net/cnxk: support ops to delete meter
>>          net/cnxk: support ops to enable/disable meter
>>          net/cnxk: support ops to update precolor DSCP table
>>          net/cnxk: support ops to read/update meter stats
>>          net/cnxk: support meter action to flow create
>>          net/cnxk: support meter action to flow destroy
>>
>>   doc/guides/nics/features/cnxk.ini      |    1 +
>>   doc/guides/nics/features/cnxk_vf.ini   |    1 +
>>   doc/guides/rel_notes/release_21_11.rst |    1 +
>>   drivers/common/cnxk/hw/nix.h           |   62 +-
>>   drivers/common/cnxk/meson.build        |    1 +
>>   drivers/common/cnxk/roc_mbox.h         |   34 +-
>>   drivers/common/cnxk/roc_nix.h          |  164 +++
>>   drivers/common/cnxk/roc_nix_bpf.c      | 1149 ++++++++++++++++++++
>>   drivers/common/cnxk/roc_nix_priv.h     |    1 +
>>   drivers/common/cnxk/roc_npc.c          |    7 +
>>   drivers/common/cnxk/roc_npc.h          |    8 +-
>>   drivers/common/cnxk/roc_platform.h     |    1 +
>>   drivers/common/cnxk/roc_utils.c        |    3 +
>>   drivers/common/cnxk/version.map        |   15 +
>>   drivers/net/cnxk/cn10k_rte_flow.c      |  193 +++-
>>   drivers/net/cnxk/cnxk_ethdev.c         |   57 +
>>   drivers/net/cnxk/cnxk_ethdev.h         |   92 ++
>>   drivers/net/cnxk/cnxk_ethdev_mtr.c     | 1341 ++++++++++++++++++++++++
>>   drivers/net/cnxk/cnxk_rte_flow.c       |    4 +
>>   drivers/net/cnxk/meson.build           |    1 +
>>   20 files changed, 3129 insertions(+), 7 deletions(-)
>>   create mode 100644 drivers/common/cnxk/roc_nix_bpf.c
>>   create mode 100644 drivers/net/cnxk/cnxk_ethdev_mtr.c
>>
>> --
>> 2.25.1
>>