• David Ahern's avatar
    net: ipv4: Fix multipath selection with vrf · 7a18c5b9
    David Ahern authored
    fib_select_path does not call fib_select_multipath if oif is set in the
    flow struct. For VRF use cases oif is always set, so multipath route
    selection is bypassed. Use the FLOWI_FLAG_SKIP_NH_OIF to skip the oif
    check similar to what is done in fib_table_lookup.
    
    Add saddr and proto to the flow struct for the fib lookup done by the
    VRF driver to better match hash computation for a flow.
    
    Fixes: 613d09b3 ("net: Use VRF device index for lookups on TX")
    Signed-off-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7a18c5b9
vrf.c 31.2 KB