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

Aaron Conole aconole at redhat.com
Wed Apr 21 15:21:06 CEST 2021


Ali Alnubani <alialnu at nvidia.com> writes:

>> -----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.

Thanks.

> - Ali



More information about the dev mailing list