Lines Matching refs:rt6_ex

1433 				 struct rt6_exception *rt6_ex)  in rt6_remove_exception()  argument
1438 if (!bucket || !rt6_ex) in rt6_remove_exception()
1441 net = dev_net(rt6_ex->rt6i->dst.dev); in rt6_remove_exception()
1447 from = xchg((__force struct fib6_info **)&rt6_ex->rt6i->from, NULL); in rt6_remove_exception()
1449 dst_dev_put(&rt6_ex->rt6i->dst); in rt6_remove_exception()
1451 hlist_del_rcu(&rt6_ex->hlist); in rt6_remove_exception()
1452 dst_release(&rt6_ex->rt6i->dst); in rt6_remove_exception()
1453 kfree_rcu(rt6_ex, rcu); in rt6_remove_exception()
1463 struct rt6_exception *rt6_ex, *oldest = NULL; in rt6_exception_remove_oldest() local
1468 hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { in rt6_exception_remove_oldest()
1469 if (!oldest || time_before(rt6_ex->stamp, oldest->stamp)) in rt6_exception_remove_oldest()
1470 oldest = rt6_ex; in rt6_exception_remove_oldest()
1501 struct rt6_exception *rt6_ex; in __rt6_find_exception_spinlock() local
1510 hlist_for_each_entry(rt6_ex, &(*bucket)->chain, hlist) { in __rt6_find_exception_spinlock()
1511 struct rt6_info *rt6 = rt6_ex->rt6i; in __rt6_find_exception_spinlock()
1519 return rt6_ex; in __rt6_find_exception_spinlock()
1534 struct rt6_exception *rt6_ex; in __rt6_find_exception_rcu() local
1545 hlist_for_each_entry_rcu(rt6_ex, &(*bucket)->chain, hlist) { in __rt6_find_exception_rcu()
1546 struct rt6_info *rt6 = rt6_ex->rt6i; in __rt6_find_exception_rcu()
1554 return rt6_ex; in __rt6_find_exception_rcu()
1641 struct rt6_exception *rt6_ex; in rt6_insert_exception() local
1681 rt6_ex = __rt6_find_exception_spinlock(&bucket, &nrt->rt6i_dst.addr, in rt6_insert_exception()
1683 if (rt6_ex) in rt6_insert_exception()
1684 rt6_remove_exception(bucket, rt6_ex); in rt6_insert_exception()
1686 rt6_ex = kzalloc(sizeof(*rt6_ex), GFP_ATOMIC); in rt6_insert_exception()
1687 if (!rt6_ex) { in rt6_insert_exception()
1691 rt6_ex->rt6i = nrt; in rt6_insert_exception()
1692 rt6_ex->stamp = jiffies; in rt6_insert_exception()
1693 hlist_add_head_rcu(&rt6_ex->hlist, &bucket->chain); in rt6_insert_exception()
1717 struct rt6_exception *rt6_ex; in fib6_nh_flush_exceptions() local
1732 hlist_for_each_entry_safe(rt6_ex, tmp, &bucket->chain, hlist) { in fib6_nh_flush_exceptions()
1734 rcu_access_pointer(rt6_ex->rt6i->from) == from) in fib6_nh_flush_exceptions()
1735 rt6_remove_exception(bucket, rt6_ex); in fib6_nh_flush_exceptions()
1771 struct rt6_exception *rt6_ex; in rt6_find_cached_rt() local
1791 rt6_ex = __rt6_find_exception_rcu(&bucket, daddr, src_key); in rt6_find_cached_rt()
1793 if (rt6_ex && !rt6_check_expired(rt6_ex->rt6i)) in rt6_find_cached_rt()
1794 ret = rt6_ex->rt6i; in rt6_find_cached_rt()
1813 struct rt6_exception *rt6_ex; in fib6_nh_remove_exception() local
1832 rt6_ex = __rt6_find_exception_spinlock(&bucket, in fib6_nh_remove_exception()
1835 if (rt6_ex) { in fib6_nh_remove_exception()
1836 rt6_remove_exception(bucket, rt6_ex); in fib6_nh_remove_exception()
1897 struct rt6_exception *rt6_ex; in fib6_nh_update_exception() local
1910 rt6_ex = __rt6_find_exception_rcu(&bucket, &rt->rt6i_dst.addr, src_key); in fib6_nh_update_exception()
1911 if (rt6_ex) in fib6_nh_update_exception()
1912 rt6_ex->stamp = jiffies; in fib6_nh_update_exception()
1994 struct rt6_exception *rt6_ex; in rt6_exceptions_update_pmtu() local
2002 hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { in rt6_exceptions_update_pmtu()
2003 struct rt6_info *entry = rt6_ex->rt6i; in rt6_exceptions_update_pmtu()
2023 struct rt6_exception *rt6_ex; in fib6_nh_exceptions_clean_tohost() local
2034 hlist_for_each_entry_safe(rt6_ex, tmp, in fib6_nh_exceptions_clean_tohost()
2036 struct rt6_info *entry = rt6_ex->rt6i; in fib6_nh_exceptions_clean_tohost()
2042 rt6_remove_exception(bucket, rt6_ex); in fib6_nh_exceptions_clean_tohost()
2053 struct rt6_exception *rt6_ex, in rt6_age_examine_exception() argument
2057 struct rt6_info *rt = rt6_ex->rt6i; in rt6_age_examine_exception()
2068 rt6_remove_exception(bucket, rt6_ex); in rt6_age_examine_exception()
2073 rt6_remove_exception(bucket, rt6_ex); in rt6_age_examine_exception()
2088 rt6_remove_exception(bucket, rt6_ex); in rt6_age_examine_exception()
2101 struct rt6_exception *rt6_ex; in fib6_nh_age_exceptions() local
2113 hlist_for_each_entry_safe(rt6_ex, tmp, in fib6_nh_age_exceptions()
2115 rt6_age_examine_exception(bucket, rt6_ex, in fib6_nh_age_exceptions()
5579 struct rt6_exception *rt6_ex; in rt6_nh_dump_exceptions() local
5587 hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { in rt6_nh_dump_exceptions()
5604 if (rt6_check_expired(rt6_ex->rt6i)) { in rt6_nh_dump_exceptions()
5610 &rt6_ex->rt6i->dst, NULL, NULL, 0, in rt6_nh_dump_exceptions()