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.dumitre...@intel.com>
Series applied, thanks