Lines Matching refs:rt6_ex

1281 				 struct rt6_exception *rt6_ex)  in rt6_remove_exception()  argument
1285 if (!bucket || !rt6_ex) in rt6_remove_exception()
1288 net = dev_net(rt6_ex->rt6i->dst.dev); in rt6_remove_exception()
1289 hlist_del_rcu(&rt6_ex->hlist); in rt6_remove_exception()
1290 dst_release(&rt6_ex->rt6i->dst); in rt6_remove_exception()
1291 kfree_rcu(rt6_ex, rcu); in rt6_remove_exception()
1302 struct rt6_exception *rt6_ex, *oldest = NULL; in rt6_exception_remove_oldest() local
1307 hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { in rt6_exception_remove_oldest()
1308 if (!oldest || time_before(rt6_ex->stamp, oldest->stamp)) in rt6_exception_remove_oldest()
1309 oldest = rt6_ex; in rt6_exception_remove_oldest()
1340 struct rt6_exception *rt6_ex; in __rt6_find_exception_spinlock() local
1349 hlist_for_each_entry(rt6_ex, &(*bucket)->chain, hlist) { in __rt6_find_exception_spinlock()
1350 struct rt6_info *rt6 = rt6_ex->rt6i; in __rt6_find_exception_spinlock()
1358 return rt6_ex; in __rt6_find_exception_spinlock()
1373 struct rt6_exception *rt6_ex; in __rt6_find_exception_rcu() local
1384 hlist_for_each_entry_rcu(rt6_ex, &(*bucket)->chain, hlist) { in __rt6_find_exception_rcu()
1385 struct rt6_info *rt6 = rt6_ex->rt6i; in __rt6_find_exception_rcu()
1393 return rt6_ex; in __rt6_find_exception_rcu()
1425 struct rt6_exception *rt6_ex; in rt6_insert_exception() local
1471 rt6_ex = __rt6_find_exception_spinlock(&bucket, &nrt->rt6i_dst.addr, in rt6_insert_exception()
1473 if (rt6_ex) in rt6_insert_exception()
1474 rt6_remove_exception(bucket, rt6_ex); in rt6_insert_exception()
1476 rt6_ex = kzalloc(sizeof(*rt6_ex), GFP_ATOMIC); in rt6_insert_exception()
1477 if (!rt6_ex) { in rt6_insert_exception()
1481 rt6_ex->rt6i = nrt; in rt6_insert_exception()
1482 rt6_ex->stamp = jiffies; in rt6_insert_exception()
1483 hlist_add_head_rcu(&rt6_ex->hlist, &bucket->chain); in rt6_insert_exception()
1507 struct rt6_exception *rt6_ex; in rt6_flush_exceptions() local
1521 hlist_for_each_entry_safe(rt6_ex, tmp, &bucket->chain, hlist) in rt6_flush_exceptions()
1522 rt6_remove_exception(bucket, rt6_ex); in rt6_flush_exceptions()
1540 struct rt6_exception *rt6_ex; in rt6_find_cached_rt() local
1555 rt6_ex = __rt6_find_exception_rcu(&bucket, daddr, src_key); in rt6_find_cached_rt()
1557 if (rt6_ex && !rt6_check_expired(rt6_ex->rt6i)) in rt6_find_cached_rt()
1558 res = rt6_ex->rt6i; in rt6_find_cached_rt()
1568 struct rt6_exception *rt6_ex; in rt6_remove_exception_rt() local
1593 rt6_ex = __rt6_find_exception_spinlock(&bucket, in rt6_remove_exception_rt()
1596 if (rt6_ex) { in rt6_remove_exception_rt()
1597 rt6_remove_exception(bucket, rt6_ex); in rt6_remove_exception_rt()
1615 struct rt6_exception *rt6_ex; in rt6_update_exception_stamp_rt() local
1634 rt6_ex = __rt6_find_exception_rcu(&bucket, in rt6_update_exception_stamp_rt()
1637 if (rt6_ex) in rt6_update_exception_stamp_rt()
1638 rt6_ex->stamp = jiffies; in rt6_update_exception_stamp_rt()
1646 struct rt6_exception *rt6_ex; in rt6_exceptions_remove_prefsrc() local
1654 hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { in rt6_exceptions_remove_prefsrc()
1655 rt6_ex->rt6i->rt6i_prefsrc.plen = 0; in rt6_exceptions_remove_prefsrc()
1688 struct rt6_exception *rt6_ex; in rt6_exceptions_update_pmtu() local
1698 hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { in rt6_exceptions_update_pmtu()
1699 struct rt6_info *entry = rt6_ex->rt6i; in rt6_exceptions_update_pmtu()
1719 struct rt6_exception *rt6_ex; in rt6_exceptions_clean_tohost() local
1732 hlist_for_each_entry_safe(rt6_ex, tmp, in rt6_exceptions_clean_tohost()
1734 struct rt6_info *entry = rt6_ex->rt6i; in rt6_exceptions_clean_tohost()
1740 rt6_remove_exception(bucket, rt6_ex); in rt6_exceptions_clean_tohost()
1751 struct rt6_exception *rt6_ex, in rt6_age_examine_exception() argument
1755 struct rt6_info *rt = rt6_ex->rt6i; in rt6_age_examine_exception()
1766 rt6_remove_exception(bucket, rt6_ex); in rt6_age_examine_exception()
1771 rt6_remove_exception(bucket, rt6_ex); in rt6_age_examine_exception()
1786 rt6_remove_exception(bucket, rt6_ex); in rt6_age_examine_exception()
1799 struct rt6_exception *rt6_ex; in rt6_age_exceptions() local
1813 hlist_for_each_entry_safe(rt6_ex, tmp, in rt6_age_exceptions()
1815 rt6_age_examine_exception(bucket, rt6_ex, in rt6_age_exceptions()
2637 struct rt6_exception *rt6_ex; in ip6_mtu_from_fib6() local
2655 rt6_ex = __rt6_find_exception_rcu(&bucket, daddr, src_key); in ip6_mtu_from_fib6()
2656 if (rt6_ex && !rt6_check_expired(rt6_ex->rt6i)) in ip6_mtu_from_fib6()
2657 mtu = dst_metric_raw(&rt6_ex->rt6i->dst, RTAX_MTU); in ip6_mtu_from_fib6()