Userspace applications can choose to completely ignore the kernel provided flow key and instead regenerate a fresh key for processing in userspace. Currently, userspace ovs-vswitchd does this in some instances (for example, MISS upcall command). This means that kernel spends time to copy and send the flow key into userspace without any benefit to the system. Introduce a way for userspace to tell kernel not to send the flow key. This lets userspace and kernel space save time and memory pressure. This patch set is quite a bit larger because it introduces the ability to decode a sw flow key into a compatible datapath-string. We use this as a method of implementing a test to show that the feature is working by decoding and dumping the flow (to make sure we capture the correct packet). Aaron Conole (6): openvswitch: exclude kernel flow key from upcalls selftests: openvswitch: add interface support selftests: openvswitch: add flow dump support selftests: openvswitch: adjust datapath NL message selftests: openvswitch: add upcall support selftests: openvswitch: add exclude support for packet commands include/uapi/linux/openvswitch.h | 6 + net/openvswitch/datapath.c | 26 +- net/openvswitch/datapath.h | 2 + .../selftests/net/openvswitch/openvswitch.sh | 101 +- .../selftests/net/openvswitch/ovs-dpctl.py | 1069 ++++++++++++++++- 5 files changed, 1183 insertions(+), 21 deletions(-) -- 2.34.3