Hi Eelco,
Version 19 mainly fixes a bug that psample_sock is destroyed when last
bridge is deleted.
And it also addresses some of the minor comments in v18. I think there
is no use
to address all of them because if we need to change the dpif-offload
design, maybe
some of them will be irrelevant.
Thanks,
Chris
On 2022-01-04 6:56 PM, Eelco Chaudron wrote:
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/20211115025312.786953-4-...@nvidia.com/
https://patchwork.ozlabs.org/project/openvswitch/patch/20211115025312.786953-6-...@nvidia.com/
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
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev