On Wed, Nov 9, 2016 at 8:59 AM, Jiri Benc <jb...@redhat.com> wrote:
> On Sat,  5 Nov 2016 11:45:56 -0700, Pravin B Shelar wrote:
>> @@ -2006,11 +2004,34 @@ static void vxlan_xmit_one(struct sk_buff *skb, 
>> struct net_device *dev,
>>       info = skb_tunnel_info(skb);
>>
>>       if (rdst) {
>> +             dst = &rdst->remote_ip;
>> +             if (vxlan_addr_any(dst)) {
>> +                     if (did_rsc) {
>> +                             /* short-circuited back to local bridge */
>> +                             vxlan_encap_bypass(skb, vxlan, vxlan);
>> +                             return;
>> +                     }
>> +                     goto drop;
>> +             }
>> +
>>               dst_port = rdst->remote_port ? rdst->remote_port : 
>> vxlan->cfg.dst_port;
>>               vni = rdst->remote_vni;
>> -             dst = &rdst->remote_ip;
>>               src = &vxlan->cfg.saddr;
>>               dst_cache = &rdst->dst_cache;
>> +             md->gbp = skb->mark;
>> +             ttl = vxlan->cfg.ttl;
>> +             if (!ttl && vxlan_addr_multicast(dst))
>> +                     ttl = 1;
>> +
>> +             tos = vxlan->cfg.tos;
>> +             if (tos == 1)
>> +                     tos = ip_tunnel_get_dsfield(old_iph, skb);
>
> Uninitialized old_iph.
>
It is initialized in begining of this function.

> Besides, you can't do this, having TOS, TTL, etc. specified is
> perfectly legal for lwtunnel interfaces, too.
>

TOS and TTL is initialized for LWT just else block. so I do not see
any changes compared to current implementation.

Can you elaborate on your concerns?

Reply via email to