On Fri, May 20, 2016 at 12:14 PM, Jesse Gross <[email protected]> wrote:
> On Wed, May 4, 2016 at 4:35 PM, Pravin B Shelar <[email protected]> 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
[email protected]
http://openvswitch.org/mailman/listinfo/dev