[ovs-dev] [PATCH v12 00/11] Add offload support for sFlow

Eelco Chaudron echaudro at redhat.com
Tue Feb 23 11:15:06 UTC 2021



On 23 Feb 2021, at 12:11, Eelco Chaudron wrote:

> On 23 Feb 2021, at 10:08, Roi Dayan wrote:
>
>> On 2021-01-27 8:23 AM, 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.
>>>
>>> Chris Mi (11):
>>>    compat: Add psample and tc sample action defines for older 
>>> kernels
>>>    ovs-kmod-ctl: Load kernel module psample
>>>    dpif: Introduce register sFlow upcall callback API
>>>    ofproto: Add upcall callback to process sFlow packet
>>>    netdev-offload: Introduce register sFlow upcall callback API
>>>    netdev-offload-tc: Implement register sFlow upcall callback API
>>>    dpif-netlink: Implement register sFlow upcall callback API
>>>    netdev-offload-tc: Introduce group ID management API
>>>    netdev-offload-tc: Create psample netlink socket
>>>    netdev-offload-tc: Add psample receive handler
>>>    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                |   1 +
>>>   lib/dpif-netlink.c               |  27 ++
>>>   lib/dpif-netlink.h               |   4 +
>>>   lib/dpif-provider.h              |  10 +
>>>   lib/dpif.c                       |   8 +
>>>   lib/dpif.h                       |  23 ++
>>>   lib/netdev-offload-provider.h    |   3 +
>>>   lib/netdev-offload-tc.c          | 659 
>>> ++++++++++++++++++++++++++++++-
>>>   lib/netdev-offload.c             |  30 ++
>>>   lib/netdev-offload.h             |   4 +
>>>   lib/tc.c                         |  61 ++-
>>>   lib/tc.h                         |  16 +-
>>>   ofproto/ofproto-dpif-upcall.c    |  42 ++
>>>   utilities/ovs-kmod-ctl.in        |  14 +
>>>   17 files changed, 973 insertions(+), 16 deletions(-)
>>>   create mode 100644 include/linux/psample.h
>>>   create mode 100644 include/linux/tc_act/tc_sample.h
>>>
>>
>>
>> Hi Simon, Ilya,
>>
>> Can you help review for this series?
>> do you have any comments you want us to handle?
>
> See my comments on v11. We need some more inputs on those so I could 
> review v12, or we need a v13.

Oops, my comments on the v9 patches, to be exact:

   [PATCH v9 08/11] netdev-offload-tc: Introduce group ID management API
   [PATCH v9 10/11] netdev-offload-tc: Add psample receive handler



More information about the dev mailing list