net/ice: optimize FlexiMD hardware check
authorHaiyue Wang <haiyue.wang@intel.com>
Wed, 12 Aug 2020 00:57:53 +0000 (08:57 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 18 Sep 2020 16:55:06 +0000 (18:55 +0200)
commitf10b1af0f0fb756d44aff3bb3d26c5a351f574c3
tree1fe71c978cc66e33edfd19d3e9b7bebccf794caa
parentf5586bd4641d4296e071f2fb8c718eac99d37f3d
net/ice: optimize FlexiMD hardware check

The Flexible Metadata #4 and #5 in the Rx Flex Descriptor are defined to
extract the protocol specified fields or its offset. Its function relays
on the DDP package support in hardware.

Optimize to only check the hardware support when the user specifies the
'proto_xtr' devargs. And not require all the types need to be support in
hardware, otherwise if new protocol extraction type is introduced, it is
hard to maintain the compatibility. Just check the type support in need.

And the protocol IDs are 8 bits length, so the uint8_t is the right type
to be used. Also introduce the 'opcode' variable to specify the metadata
extraction type: it can be protocol fields or offset report.

Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/ice_ethdev.c
drivers/net/ice/ice_ethdev.h