X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ofproto%2Ftunnel.c;h=afe7221d51b14f2ba652b574becb633779fd2971;hb=85c9de194b9f432f7b8a66bda980cbab52a55b72;hp=7d45930b3bfd2213216db9a2d76ff23b69f84edc;hpb=0d0673857b5b2a50f6aef62e0f042795d9893690;p=sliver-openvswitch.git diff --git a/ofproto/tunnel.c b/ofproto/tunnel.c index 7d45930b3..afe7221d5 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; }