[PATCH] net/nfp: add the feature of RSS based on VXLAN inner layer

Chaoyong He chaoyong.he at corigine.com
Fri Oct 14 11:30:34 CEST 2022


> On 10/14/2022 2:15 AM, Chaoyong He wrote:
> >> On 10/10/2022 7:28 AM, Chaoyong He wrote:
> >>> Add the logics to support the feature of RSS packets based on the
> >>> inner layer of VXLAN tunnel.
> >>>
> >>> Signed-off-by: Chaoyong He <chaoyong.he at corigine.com>
> >>> Reviewed-by: Niklas Söderlund <niklas.soderlund at corigine.com>
> >>>
> >>> Depends-on: series-24819 ("preparation for the rte_flow offload of
> >>> nfp
> >>> PMD")
> >>>
> >>> ---
> >>>    drivers/net/nfp/flower/nfp_flower.c             |   2 +-
> >>>    drivers/net/nfp/flower/nfp_flower_cmsg.c        |   1 +
> >>>    drivers/net/nfp/flower/nfp_flower_ctrl.c        |   2 +-
> >>>    drivers/net/nfp/flower/nfp_flower_representor.c |   2 +-
> >>>    drivers/net/nfp/nfp_common.c                    |  33 +++++++
> >>>    drivers/net/nfp/nfp_common.h                    |   4 +
> >>>    drivers/net/nfp/nfp_cpp_bridge.h                |   2 -
> >>>    drivers/net/nfp/nfp_ethdev.c                    | 111
> >> ++++++++++++++++++++++++
> >>>    drivers/net/nfp/nfp_ethdev_vf.c                 |   1 +
> >>>    drivers/net/nfp/nfp_rxtx.c                      |   1 +
> >>>    10 files changed, 154 insertions(+), 5 deletions(-)
> >>>
> >>> diff --git a/drivers/net/nfp/flower/nfp_flower.c
> >>> b/drivers/net/nfp/flower/nfp_flower.c
> >>> index 3e97f5c..da96d2f 100644
> >>> --- a/drivers/net/nfp/flower/nfp_flower.c
> >>> +++ b/drivers/net/nfp/flower/nfp_flower.c
> >>> @@ -10,9 +10,9 @@
> >>>    #include <ethdev_pci.h>
> >>>    #include <ethdev_driver.h>
> >>>
> >>> +#include "../nfp_ctrl.h"
> >>>    #include "../nfp_common.h"
> >>>    #include "../nfp_logs.h"
> >>> -#include "../nfp_ctrl.h"
> >>>    #include "../nfp_cpp_bridge.h"
> >>>    #include "../nfp_rxtx.h"
> >>>    #include "../nfpcore/nfp_mip.h"
> >>> diff --git a/drivers/net/nfp/flower/nfp_flower_cmsg.c
> >>> b/drivers/net/nfp/flower/nfp_flower_cmsg.c
> >>> index 750a629..b719eb2 100644
> >>> --- a/drivers/net/nfp/flower/nfp_flower_cmsg.c
> >>> +++ b/drivers/net/nfp/flower/nfp_flower_cmsg.c
> >>> @@ -5,6 +5,7 @@
> >>>
> >>>    #include "../nfpcore/nfp_nsp.h"
> >>>    #include "../nfp_logs.h"
> >>> +#include "../nfp_ctrl.h"
> >>>    #include "../nfp_common.h"
> >>>    #include "nfp_flower.h"
> >>>    #include "nfp_flower_cmsg.h"
> >>> diff --git a/drivers/net/nfp/flower/nfp_flower_ctrl.c
> >>> b/drivers/net/nfp/flower/nfp_flower_ctrl.c
> >>> index df908ef..961ca34 100644
> >>> --- a/drivers/net/nfp/flower/nfp_flower_ctrl.c
> >>> +++ b/drivers/net/nfp/flower/nfp_flower_ctrl.c
> >>> @@ -6,9 +6,9 @@
> >>>    #include <rte_common.h>
> >>>    #include <ethdev_pci.h>
> >>>
> >>> +#include "../nfp_ctrl.h"
> >>>    #include "../nfp_common.h"
> >>>    #include "../nfp_logs.h"
> >>> -#include "../nfp_ctrl.h"
> >>>    #include "../nfp_rxtx.h"
> >>>    #include "nfp_flower.h"
> >>>    #include "nfp_flower_ctrl.h"
> >>> diff --git a/drivers/net/nfp/flower/nfp_flower_representor.c
> >>> b/drivers/net/nfp/flower/nfp_flower_representor.c
> >>> index 0e60f50..8db73e0 100644
> >>> --- a/drivers/net/nfp/flower/nfp_flower_representor.c
> >>> +++ b/drivers/net/nfp/flower/nfp_flower_representor.c
> >>> @@ -6,9 +6,9 @@
> >>>    #include <rte_common.h>
> >>>    #include <ethdev_pci.h>
> >>>
> >>> +#include "../nfp_ctrl.h"
> >>>    #include "../nfp_common.h"
> >>>    #include "../nfp_logs.h"
> >>> -#include "../nfp_ctrl.h"
> >>>    #include "../nfp_rxtx.h"
> >>>    #include "../nfpcore/nfp_mip.h"
> >>>    #include "../nfpcore/nfp_rtsym.h"
> >>> diff --git a/drivers/net/nfp/nfp_common.c
> >>> b/drivers/net/nfp/nfp_common.c index 07781a1..ec6a669 100644
> >>> --- a/drivers/net/nfp/nfp_common.c
> >>> +++ b/drivers/net/nfp/nfp_common.c
> >>> @@ -37,6 +37,7 @@
> >>>    #include "nfpcore/nfp_rtsym.h"
> >>>    #include "nfpcore/nfp_nsp.h"
> >>>
> >>> +#include "nfp_ctrl.h"
> >>>    #include "nfp_common.h"
> >>>    #include "nfp_ctrl.h"
> >>>    #include "nfp_rxtx.h"
> >>
> >> Are above header inclusion changes related to this patch?
> >
> > Yes, it does relate.
> > In this patch, we use a macro in `nfp_common.h`, and this macro is
> > defined in `nfp_ctrl.h`, so import the dependency relations of this two
> header files.
> > If we don't modify the related files which use these two header files, the
> compile process will fail.
> >
> 
> OK, it is for 'NFP_NET_N_VXLAN_PORTS' which is defined in `nfp_ctrl.h`, and
> used in `nfp_common.h` in this patch.
> 
> And you are including `nfp_ctrl.h` in all c files that uses `nfp_common.h`,
> instead why don't you include `nfp_ctrl.h` in `nfp_common.h`?
> Because you are creating this dependency anyway, whoever includes
> `nfp_common.h` will need `nfp_ctrl.h`.
> 
> Or other option can be moving 'NFP_NET_N_VXLAN_PORTS' define (and its
> dependencies) to `nfp_common.h`, if it is logically makes sense.

Yes, you are right.
I will send out a v2 patch and include `nfp_ctrl.h` in `nfp_common.h`.
Thanks!


More information about the dev mailing list