[ovs-dev] (no subject)

Chris Mi cmi at nvidia.com
Thu Sep 17 14:32:25 UTC 2020


Subject: [ovs-dev][PATCH v3 0/9] Add offload support for sFlow

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.

Travis:
v3: https://travis-ci.com/github/mishuang2017/ovs/builds/184944105

v2-v1:
- Fix robot errors.
v3-v2:
- Remove Gerrit Change-Id.
- Add patch #1 to fix older kernels build issue.
- Add travis test result.


Chris Mi (9):
  compat: Add psample and tc sample action defines for older kernels
  ovs-kmod-ctl: Load kernel module psample
  dpif-netlink: Create psample netlink socket
  netdev-offload: Introduce sFlow attributes query by group ID API
  dpif: Introduce psample offload API
  dpif-netlink: Implement psample offload API
  ofproto: Add psample receive handler
  netdev-offload-tc: Introduce group ID management API
  netdev-offload-tc: Add offload support for sFlow

 include/linux/automake.mk        |   4 +-
 include/linux/psample.h          |  58 +++++
 include/linux/tc_act/tc_sample.h |  25 ++
 lib/dpif-netdev.c                |   3 +
 lib/dpif-netlink.c               | 178 ++++++++++++++
 lib/dpif-provider.h              |  11 +
 lib/dpif.c                       |  24 ++
 lib/dpif.h                       |  32 +++
 lib/netdev-offload-provider.h    |   5 +
 lib/netdev-offload-tc.c          | 390 ++++++++++++++++++++++++++++++-
 lib/netdev-offload.c             |  11 +
 lib/netdev-offload.h             |   1 +
 lib/tc.c                         |  59 +++++
 lib/tc.h                         |  10 +-
 ofproto/ofproto-dpif-upcall.c    |  78 +++++++
 utilities/ovs-kmod-ctl.in        |  14 ++
 16 files changed, 892 insertions(+), 11 deletions(-)
 create mode 100644 include/linux/psample.h
 create mode 100644 include/linux/tc_act/tc_sample.h

-- 
2.21.1



More information about the dev mailing list