On Fri, May 20, 2016 at 12:14 PM, Jesse Gross <je...@kernel.org> wrote:
> On Wed, May 4, 2016 at 4:35 PM, Pravin B Shelar <pshe...@ovn.org> wrote:
>> diff --git a/datapath/flow_netlink.c b/datapath/flow_netlink.c
>> index 6ffcc53..0003f89 100644
>> --- a/datapath/flow_netlink.c
>> +++ b/datapath/flow_netlink.c
>>  static int metadata_from_nlattrs(struct net *net, struct sw_flow_match 
>> *match,
>> @@ -2390,10 +2389,7 @@ static int set_action_to_attr(const struct nlattr *a, 
>> struct sk_buff *skb)
>>                 if (!start)
>>                         return -EMSGSIZE;
>>
>> -               err = ipv4_tun_to_nlattr(skb, &tun_info->key,
>> -                                        tun_info->options_len ?
>> -                                            ip_tunnel_info_opts(tun_info) : 
>> NULL,
>> -                                        tun_info->options_len);
>> +               err = ovs_nla_put_tunnel_info(skb, tun_info);
>>                 if (err)
>>                         return err;
>>                 nla_nest_end(skb, start);
>
> I think this patch is primarily a backport of fc4099f1 ("openvswitch:
> Fix egress tunnel info.") - which would be good to note in the commit
> message. However, in doing so, it introduces the problem addressed by
> e905eabc ("openvswitch: correct encoding of set tunnel action
> attributes"). It would be good to include that as a patch in this
> series.
>
ok, I will add separate patch for this fix.

>> diff --git a/datapath/linux/compat/geneve.c b/datapath/linux/compat/geneve.c
>> index 0399de7..f38d4a3 100644
>> --- a/datapath/linux/compat/geneve.c
>> +++ b/datapath/linux/compat/geneve.c
>
> There were some other changes to the Geneve routing code that don't
> appear here. They are included in the last patch but since they were
> associated with this original upstream change, it seems more
> appropriate here.
>
ok.

>>  static void ipgre_tap_setup(struct net_device *dev)
>> diff --git a/datapath/linux/compat/lisp.c b/datapath/linux/compat/lisp.c
>> index f1f50ae..0a92dca 100644
>> --- a/datapath/linux/compat/lisp.c
>> +++ b/datapath/linux/compat/lisp.c
>> +static int egress_ipv4_tun_info(struct net_device *dev, struct sk_buff *skb,
>> +               struct ip_tunnel_info *info,
>> +               __be16 sport, __be16 dport)
>> +{
>> +       struct lisp_dev *lisp = netdev_priv(dev);
>> +       struct rtable *rt;
>> +       struct flowi4 fl4;
>> +
>> +       memset(&fl4, 0, sizeof(fl4));
>> +       fl4.flowi4_tos = RT_TOS(info->key.tos);
>> +       fl4.flowi4_mark = skb->mark;
>> +       fl4.flowi4_proto = IPPROTO_UDP;
>> +       fl4.daddr = info->key.u.ipv4.dst;
>> +
>> +       rt = ip_route_output_key(lisp->net, &fl4);
>> +       if (IS_ERR(rt))
>> +               return PTR_ERR(rt);
>> +       ip_rt_put(rt);
>> +
>> +       info->key.u.ipv4.src = fl4.saddr;
>> +       info->key.tp_src = sport;
>> +       info->key.tp_dst = dport;
>> +       return 0;
>> +}
>
> Was this supposed to be used by the xmit function as well, like you
> did with STT?
>
ok, I refactored code to do same as STT.

> When comparing this to STT, I also noticed that it seems STT isn't
> reporting the L4 ports.
>
ok. I will fix it.

>> diff --git a/datapath/vport.c b/datapath/vport.c
>> index 44b9dfb..c789a40 100644
>> --- a/datapath/vport.c
>> +++ b/datapath/vport.c
>> @@ -41,6 +41,7 @@
>>  #include "gso.h"
>>  #include "vport.h"
>>  #include "vport-internal_dev.h"
>> +#include "vport-netdev.h"
>
> Extra header inclusion? (It's not upstream either.)

I removed it.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to