Re: [PATCH net-next v2] net: openvswitch: IPv6: Add IPv6 extension header support
From: Ilya Maximets <i.maximets@ovn.org>
Date: 2021-05-19 09:53:39
On 5/17/21 5:20 PM, Toms Atteka wrote:
quoted hunk ↗ jump to hunk
IPv6 extension headers carry optional internet layer information and are placed between the fixed header and the upper-layer protocol header. This change adds a new OpenFlow field OFPXMT_OFB_IPV6_EXTHDR and packets can be filtered using ipv6_ext flag. Tested-at: https://github.com/TomCodeLV/ovs/actions/runs/504185214 Signed-off-by: Toms Atteka <redacted> --- include/uapi/linux/openvswitch.h | 1 + net/openvswitch/flow.c | 141 +++++++++++++++++++++++++++++++ net/openvswitch/flow.h | 14 +++ net/openvswitch/flow_netlink.c | 5 +- 4 files changed, 160 insertions(+), 1 deletion(-) base-commit: 5d869070569a23aa909c6e7e9d010fc438a492efdiff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index 8d16744edc31..a19812b6631a 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h@@ -420,6 +420,7 @@ struct ovs_key_ipv6 { __u8 ipv6_tclass; __u8 ipv6_hlimit; __u8 ipv6_frag; /* One of OVS_FRAG_TYPE_*. */ + __u16 ipv6_exthdr; };
Wouldn't this break existing userspace? Curent OVS expects netlink message with attribute size equal to the old version of 'struct ovs_key_ipv6' and it will discard OVS_KEY_ATTR_IPV6 as malformed. This should likely be a completely new structure and a completely new OVS_KEY_ATTR. Best regards, Ilya Maximets.