Am 19.05.2016 um 22:47 schrieb pravin shelar:
On Wed, May 18, 2016 at 9:41 AM, Jan Scheurich <jan.scheur...@web.de> wrote:
I agree current tunneling port check is bit arbitrary. It was designed
to handle most common tunneling setup. But I do not think we can allow
tunneling on any type of port. For example I doubt that it will work
on a tap port. It should be limited to subset of ports.
The intention of the patch is to support tunnelling only over ports
defined with type="internal" in OVSDB. By experiment I found that this
maps to netdev type "tap" in ovs-vswitchd. The LOCAL port of each bridge
belongs to that class.
It is my somewhat limited understanding of OVS that "internal" ports are
realized as Linux tap interfaces. So they can be given IP addresses and
and associated with static routes using normal Linux iproute2 commands.
It is therefore possible to inject traffic through such ports into an
OVS bridges from the hosting Linux network namespace. I have actually
tested that with my patch tunnelling over internal ports (tap netdevs)
does work.
Normal Linux interfaces, including tap interfaces created by other
processes (such as Qemu), are not of netdev type "tap" but "system".
These (and all others) are still excluded by the patch. If IP addresses
and/or routing on the Linux host are set up such that a remote tunnel
endpoint is reachable over a "system" netdev, outgoing tunnel packets
will still be dropped or misrouted.
In the ingress direction there is no check on the port type left in the
patch. That means in the slow path each packet output to a (non-tunnel)
port will be subject to a tunnel lookup. Don't know if this overhead is
acceptable, or if the lookup can be made more selective based on the
port data stored e.g. in xport.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev