[ovs-dev] [PATCH 7/8] tnl-ports: Handle STT ports.
pravin shelar
pshelar at ovn.org
Fri Jan 22 20:52:51 UTC 2016
On Fri, Jan 22, 2016 at 11:51 AM, Jesse Gross <jesse at kernel.org> wrote:
> On Sun, Jan 10, 2016 at 11:18 PM, Pravin B Shelar <pshelar at 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 at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list