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

Aaron Conole aconole at redhat.com
Wed Apr 21 14:57:14 CEST 2021


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.

> Regards,
> Ali



More information about the dev mailing list