[ovs-dev] [PATCH v19 5/8] dpif-offload-netlink: Implement dpif-offload-provider API

2021-12-27 Thread Chris Mi via dev
Implement dpif-offload API for netlink datapath. And implement a dummy dpif-offload API for netdev datapath to make tests pass. Signed-off-by: Chris Mi Reviewed-by: Eli Britstein --- lib/automake.mk | 2 + lib/dpif-netdev.c | 8 +- lib/dpif-netlink.c | 4 +-

[ovs-dev] [PATCH v19 6/8] ofproto: Introduce API to process sFlow offload packet

2021-12-27 Thread Chris Mi via dev
Process sFlow offload packet in handler thread if handler id is 0. Signed-off-by: Chris Mi Reviewed-by: Eli Britstein Acked-by: Eelco Chaudron --- ofproto/ofproto-dpif-upcall.c | 73 +++ 1 file changed, 73 insertions(+) diff --git

[ovs-dev] [PATCH v19 4/8] netdev-offload-tc: Introduce group ID management API

2021-12-27 Thread Chris Mi via dev
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

[ovs-dev] [PATCH v19 8/8] system-offloads-traffic.at: Add sFlow offload test cases

2021-12-27 Thread Chris Mi via dev
Add two sFlow offload test caes: 3: sflow offloads with sampling=1 - ping between two ports - offloads enabled ok 4: sflow offloads with sampling=2 - ping between two ports - offloads enabled ok Signed-off-by: Chris Mi Acked-by: Eelco Chaudron --- tests/system-offloads-traffic.at | 101

[ovs-dev] [PATCH v19 7/8] netdev-offload-tc: Add offload support for sFlow

2021-12-27 Thread Chris Mi via dev
Create a unique group ID to map the sFlow info when offloading sFlow action to TC. When showing the offloaded datapath flows, translate the group ID from TC sample action to sFlow info using the mapping. Signed-off-by: Chris Mi Reviewed-by: Eli Britstein Acked-by: Eelco Chaudron --- NEWS

[ovs-dev] [PATCH v19 3/8] dpif-offload-provider: Introduce dpif-offload-provider layer

2021-12-27 Thread Chris Mi via dev
Some offload actions require functionality that is not netdev based, but dpif. For example, sFlow action requires to create a psample netlink socket to receive the sampled packets from TC or kernel driver. Create dpif-offload-provider layer to support such actions. Signed-off-by: Chris Mi

[ovs-dev] [PATCH v19 2/8] ovs-kmod-ctl: Load kernel module psample

2021-12-27 Thread Chris Mi via dev
Load kernel module psample to receive sampled packets from TC. Before removing kernel module psample, remove act_sample first. Signed-off-by: Chris Mi Reviewed-by: Eli Britstein Acked-by: Eelco Chaudron --- utilities/ovs-kmod-ctl.in | 14 ++ 1 file changed, 14 insertions(+) diff

[ovs-dev] [PATCH v19 1/8] compat: Add psample and tc sample action defines for older kernels

2021-12-27 Thread Chris Mi via dev
Update kernel UAPI to support psample and the tc sample action. Signed-off-by: Chris Mi Reviewed-by: Eli Britstein Acked-by: Eelco Chaudron --- include/linux/automake.mk| 4 ++- include/linux/psample.h | 62 include/linux/tc_act/tc_sample.h |

[ovs-dev] [PATCH v19 0/8] Add offload support for sFlow

2021-12-27 Thread Chris Mi via dev
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

[ovs-dev] [PATCH] conntrack: Avoid sporadic failures during IPv6 HTTP/FTP tests

2021-12-27 Thread Paolo Valerio
Some sporadic false positive may be visible for the following tests: - conntrack - IPv6 HTTP - conntrack - FTP over IPv6 The failures show up randomly. The reason appears to be source address used when performing the request using wget:

[ovs-dev] [PATCH] conntrack: Check TCP state while testing established connections pick up.

2021-12-27 Thread Paolo Valerio
When testing if an established connection is picked up, it could be useful to verify that the protocol state matches the expectation, that is, it moves to ESTABLISHED, as there's a chance that code modifications may break the TCP conn_update() in a way that it returns CT_UPDATE_VALID without