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