This series adds support for the creation of tunnels using the rtnetlink interface. This will open the possibility for new features and flags on those vports without the need to change vport compatibility code.
Support for STT and LISP have not been added because these are not upstream yet, so we don't know how the interface will be like upstream. And there are no features in the current drivers right now we could make use of. Note: This work originally started by Thadeu Lima de Souza Cascardo. Testing: - kernel 4.9.3, in-tree datapath - rtnetlink successfully creates devices - kernel 4.2.8, in-tree datapath - rtnetlink is tried, but fails due to no COLLECT_METADATA support - genetlink successfully creates devices - kernel 4.2.8, out-of-tree datapath - rtnetlink is not tried - genetlink successfully creates devices v2: We are able to set the MTU to UINT16_MAX since it is not restricted by the driver during newlink. v3: Prefer to get type from vport before checking if device is opened. Also, disable IFLA_VXLAN_LEARNING as it's not enabled on compat vports as well. v4: - Probe for ovs_geneve on init, this indicates out-of-tree datapath - If exists, only try genetlink/compat - else, try rtnetlink and fallback to genetlink/compat - Read back and verify devices created with rtnetlink - checkpatch fixes v5: - Move rtnetlink code to a new file lib/dpif-rtnetlink.c. This is for creating/destroying linux tunnel devices. - Move probe patch to after GENEVE, so it doesn't break build. - Add NEWS item - Split patch 2 into two parts (patch 2 and 3 in this series) Eric Garver (7): dpif-netlink: break up code that creates compat ports dpif-netlink: code to create/destroy tunnel ports via rtnetlink dpif-netlink: add VXLAN creation support dpif-netlink: add GRE creation support dpif-netlink: add GENEVE creation support dpif-netlink: Probe for out-of-tree datapath. NEWS: Add item for creating tunnels via rtnetlink Thadeu Lima de Souza Cascardo (1): netdev: get device type from vport prefix if it uses one NEWS | 3 + lib/automake.mk | 3 + lib/dpif-netlink.c | 199 +++++++++++++------- lib/dpif-netlink.h | 2 + lib/dpif-rtnetlink.c | 515 +++++++++++++++++++++++++++++++++++++++++++++++++++ lib/dpif-rtnetlink.h | 53 ++++++ lib/netdev.c | 26 ++- 7 files changed, 735 insertions(+), 66 deletions(-) create mode 100644 lib/dpif-rtnetlink.c create mode 100644 lib/dpif-rtnetlink.h -- 2.10.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev