• Hangbin Liu's avatar
    selftests: fib_test: add a test case for IPv6 source address delete · 429b55b4
    Hangbin Liu authored
    Add a test case for IPv6 source address delete.
    
    As David suggested, add tests:
    - Single device using src address
    - Two devices with the same source address
    - VRF with single device using src address
    - VRF with two devices using src address
    
    As Ido points out, in IPv6, the preferred source address is looked up in
    the same VRF as the first nexthop device. This will give us similar results
    to IPv4 if the route is installed in the same VRF as the nexthop device, but
    not when the nexthop device is enslaved to a different VRF. So add tests:
    - src address and nexthop dev in same VR
    - src address and nexthop device in different VRF
    
    The link local address delete logic is different from the global address.
    It should only affect the associate device it bonds to. So add tests cases
    for link local address testing.
    
    Here is the test result:
    
    IPv6 delete address route tests
        Single device using src address
        TEST: Prefsrc removed when src address removed on other device      [ OK ]
        Two devices with the same source address
        TEST: Prefsrc not removed when src address exist on other device    [ OK ]
        TEST: Prefsrc removed when src address removed on all devices       [ OK ]
        VRF with single device using src address
        TEST: Prefsrc removed when src address removed on other device      [ OK ]
        VRF with two devices using src address
        TEST: Prefsrc not removed when src address exist on other device    [ OK ]
        TEST: Prefsrc removed when src address removed on all devices       [ OK ]
        src address and nexthop dev in same VRF
        TEST: Prefsrc removed from VRF when source address deleted          [ OK ]
        TEST: Prefsrc in default VRF not removed                            [ OK ]
        TEST: Prefsrc not removed from VRF when source address exist        [ OK ]
        TEST: Prefsrc in default VRF removed                                [ OK ]
        src address and nexthop device in different VRF
        TEST: Prefsrc not removed from VRF when nexthop dev in diff VRF     [ OK ]
        TEST: Prefsrc not removed in default VRF                            [ OK ]
        TEST: Prefsrc removed from VRF when nexthop dev in diff VRF         [ OK ]
        TEST: Prefsrc removed in default VRF                                [ OK ]
        Table ID 0
        TEST: Prefsrc removed from default VRF when source address deleted  [ OK ]
        Link local source route
        TEST: Prefsrc not removed when delete ll addr from other dev        [ OK ]
        TEST: Prefsrc removed when delete ll addr                           [ OK ]
        TEST: Prefsrc not removed when delete ll addr from other dev        [ OK ]
        TEST: Prefsrc removed even ll addr still exist on other dev         [ OK ]
    
    Tests passed:  19
    Tests failed:   0
    Suggested-by: default avatarIdo Schimmel <idosch@idosch.org>
    Suggested-by: default avatarDavid Ahern <dsahern@kernel.org>
    Signed-off-by: default avatarHangbin Liu <liuhangbin@gmail.com>
    Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
    Reviewed-by: default avatarIdo Schimmel <idosch@nvidia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    429b55b4
fib_tests.sh 69.8 KB