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
Eric Garver (4):
dpif-netlink: Probe for out-of-tree datapath.
dpif-netlink: add VXLAN creation support
dpif-netlink: add GRE creation support
dpif-netlink: add GENEVE creation support
Thadeu Lima de Souza Cascardo (2):
netdev: get device type from vport prefix if it uses one
dpif-netlink: break out code to add compat and non-compat vports
lib/dpif-netlink.c | 679 +++++++++++++++++++++++++++++++++++++++++++++++++----
lib/netdev.c | 26 +-
2 files changed, 651 insertions(+), 54 deletions(-)
--
2.10.0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev