OpenFlow-level flow-based tunneling support.
authorJarno Rajahalme <jarno.rajahalme@nsn.com>
Thu, 9 May 2013 12:24:16 +0000 (15:24 +0300)
committerBen Pfaff <blp@nicira.com>
Fri, 10 May 2013 17:50:06 +0000 (10:50 -0700)
commit0ad90c845b7e82090a846fbe9f927e8d1c84cfc9
tree37cdc628cc8bcb1344075a54de68d1a62620a04c
parent500d243dad40ff667710aca1d099d97c38e6a62d
OpenFlow-level flow-based tunneling support.

Adds tun_src and tun_dst match and set capabilities via new NXM fields
NXM_NX_TUN_IPV4_SRC and NXM_NX_TUN_IPV4_DST.  This allows management of
large number of tunnels via the flow tables, without requiring the tunnels
to be pre-configured.

Flow-based tunnels can be configured with options remote_ip=flow and
local_ip=flow.  local_ip=flow requires remote_ip=flow.  When set, the
tunnel remote IP address and/or local IP address is set from the flow,
instead of the tunnel configuration.

Example:

$ ovs-vsctl add-port br0 gre -- set Interface gre ofport_request=1 type=gre options:remote_ip=flow options:key=flow
$ ovs-ofctl add-flow br0 "in_port=LOCAL actions=set_tunnel:1,set_field:192.168.0.1->tun_dst,output:1"
$ ovs-ofctl add-flow br0 "in_port=1 tun_src=192.168.0.1 tun_id=1 actions=LOCAL"

Signed-off-by: Jarno Rajahalme <jarno.rajahalme@nsn.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
17 files changed:
NEWS
include/openflow/nicira-ext.h
lib/flow.c
lib/flow.h
lib/match.c
lib/meta-flow.c
lib/netdev-vport.c
lib/netdev.h
lib/nx-match.c
lib/ofp-print.c
lib/ofp-util.c
ofproto/ofproto-dpif.c
ofproto/tunnel.c
tests/ofproto.at
tests/tunnel.at
utilities/ovs-ofctl.8.in
vswitchd/vswitch.xml