mbox series

[v2,0/2] net/enic: a couple new features

Message ID 20190923144134.19066-1-hyonkim@cisco.com (mailing list archive)
Headers
Series net/enic: a couple new features |

Message

Hyong Youb Kim (hyonkim) Sept. 23, 2019, 2:41 p.m. UTC
  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

v2: add FMOP_NOP to the flowman header, which was missing in v1

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   |  365 ++++
 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, 3047 insertions(+), 8 deletions(-)
 create mode 100644 drivers/net/enic/base/vnic_flowman.h
 create mode 100644 drivers/net/enic/enic_fm_flow.c
  

Comments

Ferruh Yigit Oct. 10, 2019, 12:19 p.m. UTC | #1
On 9/23/2019 3:41 PM, Hyong Youb Kim wrote:
> 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
> 
> v2: add FMOP_NOP to the flowman header, which was missing in v1
> 
> Hyong Youb Kim (2):
>   net/enic: enable Geneve with options offload
>   net/enic: add flow implementation based on Flow Manager API

Series applied to dpdk-next-net/master, thanks.