Hi Chris,

Looked at the patch and the new version does not try to work around my concerns 
on v18, i.e., the ones where we need Ilya’s input.
So I could not add any more ACKs; however, I did talk to Ilya offline, and he 
will get back to this after his 2.17 release work.

See:

https://patchwork.ozlabs.org/project/openvswitch/patch/[email protected]/
https://patchwork.ozlabs.org/project/openvswitch/patch/[email protected]/


Also, I did notice you did not respond to all the v18 questions on patch 5.

Cheers,


Eelco


On 28 Dec 2021, at 7:38, Chris Mi wrote:

> This patch set adds offload support for sFlow.
>
> Psample is a genetlink channel for packet sampling. TC action act_sample
> uses psample to send sampled packets to userspace.
>
> When offloading sample action to TC, userspace creates a unique ID to
> map sFlow action and tunnel info and passes this ID to kernel instead
> of the sFlow info. psample will send this ID and sampled packet to
> userspace. Using the ID, userspace can recover the sFlow info and send
> sampled packet to the right sFlow monitoring host.
>
> v2-v1:
> - Fix robot errors.
> v3-v2:
> - Remove Gerrit Change-Id.
> - Add patch #9 to fix older kernels build issue.
> - Add travis test result.
> v4-v3:
> - Fix offload issue when sampling rate is 1.
> v5-v4:
> - Move polling thread from ofproto to netdev-offload-tc.
> v6-v5:
> - Rebase.
> - Add GitHub Actions test result.
> v7-v6:
> - Remove Gerrit Change-Id.
> - Fix "ERROR: Inappropriate spacing around cast"
> v8-v7
> - Address Eelco Chaudron's comment for patch #11.
> v9-v8
> - Remove sflow_len from struct dpif_sflow_attr.
> - Log a debug message for other userspace actions.
> v10-v9
> - Address Eelco Chaudron's comments on v9.
> v11-v10
> - Fix a bracing error.
> v12-v11
> - Add duplicate sample group id check.
> v13-v12
> - Remove the psample poll thread from netdev-offload-tc and reuse
>   ofproto handler thread according to Ilya's new desgin.
> - Add dpif-offload-provider layer according to Eli's suggestion.
> v14-v13
> - Fix a robot error.
> v15-v14
> - Address Eelco Chaudron's comments on v14.
> v16-v15
> - Address Eelco Chaudron's comments on v15.
> - Add two test cases.
> v17-v16
> - Address Eelco Chaudron's comments on v16.
> - Move struct dpif_offload_api from struct dpif_class to struct dpif.
> v18-v17
> - Rename dpif_offload_api to dpif_offload_class.
> - Add init and destroy callbacks in dpif_offload_class. They are called
>   when registering dpif_offload_class.
> v19-18
> - Fix a bug that psample_sock is destroyed when last bridge is deleted.
>
> Chris Mi (8):
>   compat: Add psample and tc sample action defines for older kernels
>   ovs-kmod-ctl: Load kernel module psample
>   dpif-offload-provider: Introduce dpif-offload-provider layer
>   netdev-offload-tc: Introduce group ID management API
>   dpif-offload-netlink: Implement dpif-offload-provider API
>   ofproto: Introduce API to process sFlow offload packet
>   netdev-offload-tc: Add offload support for sFlow
>   system-offloads-traffic.at: Add sFlow offload test cases
>
>  NEWS                             |   1 +
>  include/linux/automake.mk        |   4 +-
>  include/linux/psample.h          |  62 ++++
>  include/linux/tc_act/tc_sample.h |  25 ++
>  lib/automake.mk                  |   4 +
>  lib/dpif-netdev.c                |   8 +-
>  lib/dpif-netlink.c               |   4 +-
>  lib/dpif-offload-netdev.c        |  43 +++
>  lib/dpif-offload-netlink.c       | 228 +++++++++++++++
>  lib/dpif-offload-provider.h      |  93 ++++++
>  lib/dpif-offload.c               | 200 +++++++++++++
>  lib/dpif-provider.h              |  10 +-
>  lib/dpif.c                       |  17 +-
>  lib/netdev-offload-tc.c          | 466 +++++++++++++++++++++++++++++--
>  lib/netdev-offload.h             |   2 +
>  lib/tc.c                         |  61 +++-
>  lib/tc.h                         |  16 +-
>  ofproto/ofproto-dpif-upcall.c    |  73 +++++
>  tests/system-offloads-traffic.at | 101 +++++++
>  utilities/ovs-kmod-ctl.in        |  14 +
>  20 files changed, 1400 insertions(+), 32 deletions(-)
>  create mode 100644 include/linux/psample.h
>  create mode 100644 include/linux/tc_act/tc_sample.h
>  create mode 100644 lib/dpif-offload-netdev.c
>  create mode 100644 lib/dpif-offload-netlink.c
>  create mode 100644 lib/dpif-offload-provider.h
>  create mode 100644 lib/dpif-offload.c
>
> -- 
> 2.30.2

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to