net/ice/base: support programming a new switch recipe
authorLeyi Rong <leyi.rong@intel.com>
Wed, 19 Jun 2019 15:17:43 +0000 (23:17 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 28 Jun 2019 18:31:48 +0000 (20:31 +0200)
commitfed0c5ca5f192abc26cf71be07813d623c065793
tree0b0a14579fe3b1691ebfc553872beab637cccdc2
parentafa96f6fb77634c6a00d65eee9e255e6ad6fa894
net/ice/base: support programming a new switch recipe

1. Added an interface to support adding advanced switch rules.
2. Advanced rules are provided in a form of protocol headers and values
to match in addition to actions (limited actions are current supported).
3. Retrieve field vectors for ICE configuration package to determine
extracted fields and extracted locations for recipe creation.
4. Chain multiple recipes together to match multiple protocol headers.
5. Add structure to manage the dynamic recipes.

Signed-off-by: Grishma Kotecha <grishma.kotecha@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Leyi Rong <leyi.rong@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/base/ice_adminq_cmd.h
drivers/net/ice/base/ice_flex_pipe.c
drivers/net/ice/base/ice_flex_pipe.h
drivers/net/ice/base/ice_switch.c
drivers/net/ice/base/ice_switch.h