[ovs-dev] [PATCH] datapath: Linux 4.9 compat.

Jarno Rajahalme jarno at ovn.org
Sat Dec 10 00:50:56 UTC 2016


> On Dec 9, 2016, at 2:47 PM, Joe Stringer <joe at ovn.org> wrote:
> 
> On 7 December 2016 at 16:31, Jarno Rajahalme <jarno at ovn.org <mailto:jarno at ovn.org>> wrote:
>> This patch allows openvswitch kernel module in the OVS tree to be
>> compiled against the current net-next Linux kernel.  The changes are
>> due to these upstream commits:
>> 
>> 56989f6d856 ("genetlink: mark families as __ro_after_init")
>> 489111e5c25 ("genetlink: statically initialize families")
>> a07ea4d9941 ("genetlink: no longer support using static family IDs")
>> 
>> struct genl_family initialization is changed be completely static and
>> to include the new (in Linux 4.6) __ro_after_init attribute.  Compat
>> code defines it as an empty macro if not defined already.
>> 
>> GENL_ID_GENERATE is no longer defined, but since it was defined as 0,
>> it is safe to drop it from all initializers also on older Linux
>> versions.
>> 
>> Tested with current Linux net-next (4.9) and 3.16.
>> 
>> Signed-off-by: Jarno Rajahalme <jarno at ovn.org>
> 
> Looks like others are happy with the change, I just had one question
> (I mentioned offline) about whether we are now synchronised between
> ovs tree datapath module and upstream v4.9 module code?

I should remove “4.9” from the commit message. Either way, there are a lot of upstream patches not yet backported to the OVS tree:

- 018c1dda5f ("openvswitch: 802.1AD Flow handling, actions, vlan parsing, netlink attributes”)
  - 20ecf1e4e3 ("openvswitch: vlan: remove wrong likely statement”)
  - 72ec108d70 ("openvswitch: fix vlan subtraction from packet length”)
  - 3145c037e7 ("openvswitch: add NETIF_F_HW_VLAN_STAG_TX to internal dev”)
- 48d2ab609b ("net: mpls: Fixups for GSO”)
  - f7d49bce8e ("openvswitch: mpls: set network header correctly on key extract”)
  - c66549ffd6 ("openvswitch: correctly fragment packet with mpls headers”)
- 40773966cc ("openvswitch: fix flow stats accounting when node 0 is not possible”)
- db74a3335e ("openvswitch: use percpu flow stats”)
- 190aa3e778 (“openvswitch: Fix Frame-size larger than 1024 bytes warning.")
- 2279994d07 (“openvswitch: avoid resetting flow key while installing new flow.”)
- 85de4a2101 (“openvswitch: use mpls_hdr”)
- f33eb0cf99 ("openvswitch: remove unused functions”)
- 76e4cc7731 ("openvswitch: remove unnecessary EXPORT_SYMBOLs”)
- 91572088e3 (“net: use core MTU range checking in core net infra”)
- 08733a0cb7 ("netfilter: handle NF_REPEAT from nf_conntrack_in()”)
- 738314a084 ("openvswitch: use hard_header_len instead of hardcoded ETH_HLEN”)
- 329f45bc4f ("openvswitch: add mac_proto field to the flow key”)
- e2d9d8358c (“openvswitch: pass mac_proto to ovs_vport_send”)
- 1560a074df (“openvswitch: support MPLS push and pop for L3 packets”)
- 5108bbaddc (“openvswitch: add processing of L3 packets”)
- 0a6410fbde (“openvswitch: netlink: support L3 packets”)
- 91820da6ae ("openvswitch: add Ethernet push and pop actions”)
- 217ac77a3c (“openvswitch: allow L3 netdev ports”)
- c7d03a00b5 (“netns: make struct pernet_operations::id unsigned int”)

  Jarno



More information about the dev mailing list