• X
    ipv4: do metrics match when looking up and deleting a route · 5f9ae3d9
    Xin Long 提交于
    Now when ipv4 route inserts a fib_info, it memcmp fib_metrics.
    It means ipv4 route identifies one route also with metrics.
    
    But when removing a route, it tries to find the route without
    caring about the metrics. It will cause that the route with
    right metrics can't be removed.
    
    Thomas noticed this issue when doing the testing:
    
    1. add:
       # ip route append 192.168.7.0/24 dev v window 1000
       # ip route append 192.168.7.0/24 dev v window 1001
       # ip route append 192.168.7.0/24 dev v window 1002
       # ip route append 192.168.7.0/24 dev v window 1003
    2. delete:
       # ip route delete 192.168.7.0/24 dev v window 1002
    3. show:
         192.168.7.0/24 proto boot scope link window 1001
         192.168.7.0/24 proto boot scope link window 1002
         192.168.7.0/24 proto boot scope link window 1003
    
    The one with window 1002 wasn't deleted but the first one was.
    
    This patch is to do metrics match when looking up and deleting
    one route.
    Reported-by: NThomas Haller <thaller@redhat.com>
    Signed-off-by: NXin Long <lucien.xin@gmail.com>
    Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    5f9ae3d9
fib_trie.c 66.2 KB