[v2,00/11] Add basic flow support for corenic firmware

Message ID 20231205025457.1067372-1-chaoyong.he@corigine.com (mailing list archive)
Headers
Series Add basic flow support for corenic firmware |

Message

Chaoyong He Dec. 5, 2023, 2:54 a.m. UTC
  Add the very basic rte_flow support for corenic firmware.

---
v2:
* Update the 'nfp.ini' document.
* Rebase to the latest main branch.
---

Chaoyong He (11):
  net/nfp: move some source files
  net/nfp: add the structures and functions for flow offload
  net/nfp: add the control message channel
  net/nfp: support flow API for CoreNIC firmware
  net/nfp: support Ethernet flow item
  net/nfp: support drop flow action
  net/nfp: support IPv4 flow item
  net/nfp: support IPv6 flow item
  net/nfp: support TCP/UDP/SCTP flow items
  net/nfp: support MARK flow action
  net/nfp: support QUEUE flow action

 doc/guides/nics/features/nfp.ini              |    2 +
 drivers/common/nfp/nfp_common_ctrl.h          |    2 +
 drivers/net/nfp/flower/nfp_conntrack.h        |    2 +-
 drivers/net/nfp/flower/nfp_flower_cmsg.h      |    2 +-
 .../{nfp_flow.c => flower/nfp_flower_flow.c}  |    4 +-
 .../{nfp_flow.h => flower/nfp_flower_flow.h}  |   10 +-
 .../net/nfp/flower/nfp_flower_representor.c   |    2 +-
 drivers/net/nfp/meson.build                   |    4 +-
 drivers/net/nfp/nfp_ethdev.c                  |   28 +-
 drivers/net/nfp/nfp_net_cmsg.c                |   66 ++
 drivers/net/nfp/nfp_net_cmsg.h                |  176 +++
 drivers/net/nfp/nfp_net_common.h              |   12 +
 drivers/net/nfp/nfp_net_ctrl.h                |    1 +
 drivers/net/nfp/nfp_net_flow.c                | 1017 +++++++++++++++++
 drivers/net/nfp/nfp_net_flow.h                |   30 +
 drivers/net/nfp/nfp_rxtx.c                    |   18 +
 16 files changed, 1359 insertions(+), 17 deletions(-)
 rename drivers/net/nfp/{nfp_flow.c => flower/nfp_flower_flow.c} (99%)
 rename drivers/net/nfp/{nfp_flow.h => flower/nfp_flower_flow.h} (96%)
 create mode 100644 drivers/net/nfp/nfp_net_cmsg.c
 create mode 100644 drivers/net/nfp/nfp_net_cmsg.h
 create mode 100644 drivers/net/nfp/nfp_net_flow.c
 create mode 100644 drivers/net/nfp/nfp_net_flow.h
  

Comments

Ferruh Yigit Dec. 8, 2023, 4:39 p.m. UTC | #1
On 12/5/2023 2:54 AM, Chaoyong He wrote:
> Add the very basic rte_flow support for corenic firmware.
> 
> ---
> v2:
> * Update the 'nfp.ini' document.
> * Rebase to the latest main branch.
> ---
> 
> Chaoyong He (11):
>   net/nfp: move some source files
>   net/nfp: add the structures and functions for flow offload
>   net/nfp: add the control message channel
>   net/nfp: support flow API for CoreNIC firmware
>   net/nfp: support Ethernet flow item
>   net/nfp: support drop flow action
>   net/nfp: support IPv4 flow item
>   net/nfp: support IPv6 flow item
>   net/nfp: support TCP/UDP/SCTP flow items
>   net/nfp: support MARK flow action
>   net/nfp: support QUEUE flow action
>

Series applied to dpdk-next-net/main, thanks.


Flower firmware already supports flow API, right?
What is the difference of these two firmware? Are they both actively used?
  
Chaoyong He Dec. 11, 2023, 1:42 a.m. UTC | #2
> On 12/5/2023 2:54 AM, Chaoyong He wrote:
> > Add the very basic rte_flow support for corenic firmware.
> >
> > ---
> > v2:
> > * Update the 'nfp.ini' document.
> > * Rebase to the latest main branch.
> > ---
> >
> > Chaoyong He (11):
> >   net/nfp: move some source files
> >   net/nfp: add the structures and functions for flow offload
> >   net/nfp: add the control message channel
> >   net/nfp: support flow API for CoreNIC firmware
> >   net/nfp: support Ethernet flow item
> >   net/nfp: support drop flow action
> >   net/nfp: support IPv4 flow item
> >   net/nfp: support IPv6 flow item
> >   net/nfp: support TCP/UDP/SCTP flow items
> >   net/nfp: support MARK flow action
> >   net/nfp: support QUEUE flow action
> >
> 
> Series applied to dpdk-next-net/main, thanks.
> 
> 
> Flower firmware already supports flow API, right?
Correct.

> What is the difference of these two firmware? Are they both actively used?
The flower firmware aims to support as much flow APIs (and match patterns/actions)as possible, 
and the corenic firmware will only support very limited ones (just enough) to some strict user case, like flow steering, 
bond offload ...
  
Ferruh Yigit Dec. 11, 2023, 2:06 p.m. UTC | #3
On 12/11/2023 1:42 AM, Chaoyong He wrote:
>> On 12/5/2023 2:54 AM, Chaoyong He wrote:
>>> Add the very basic rte_flow support for corenic firmware.
>>>
>>> ---
>>> v2:
>>> * Update the 'nfp.ini' document.
>>> * Rebase to the latest main branch.
>>> ---
>>>
>>> Chaoyong He (11):
>>>   net/nfp: move some source files
>>>   net/nfp: add the structures and functions for flow offload
>>>   net/nfp: add the control message channel
>>>   net/nfp: support flow API for CoreNIC firmware
>>>   net/nfp: support Ethernet flow item
>>>   net/nfp: support drop flow action
>>>   net/nfp: support IPv4 flow item
>>>   net/nfp: support IPv6 flow item
>>>   net/nfp: support TCP/UDP/SCTP flow items
>>>   net/nfp: support MARK flow action
>>>   net/nfp: support QUEUE flow action
>>>
>>
>> Series applied to dpdk-next-net/main, thanks.
>>
>>
>> Flower firmware already supports flow API, right?
> Correct.
> 
>> What is the difference of these two firmware? Are they both actively used?
> The flower firmware aims to support as much flow APIs (and match patterns/actions)as possible, 
> and the corenic firmware will only support very limited ones (just enough) to some strict user case, like flow steering, 
> bond offload ...
>

I see, thanks for the information.