Simple minded ethernet-over-UDP tunnels
authorGiuseppe Lettieri <g.lettieri@iet.unipi.it>
Sun, 29 Apr 2012 12:59:17 +0000 (14:59 +0200)
committerGiuseppe Lettieri <g.lettieri@iet.unipi.it>
Sun, 29 Apr 2012 12:59:17 +0000 (14:59 +0200)
commitdcc2e50ad4e263ffbbac6f22043e8ccfb949bdd3
treeb405de186b250d14001ec692ec8a0e5dd88009df
parent43d366785410bc7803e4b00ba59f99b7ca8185cc
Simple minded ethernet-over-UDP tunnels

We provide very simple point-to-point UDP tunnels which openvswitch can
use as network interfaces. The implementation uses a pair of connected
UDP sockets for each tunnel. Each ethernet frame is sent as a single
UDP datagram.

Example usage:
The following commands create a tunnel between hosts 10.0.0.1 and
10.0.0.2 (port and bridge names are arbitrary).

 - On host 10.0.0.1:
ovs-vsctl add-br br0
ovs-vsctl add-port br0 tun0 -- set interface tun0 type=tunnel \
options:remote_ip=10.0.0.2
ovs-appctl netdev-tunnel/get-lport tun0
<(1) the command replies with the local port number>

 - On host 10.0.0.2:
ovs-vsctl add-br br1
ovs-vsctl add-port br0 tun0 -- set interface tun1 type=tunnel \
options:remote_ip=10.0.0.1
ovs-appctl netdev-tunnel/get-lport tun0
<(2) the command replies with the local port number>
ovs-appctl netdev-tunnel/set-rport tun0 <the port obtained in (1)>

 - Back on host 10.0.0.1:
ovs-appctl netdev-tunnel/set-rport tun0 <the port obtained in (2)>
lib/automake.mk
lib/netdev-provider.h
lib/netdev-tunnel.c [new file with mode: 0644]
lib/netdev.c