On Fri, Jan 22, 2016 at 11:51 AM, Jesse Gross <je...@kernel.org> wrote: > On Sun, Jan 10, 2016 at 11:18 PM, Pravin B Shelar <pshe...@nicira.com> wrote: >> diff --git a/lib/tnl-ports.c b/lib/tnl-ports.c >> index e7f2066..13d114d 100644 >> --- a/lib/tnl-ports.c >> +++ b/lib/tnl-ports.c >> @@ -95,24 +96,28 @@ tnl_port_init_flow(struct flow *flow, struct eth_addr >> mac, >> - if (udp_port) { >> - flow->nw_proto = IPPROTO_UDP; >> + if (tp_port) { >> + if (!strcmp(type, "stt")) { >> + flow->nw_proto = IPPROTO_TCP; >> + } else { >> + flow->nw_proto = IPPROTO_UDP; >> + } >> } else { >> flow->nw_proto = IPPROTO_GRE; >> } > > Now that we have the type, it might be better to just use it in all > cases instead of heuristics like no port numbers. > ok.
>> @@ -129,9 +134,9 @@ map_insert(odp_port_t port, struct eth_addr mac, struct >> in6_addr *addr, >> /* XXX: No fragments support. */ >> match.wc.masks.nw_frag = FLOW_NW_FRAG_MASK; >> >> - /* 'udp_port' is zero for non-UDP tunnels (e.g. GRE). In this case >> it >> + /* 'tp_port' is zero for non-UDP tunnels (e.g. GRE). In this case it > > Not just UDP tunnels any more. > >> void >> tnl_port_map_insert(odp_port_t port, >> - ovs_be16 udp_port, const char dev_name[]) >> + ovs_be16 tp_port, const char dev_name[], const char >> type[]) >> { >> struct tnl_port *p; >> struct ip_device *ip_dev; >> >> ovs_mutex_lock(&mutex); >> LIST_FOR_EACH(p, node, &port_list) { >> - if (udp_port == p->udp_port) { >> + if (tp_port == p->tp_port) { >> goto out; >> } >> } > > Doesn't this need to check the type? Also the same when we delete the tunnel. right, I will add type to this check. > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev