On Thu, Jul 7, 2016 at 6:27 PM, Jesse Gross <je...@kernel.org> wrote:
> On Thu, Jul 7, 2016 at 5:23 PM, Pravin B Shelar <pshe...@ovn.org> wrote:
>> diff --git a/datapath/linux/compat/dev-openvswitch.c 
>> b/datapath/linux/compat/dev-openvswitch.c
>> index 0d2088b..544c5e1 100644
>> --- a/datapath/linux/compat/dev-openvswitch.c
>> +++ b/datapath/linux/compat/dev-openvswitch.c
>> +#ifndef HAVE_NDO_FILL_METADATA_DST
>> +int ovs_dev_fill_metadata_dst(struct net_device *dev, struct sk_buff *skb)
>> +{
>> +       struct ip_tunnel_info *info;
>> +       struct vport *vport;
>> +
>> +       vport = ovs_netdev_get_vport(dev);
>> +       if (!vport)
>> +               return -EINVAL;
>> +
>> +       if (!vport->ops->fill_metadata_dst)
>> +               return -EINVAL;
>> +
>> +       info = skb_tunnel_info(skb);
>
> I just noticed that the upstream version of this function makes a copy
> of the ip_tunnel_info but this just accesses it, which will presumably
> result in writing directly on the original in the set tunnel action.
> That's not good but I guess is OK if the fields are essentially
> garbage to start off with (like the UDP source port). However, it
> seems like there will be issues if multiple sample actions run
> concurrently.

Good catch.
Now this patch and dst-cache patch needs review, so I will only send
these two patch out for review.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to