Lines Matching refs:rt6_ex

1441 				 struct rt6_exception *rt6_ex)  in rt6_remove_exception()  argument
1446 if (!bucket || !rt6_ex) in rt6_remove_exception()
1449 net = dev_net(rt6_ex->rt6i->dst.dev); in rt6_remove_exception()
1455 from = xchg((__force struct fib6_info **)&rt6_ex->rt6i->from, NULL); in rt6_remove_exception()
1457 dst_dev_put(&rt6_ex->rt6i->dst); in rt6_remove_exception()
1459 hlist_del_rcu(&rt6_ex->hlist); in rt6_remove_exception()
1460 dst_release(&rt6_ex->rt6i->dst); in rt6_remove_exception()
1461 kfree_rcu(rt6_ex, rcu); in rt6_remove_exception()
1471 struct rt6_exception *rt6_ex, *oldest = NULL; in rt6_exception_remove_oldest() local
1476 hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { in rt6_exception_remove_oldest()
1477 if (!oldest || time_before(rt6_ex->stamp, oldest->stamp)) in rt6_exception_remove_oldest()
1478 oldest = rt6_ex; in rt6_exception_remove_oldest()
1516 struct rt6_exception *rt6_ex; in __rt6_find_exception_spinlock() local
1525 hlist_for_each_entry(rt6_ex, &(*bucket)->chain, hlist) { in __rt6_find_exception_spinlock()
1526 struct rt6_info *rt6 = rt6_ex->rt6i; in __rt6_find_exception_spinlock()
1534 return rt6_ex; in __rt6_find_exception_spinlock()
1549 struct rt6_exception *rt6_ex; in __rt6_find_exception_rcu() local
1560 hlist_for_each_entry_rcu(rt6_ex, &(*bucket)->chain, hlist) { in __rt6_find_exception_rcu()
1561 struct rt6_info *rt6 = rt6_ex->rt6i; in __rt6_find_exception_rcu()
1569 return rt6_ex; in __rt6_find_exception_rcu()
1656 struct rt6_exception *rt6_ex; in rt6_insert_exception() local
1697 rt6_ex = __rt6_find_exception_spinlock(&bucket, &nrt->rt6i_dst.addr, in rt6_insert_exception()
1699 if (rt6_ex) in rt6_insert_exception()
1700 rt6_remove_exception(bucket, rt6_ex); in rt6_insert_exception()
1702 rt6_ex = kzalloc(sizeof(*rt6_ex), GFP_ATOMIC); in rt6_insert_exception()
1703 if (!rt6_ex) { in rt6_insert_exception()
1707 rt6_ex->rt6i = nrt; in rt6_insert_exception()
1708 rt6_ex->stamp = jiffies; in rt6_insert_exception()
1709 hlist_add_head_rcu(&rt6_ex->hlist, &bucket->chain); in rt6_insert_exception()
1735 struct rt6_exception *rt6_ex; in fib6_nh_flush_exceptions() local
1750 hlist_for_each_entry_safe(rt6_ex, tmp, &bucket->chain, hlist) { in fib6_nh_flush_exceptions()
1752 rcu_access_pointer(rt6_ex->rt6i->from) == from) in fib6_nh_flush_exceptions()
1753 rt6_remove_exception(bucket, rt6_ex); in fib6_nh_flush_exceptions()
1789 struct rt6_exception *rt6_ex; in rt6_find_cached_rt() local
1809 rt6_ex = __rt6_find_exception_rcu(&bucket, daddr, src_key); in rt6_find_cached_rt()
1811 if (rt6_ex && !rt6_check_expired(rt6_ex->rt6i)) in rt6_find_cached_rt()
1812 ret = rt6_ex->rt6i; in rt6_find_cached_rt()
1831 struct rt6_exception *rt6_ex; in fib6_nh_remove_exception() local
1850 rt6_ex = __rt6_find_exception_spinlock(&bucket, in fib6_nh_remove_exception()
1853 if (rt6_ex) { in fib6_nh_remove_exception()
1854 rt6_remove_exception(bucket, rt6_ex); in fib6_nh_remove_exception()
1915 struct rt6_exception *rt6_ex; in fib6_nh_update_exception() local
1928 rt6_ex = __rt6_find_exception_rcu(&bucket, &rt->rt6i_dst.addr, src_key); in fib6_nh_update_exception()
1929 if (rt6_ex) in fib6_nh_update_exception()
1930 rt6_ex->stamp = jiffies; in fib6_nh_update_exception()
2012 struct rt6_exception *rt6_ex; in rt6_exceptions_update_pmtu() local
2020 hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { in rt6_exceptions_update_pmtu()
2021 struct rt6_info *entry = rt6_ex->rt6i; in rt6_exceptions_update_pmtu()
2041 struct rt6_exception *rt6_ex; in fib6_nh_exceptions_clean_tohost() local
2052 hlist_for_each_entry_safe(rt6_ex, tmp, in fib6_nh_exceptions_clean_tohost()
2054 struct rt6_info *entry = rt6_ex->rt6i; in fib6_nh_exceptions_clean_tohost()
2060 rt6_remove_exception(bucket, rt6_ex); in fib6_nh_exceptions_clean_tohost()
2071 struct rt6_exception *rt6_ex, in rt6_age_examine_exception() argument
2075 struct rt6_info *rt = rt6_ex->rt6i; in rt6_age_examine_exception()
2086 rt6_remove_exception(bucket, rt6_ex); in rt6_age_examine_exception()
2091 rt6_remove_exception(bucket, rt6_ex); in rt6_age_examine_exception()
2106 rt6_remove_exception(bucket, rt6_ex); in rt6_age_examine_exception()
2119 struct rt6_exception *rt6_ex; in fib6_nh_age_exceptions() local
2131 hlist_for_each_entry_safe(rt6_ex, tmp, in fib6_nh_age_exceptions()
2133 rt6_age_examine_exception(bucket, rt6_ex, in fib6_nh_age_exceptions()
5691 struct rt6_exception *rt6_ex; in rt6_nh_dump_exceptions() local
5699 hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { in rt6_nh_dump_exceptions()
5716 if (rt6_check_expired(rt6_ex->rt6i)) { in rt6_nh_dump_exceptions()
5722 &rt6_ex->rt6i->dst, NULL, NULL, 0, in rt6_nh_dump_exceptions()