lkml.org 
[lkml]   [2020]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 291/312] net: vxlan: lwt: Fix vxlan local traffic.
    Date
    From: pravin shelar <pshelar@ovn.org>

    commit bbec7802c6948c8626b71a4fe31283cb4691c358 upstream.

    vxlan driver has bypass for local vxlan traffic, but that
    depends on information about all VNIs on local system in
    vxlan driver. This is not available in case of LWT.
    Therefore following patch disable encap bypass for LWT
    vxlan traffic.

    Fixes: ee122c79d42 ("vxlan: Flow based tunneling").
    Reported-by: Jakub Libosvar <jlibosva@redhat.com>
    Signed-off-by: Pravin B Shelar <pshelar@ovn.org>
    Acked-by: Jiri Benc <jbenc@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/net/vxlan.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/drivers/net/vxlan.c
    +++ b/drivers/net/vxlan.c
    @@ -2054,7 +2054,7 @@ static void vxlan_xmit_one(struct sk_buf
    }

    /* Bypass encapsulation if the destination is local */
    - if (rt->rt_flags & RTCF_LOCAL &&
    + if (!info && rt->rt_flags & RTCF_LOCAL &&
    !(rt->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST))) {
    struct vxlan_dev *dst_vxlan;

    @@ -2112,7 +2112,7 @@ static void vxlan_xmit_one(struct sk_buf

    /* Bypass encapsulation if the destination is local */
    rt6i_flags = ((struct rt6_info *)ndst)->rt6i_flags;
    - if (rt6i_flags & RTF_LOCAL &&
    + if (!info && rt6i_flags & RTF_LOCAL &&
    !(rt6i_flags & (RTCF_BROADCAST | RTCF_MULTICAST))) {
    struct vxlan_dev *dst_vxlan;


    \
     
     \ /
      Last update: 2020-05-08 15:13    [W:3.391 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site