Re: [PATCH net-next 1/2] openvswitch: add tunnel protocol to sw_flow_key
From: Jiri Benc <hidden>
Date: 2015-09-30 07:09:50
From: Jiri Benc <hidden>
Date: 2015-09-30 07:09:50
On Tue, 29 Sep 2015 13:41:34 -0700, Pravin Shelar wrote:
We can add rather add TUNNEL_IPV6 flag to distinguish IPv4 and IPv6 tunnel keys. This can be stored in ip_tunnel_key.tun_flags.
Not really. This was my original approach, too, but openvswitch is not the only user of struct ip_tunnel_key, and in the lwtunnel core, tun_flags are handled in the way that makes this impractical. Most importantly, the tun_flags value is directly taken from/stored to LWTUNNEL_IP_FLAGS/LWTUNNEL_IP6_FLAGS netlink attributes in net/ipv4/ip_tunnel_core.c. This would mean complicated masking, etc.
That also saves space in flow key.
The field was added to a 2 byte hole in the struct sw_flow_key (leaving still 1 byte free), thus there's no additional space used. Jiri -- Jiri Benc