diff options
author | Pravin B Shelar <pshelar@nicira.com> | 2013-03-06 10:34:24 -0800 |
---|---|---|
committer | Pravin B Shelar <pshelar@nicira.com> | 2013-03-06 10:34:24 -0800 |
commit | 12db604eb63272924e122f57640b5ebd9a20c87a (patch) | |
tree | ac83e32d2f03abc792452e68d67d1415e63b3849 /ofproto | |
parent | 2834ce46735cb31d3007d2c0364583f57d2903b1 (diff) |
Tunnel: Cleanup old tunnel infrastructure.
Since userspace flow based tunneling code is checked in, the kernel
port based tunneling code can be removed.
Patch removes following components:
- tunnel ports hash table and moved tunnel ports list to individual
vports.
- Cleaned per tnl-port config.
- OVS_KEY_ATTR_TUN_ID action is removed.
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
Bug #15078
Diffstat (limited to 'ofproto')
-rw-r--r-- | ofproto/tunnel.c | 48 |
1 files changed, 8 insertions, 40 deletions
diff --git a/ofproto/tunnel.c b/ofproto/tunnel.c index 7d45930b..afe7221d 100644 --- a/ofproto/tunnel.c +++ b/ofproto/tunnel.c @@ -34,8 +34,6 @@ * * Ability to generate actions on input for ECN * Ability to generate metadata for packet-outs - * VXLAN. - * Multicast group management (possibly). * Disallow netdevs with names like "gre64_system" to prevent collisions. */ VLOG_DEFINE_THIS_MODULE(tunnel); @@ -322,15 +320,12 @@ static struct tnl_port * tnl_find(struct tnl_match *match_) { struct tnl_match match = *match_; - bool is_multicast = ip_is_multicast(match.ip_src); struct tnl_port *tnl_port; /* remote_ip, local_ip, in_key */ - if (!is_multicast) { - tnl_port = tnl_find_exact(&match); - if (tnl_port) { - return tnl_port; - } + tnl_port = tnl_find_exact(&match); + if (tnl_port) { + return tnl_port; } /* remote_ip, in_key */ @@ -342,47 +337,20 @@ tnl_find(struct tnl_match *match_) match.ip_src = match_->ip_src; /* remote_ip, local_ip */ - if (!is_multicast) { - match.in_key = 0; - match.in_key_flow = true; - tnl_port = tnl_find_exact(&match); - if (tnl_port) { - return tnl_port; - } - match.in_key = match_->in_key; - match.in_key_flow = false; + match.in_key = 0; + match.in_key_flow = true; + tnl_port = tnl_find_exact(&match); + if (tnl_port) { + return tnl_port; } /* remote_ip */ match.ip_src = 0; - match.in_key = 0; - match.in_key_flow = true; tnl_port = tnl_find_exact(&match); if (tnl_port) { return tnl_port; } - match.ip_src = match_->ip_src; - match.in_key = match_->in_key; - match.in_key_flow = false; - - if (is_multicast) { - match.ip_src = 0; - match.ip_dst = match_->ip_src; - /* multicast remote_ip, in_key */ - tnl_port = tnl_find_exact(&match); - if (tnl_port) { - return tnl_port; - } - - /* multicast remote_ip */ - match.in_key = 0; - match.in_key_flow = true; - tnl_port = tnl_find_exact(&match); - if (tnl_port) { - return tnl_port; - } - } return NULL; } |