[ovs-dev] [PATCH 0/7] OpenFlow-level flow-based tunneling support
Jarno Rajahalme
jarno.rajahalme at nsn.com
Thu Apr 18 15:07:38 UTC 2013
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
More information about the dev
mailing list