--- zzzz-none-000/linux-2.6.28.10/net/ipv4/fib_frontend.c 2009-05-02 18:54:43.000000000 +0000 +++ puma5-6360-529/linux-2.6.28.10/net/ipv4/fib_frontend.c 2012-05-07 13:46:59.000000000 +0000 @@ -685,11 +685,13 @@ .nl_net = net, }, }; + u32 n; if (type == RTN_UNICAST) - tb = fib_new_table(net, RT_TABLE_MAIN); + n = IN_DEV_CONF_GET(ifa->ifa_dev, IFADDR_RTABLE); else - tb = fib_new_table(net, RT_TABLE_LOCAL); + n = RT_TABLE_LOCAL; + tb = fib_new_table(net, n); if (tb == NULL) return;