[ovs-dev] [RFC PATCH] datapath: allow tunnels to be created with rtnetlink

Jiri Benc jbenc at redhat.com
Tue Jan 10 14:44:07 UTC 2017


On Tue, 10 Jan 2017 19:29:21 +0530, Pravin Shelar wrote:
> OVS kernel module has compile time checks for various kernel features,
> if any of required tunnel feature is missing OVS kernel module
> compiles in support for its own tunnel implementation. This compat
> tunnel implementation is exposed as ovs_* tunnel device.
> Therefore if ovs_geneve device availability shows that current kernel
> tunnel device does not support all features and we should use OVS
> compat tunnel implementation. To use compat-tunnel implementation we
> have to use gnetlink interface. OVS compat tunnels code do not support
> LWT interface.

I've been trying to wrap my head around this for some time already but
I'm afraid I may still not understand what you mean.

By "exposed as ovs_* tunnel device", do you mean rtnetlink kind? If so,
then the steps to create the interface (a geneve tunnel in this example)
would be:

create an ovs_geneve interface using rtnetlink
if successful {
	delete the created interface
	create geneve interface using genetlink
	if successful {
		done
	} else {
		fail
	}
} else {
	create lwtunnel geneve interface using rtnetlink
	check parameters of the created interface
	if it is lwtunnel {
		done
	} else {
		delete the created interface
		create geneve interface using genetlink
		if successful {
			done
		} else {
			fail
		}
	}
}

Is it what you have in mind?

 Jiri


More information about the dev mailing list