nfi->fib_prefsrc == fi->fib_prefsrc &&
                    nfi->fib_priority == fi->fib_priority &&
                    nfi->fib_type == fi->fib_type &&
+                   nfi->fib_tb_id == fi->fib_tb_id &&
                    memcmp(nfi->fib_metrics, fi->fib_metrics,
                           sizeof(u32) * RTAX_MAX) == 0 &&
                    !((nfi->fib_flags ^ fi->fib_flags) & ~RTNH_COMPARE_MASK) &&
 
 
        $IP addr add dev dummy1 172.16.104.1/24
        $IP addr add dev dummy1 172.16.104.11/24
+       $IP addr add dev dummy1 172.16.104.12/24
        $IP addr add dev dummy2 172.16.104.1/24
        $IP addr add dev dummy2 172.16.104.11/24
+       $IP addr add dev dummy2 172.16.104.12/24
        $IP route add 172.16.105.0/24 via 172.16.104.2 src 172.16.104.11
+       $IP route add 172.16.106.0/24 dev lo src 172.16.104.12
        $IP route add vrf red 172.16.105.0/24 via 172.16.104.2 src 172.16.104.11
+       $IP route add vrf red 172.16.106.0/24 dev lo src 172.16.104.12
        set +e
 
        # removing address from device in vrf should only remove route from vrf table
+       echo "    Regular FIB info"
+
        $IP addr del dev dummy2 172.16.104.11/24
        $IP ro ls vrf red | grep -q 172.16.105.0/24
        log_test $? 1 "Route removed from VRF when source address deleted"
        $IP ro ls vrf red | grep -q 172.16.105.0/24
        log_test $? 0 "Route in VRF is not removed by address delete"
 
+       # removing address from device in vrf should only remove route from vrf
+       # table even when the associated fib info only differs in table ID
+       echo "    Identical FIB info with different table ID"
+
+       $IP addr del dev dummy2 172.16.104.12/24
+       $IP ro ls vrf red | grep -q 172.16.106.0/24
+       log_test $? 1 "Route removed from VRF when source address deleted"
+
+       $IP ro ls | grep -q 172.16.106.0/24
+       log_test $? 0 "Route in default VRF not removed"
+
+       $IP addr add dev dummy2 172.16.104.12/24
+       $IP route add vrf red 172.16.106.0/24 dev lo src 172.16.104.12
+
+       $IP addr del dev dummy1 172.16.104.12/24
+       $IP ro ls | grep -q 172.16.106.0/24
+       log_test $? 1 "Route removed in default VRF when source address deleted"
+
+       $IP ro ls vrf red | grep -q 172.16.106.0/24
+       log_test $? 0 "Route in VRF is not removed by address delete"
+
        $IP li del dummy1
        $IP li del dummy2
        cleanup