lkml.org 
[lkml]   [2019]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.3 003/193] ipv4: Fix table id reference in fib_sync_down_addr
    Date
    From: David Ahern <dsahern@kernel.org>

    [ Upstream commit e0a312629fefa943534fc46f7bfbe6de3fdaf463 ]

    Hendrik reported routes in the main table using source address are not
    removed when the address is removed. The problem is that fib_sync_down_addr
    does not account for devices in the default VRF which are associated
    with the main table. Fix by updating the table id reference.

    Fixes: 5a56a0b3a45d ("net: Don't delete routes in different VRFs")
    Reported-by: Hendrik Donner <hd@os-cillation.de>
    Signed-off-by: David Ahern <dsahern@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/ipv4/fib_semantics.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/net/ipv4/fib_semantics.c
    +++ b/net/ipv4/fib_semantics.c
    @@ -1814,8 +1814,8 @@ int fib_sync_down_addr(struct net_device
    int ret = 0;
    unsigned int hash = fib_laddr_hashfn(local);
    struct hlist_head *head = &fib_info_laddrhash[hash];
    + int tb_id = l3mdev_fib_table(dev) ? : RT_TABLE_MAIN;
    struct net *net = dev_net(dev);
    - int tb_id = l3mdev_fib_table(dev);
    struct fib_info *fi;

    if (!fib_info_laddrhash || local == 0)

    \
     
     \ /
      Last update: 2019-11-11 19:49    [W:4.082 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site