The first patch enables Geneve offload that supports Geneve header options. Previous Geneve offload does not work when options are present.
The second patch adds the new flow implementation based on Flow Manager. So the driver now has two implementations: one based on the old filter API, and this new one based on Flow Manager. Flow Manager is newer firmware interface with more actions and match items than the filter API. enic_fm_flow.c is quite large but self contained. We tried to break it up into multiple patches, but it did not really make sense in the end. So sending the whole file in one patch. checkpatches complains about these errors. We checked and found it safe to ignore them (false positives). CHECK:CAMELCASE: Avoid CamelCase: <PRIx64> ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses Thanks. -Hyong Hyong Youb Kim (2): net/enic: enable Geneve with options offload net/enic: add flow implementation based on Flow Manager API doc/guides/nics/enic.rst | 21 + doc/guides/rel_notes/release_19_11.rst | 5 + drivers/net/enic/Makefile | 1 + drivers/net/enic/base/vnic_dev.c | 90 +- drivers/net/enic/base/vnic_dev.h | 2 + drivers/net/enic/base/vnic_devcmd.h | 19 + drivers/net/enic/base/vnic_flowman.h | 364 ++++ drivers/net/enic/enic.h | 24 +- drivers/net/enic/enic_ethdev.c | 25 +- drivers/net/enic/enic_fm_flow.c | 2459 ++++++++++++++++++++++++ drivers/net/enic/enic_main.c | 30 +- drivers/net/enic/enic_res.c | 13 +- drivers/net/enic/meson.build | 1 + 13 files changed, 3046 insertions(+), 8 deletions(-) create mode 100644 drivers/net/enic/base/vnic_flowman.h create mode 100644 drivers/net/enic/enic_fm_flow.c -- 2.22.0