[dpdk-dev] [PATCH 2/2] pipeline: autodetect endianness of action args

Ali Alnubani alialnu at nvidia.com
Wed Apr 21 15:03:31 CEST 2021


> -----Original Message-----
> From: Aaron Conole <aconole at redhat.com>
> Sent: Wednesday, April 21, 2021 3:57 PM
> To: Ali Alnubani <alialnu at nvidia.com>
> Cc: NBU-Contact-Thomas Monjalon <thomas at monjalon.net>; Cristian
> Dumitrescu <cristian.dumitrescu at intel.com>; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 2/2] pipeline: autodetect endianness of
> action args
> 
> Ali Alnubani <alialnu at nvidia.com> writes:
> 
> > Hi,
> >
> >> -----Original Message-----
> >> From: dev <dev-bounces at dpdk.org> On Behalf Of Thomas Monjalon
> >> Sent: Tuesday, April 20, 2021 10:58 PM
> >> To: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
> >> Cc: dev at dpdk.org
> >> Subject: Re: [dpdk-dev] [PATCH 2/2] pipeline: autodetect endianness of
> >> action args
> >>
> >> 12/04/2021 01:23, Cristian Dumitrescu:
> >> > Each table entry is made up of match fields and action data, with the
> >> > latter made up of the action ID and the action arguments. The approach
> >> > of having the user specify explicitly the endianness of the action
> >> > arguments is difficult to be picked up by P4 compilers, as the P4
> >> > compiler is generally unaware about this aspect.
> >> >
> >> > This commit introduces the auto-detection of the endianness of the
> >> > action arguments by examining the endianness of the their destination:
> >> > network byte order (NBO) when they get copied to headers and host
> byte
> >> > order (HBO) when they get copied to packet meta-data or mailboxes.
> >> >
> >> > The endianness specification of each action argument as part of the
> >> > rule specification, e.g. H(...) and N(...) is removed from the rule
> >> > file and auto-detected based on their destination. The DMA instruction
> >> > scope is made internal, so mov instructions need to be used. The
> >> > pattern of transferring complete headers from table entry action args
> >> > to headers is detected, and the associated set of mov instructions
> >> > plus header validate is internally detected and replaced with the
> >> > internal-only DMA instruction to preserve performance.
> >> >
> >> > Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
> >>
> >> Series applied, thanks
> >>
> >>
> >
> > I believe this patchset is causing the build failures in
> https://bugs.dpdk.org/show_bug.cgi?id=683.
> 
> Where do you see those build errors?  Compiler version, etc?  For example:
> 
>   https://github.com/ovsrobot/dpdk/actions/runs/767327010
> 
> This build was successful after rerunning with the prerequisite patch
> applied to mainline.  I am concerned why the CI didn't catch this.
> 

>From the ticket:
> OS: CentOS 7.9.2009
> gcc: 4.8.5
> meson: 0.55.1
> ninja-build: 1.10.2

The build errors don't reproduce in Ubuntu 18.04.

- Ali


More information about the dev mailing list