lkml.org 
[lkml]   [2012]   [Sep]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 031/218] openvswitch: Reset upper layer protocol info on internal devices.
    Date
    3.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------


    From: Jesse Gross <jesse@nicira.com>

    [ Upstream commit 7fe99e2d434eafeac0c57b279a77e5de39212636 ]

    It's possible that packets that are sent on internal devices (from
    the OVS perspective) have already traversed the local IP stack.
    After they go through the internal device, they will again travel
    through the IP stack which may get confused by the presence of
    existing information in the skb. The problem can be observed
    when switching between namespaces. This clears out that information
    to avoid problems but deliberately leaves other metadata alone.
    This is to provide maximum flexibility in chaining together OVS
    and other Linux components.

    Signed-off-by: Jesse Gross <jesse@nicira.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/openvswitch/vport-internal_dev.c | 8 ++++++++
    1 file changed, 8 insertions(+)

    --- a/net/openvswitch/vport-internal_dev.c
    +++ b/net/openvswitch/vport-internal_dev.c
    @@ -24,6 +24,9 @@
    #include <linux/ethtool.h>
    #include <linux/skbuff.h>

    +#include <net/dst.h>
    +#include <net/xfrm.h>
    +
    #include "datapath.h"
    #include "vport-internal_dev.h"
    #include "vport-netdev.h"
    @@ -209,6 +212,11 @@ static int internal_dev_recv(struct vpor
    int len;

    len = skb->len;
    +
    + skb_dst_drop(skb);
    + nf_reset(skb);
    + secpath_reset(skb);
    +
    skb->dev = netdev;
    skb->pkt_type = PACKET_HOST;
    skb->protocol = eth_type_trans(skb, netdev);



    \
     
     \ /
      Last update: 2012-09-29 01:01    [W:4.040 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site