aboutsummaryrefslogtreecommitdiff
path: root/ofproto
diff options
context:
space:
mode:
authorPravin B Shelar <pshelar@nicira.com>2013-03-06 10:34:24 -0800
committerPravin B Shelar <pshelar@nicira.com>2013-03-06 10:34:24 -0800
commit12db604eb63272924e122f57640b5ebd9a20c87a (patch)
treeac83e32d2f03abc792452e68d67d1415e63b3849 /ofproto
parent2834ce46735cb31d3007d2c0364583f57d2903b1 (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.c48
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;
}