Lines Matching refs:table

305 					     struct fib6_table *table)  in ip6_dst_alloc()  argument
314 rt6_init_peer(rt, table ? &table->tb6_peers : net->ipv6.peers); in ip6_dst_alloc()
791 struct fib6_table *table, in ip6_pol_route_lookup() argument
797 read_lock_bh(&table->tb6_lock); in ip6_pol_route_lookup()
798 fn = fib6_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in ip6_pol_route_lookup()
810 read_unlock_bh(&table->tb6_lock); in ip6_pol_route_lookup()
857 struct fib6_table *table; in __ip6_ins_rt() local
859 table = rt->rt6i_table; in __ip6_ins_rt()
860 write_lock_bh(&table->tb6_lock); in __ip6_ins_rt()
861 err = fib6_add(&table->tb6_root, rt, info, mxc); in __ip6_ins_rt()
862 write_unlock_bh(&table->tb6_lock); in __ip6_ins_rt()
915 static struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, int oif, in ip6_pol_route() argument
929 read_lock_bh(&table->tb6_lock); in ip6_pol_route()
931 fn = fib6_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in ip6_pol_route()
949 read_unlock_bh(&table->tb6_lock); in ip6_pol_route()
955 read_unlock_bh(&table->tb6_lock); in ip6_pol_route()
994 static struct rt6_info *ip6_pol_route_input(struct net *net, struct fib6_table *table, in ip6_pol_route_input() argument
997 return ip6_pol_route(net, table, fl6->flowi6_iif, fl6, flags); in ip6_pol_route_input()
1027 static struct rt6_info *ip6_pol_route_output(struct net *net, struct fib6_table *table, in ip6_pol_route_output() argument
1030 return ip6_pol_route(net, table, fl6->flowi6_oif, fl6, flags); in ip6_pol_route_output()
1202 struct fib6_table *table, in __ip6_route_redirect() argument
1220 read_lock_bh(&table->tb6_lock); in __ip6_route_redirect()
1221 fn = fib6_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in __ip6_route_redirect()
1253 read_unlock_bh(&table->tb6_lock); in __ip6_route_redirect()
1523 struct fib6_table *table; in ip6_route_info_create() local
1548 table = fib6_get_table(net, cfg->fc_table); in ip6_route_info_create()
1549 if (!table) { in ip6_route_info_create()
1551 table = fib6_new_table(net, cfg->fc_table); in ip6_route_info_create()
1554 table = fib6_new_table(net, cfg->fc_table); in ip6_route_info_create()
1557 if (!table) in ip6_route_info_create()
1560 rt = ip6_dst_alloc(net, NULL, (cfg->fc_flags & RTF_ADDRCONF) ? 0 : DST_NOCOUNT, table); in ip6_route_info_create()
1715 rt->rt6i_table = table; in ip6_route_info_create()
1764 struct fib6_table *table; in __ip6_del_rt() local
1772 table = rt->rt6i_table; in __ip6_del_rt()
1773 write_lock_bh(&table->tb6_lock); in __ip6_del_rt()
1775 write_unlock_bh(&table->tb6_lock); in __ip6_del_rt()
1792 struct fib6_table *table; in ip6_route_del() local
1797 table = fib6_get_table(cfg->fc_nlinfo.nl_net, cfg->fc_table); in ip6_route_del()
1798 if (!table) in ip6_route_del()
1801 read_lock_bh(&table->tb6_lock); in ip6_route_del()
1803 fn = fib6_locate(&table->tb6_root, in ip6_route_del()
1819 read_unlock_bh(&table->tb6_lock); in ip6_route_del()
1824 read_unlock_bh(&table->tb6_lock); in ip6_route_del()
1995 struct fib6_table *table; in rt6_get_route_info() local
1997 table = fib6_get_table(net, RT6_TABLE_INFO); in rt6_get_route_info()
1998 if (!table) in rt6_get_route_info()
2001 read_lock_bh(&table->tb6_lock); in rt6_get_route_info()
2002 fn = fib6_locate(&table->tb6_root, prefix, prefixlen, NULL, 0); in rt6_get_route_info()
2017 read_unlock_bh(&table->tb6_lock); in rt6_get_route_info()
2054 struct fib6_table *table; in rt6_get_dflt_router() local
2056 table = fib6_get_table(dev_net(dev), RT6_TABLE_DFLT); in rt6_get_dflt_router()
2057 if (!table) in rt6_get_dflt_router()
2060 read_lock_bh(&table->tb6_lock); in rt6_get_dflt_router()
2061 for (rt = table->tb6_root.leaf; rt; rt = rt->dst.rt6_next) { in rt6_get_dflt_router()
2069 read_unlock_bh(&table->tb6_lock); in rt6_get_dflt_router()
2098 struct fib6_table *table; in rt6_purge_dflt_routers() local
2101 table = fib6_get_table(net, RT6_TABLE_DFLT); in rt6_purge_dflt_routers()
2102 if (!table) in rt6_purge_dflt_routers()
2106 read_lock_bh(&table->tb6_lock); in rt6_purge_dflt_routers()
2107 for (rt = table->tb6_root.leaf; rt; rt = rt->dst.rt6_next) { in rt6_purge_dflt_routers()
2111 read_unlock_bh(&table->tb6_lock); in rt6_purge_dflt_routers()
2116 read_unlock_bh(&table->tb6_lock); in rt6_purge_dflt_routers()
2761 u32 table; in rt6_fill_node() local
2780 table = rt->rt6i_table->tb6_id; in rt6_fill_node()
2782 table = RT6_TABLE_UNSPEC; in rt6_fill_node()
2783 rtm->rtm_table = table; in rt6_fill_node()
2784 if (nla_put_u32(skb, RTA_TABLE, table)) in rt6_fill_node()
3196 struct ctl_table *table; in ipv6_route_sysctl_init() local
3198 table = kmemdup(ipv6_route_table_template, in ipv6_route_sysctl_init()
3202 if (table) { in ipv6_route_sysctl_init()
3203 table[0].data = &net->ipv6.sysctl.flush_delay; in ipv6_route_sysctl_init()
3204 table[0].extra1 = net; in ipv6_route_sysctl_init()
3205 table[1].data = &net->ipv6.ip6_dst_ops.gc_thresh; in ipv6_route_sysctl_init()
3206 table[2].data = &net->ipv6.sysctl.ip6_rt_max_size; in ipv6_route_sysctl_init()
3207 table[3].data = &net->ipv6.sysctl.ip6_rt_gc_min_interval; in ipv6_route_sysctl_init()
3208 table[4].data = &net->ipv6.sysctl.ip6_rt_gc_timeout; in ipv6_route_sysctl_init()
3209 table[5].data = &net->ipv6.sysctl.ip6_rt_gc_interval; in ipv6_route_sysctl_init()
3210 table[6].data = &net->ipv6.sysctl.ip6_rt_gc_elasticity; in ipv6_route_sysctl_init()
3211 table[7].data = &net->ipv6.sysctl.ip6_rt_mtu_expires; in ipv6_route_sysctl_init()
3212 table[8].data = &net->ipv6.sysctl.ip6_rt_min_advmss; in ipv6_route_sysctl_init()
3213 table[9].data = &net->ipv6.sysctl.ip6_rt_gc_min_interval; in ipv6_route_sysctl_init()
3217 table[0].procname = NULL; in ipv6_route_sysctl_init()
3220 return table; in ipv6_route_sysctl_init()