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 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" Jarno Rajahalme (7): odp-util: Keep base flow in sync with the kernel view. ofproto-dpif: Restore flow nw_tos in all cases. ofproto-dpif: Restore all flow changes by compose_output_action__(). Keep all of tunnel metadata in flow. ofproto-dpif: Remove unnecessary initial_vals.tunnel_ip_tos. ofproto-dpif: Keep perfect fitness on tunnel input. OpenFlow-level flow-based tunneling support. include/openflow/nicira-ext.h | 3 ++ lib/flow.c | 2 ++ lib/flow.h | 2 ++ lib/match.c | 4 --- lib/meta-flow.c | 20 ++++++------ lib/netdev-vport.c | 21 +++++++++++-- lib/netdev.h | 2 ++ lib/nx-match.c | 8 ++++- lib/odp-util.c | 9 +++--- lib/ofp-print.c | 8 +++++ lib/ofp-util.c | 29 +++++++++--------- ofproto/ofproto-dpif.c | 67 ++++++++++++++++++++--------------------- ofproto/tunnel.c | 41 +++++++++++++++++++++---- tests/ofproto.at | 27 +++++++++++++++++ tests/tunnel.at | 28 +++++++++++++++++ 15 files changed, 194 insertions(+), 77 deletions(-) -- 1.7.10.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev