Lines Matching refs:rt
308 static bool icmpv4_xrlim_allow(struct net *net, struct rtable *rt, in icmpv4_xrlim_allow() argument
312 struct dst_entry *dst = &rt->dst; in icmpv4_xrlim_allow()
371 struct ipcm_cookie *ipc, struct rtable **rt) in icmp_push_reply() argument
378 ipc, rt, MSG_DONTWAIT) < 0) { in icmp_push_reply()
404 struct rtable *rt = skb_rtable(skb); in icmp_reply() local
405 struct net *net = dev_net_rcu(rt->dst.dev); in icmp_reply()
451 rt = ip_route_output_key(net, &fl4); in icmp_reply()
452 if (IS_ERR(rt)) in icmp_reply()
454 if (icmpv4_xrlim_allow(net, rt, &fl4, type, code, apply_ratelimit)) in icmp_reply()
455 icmp_push_reply(sk, icmp_param, &fl4, &ipc, &rt); in icmp_reply()
456 ip_rt_put(rt); in icmp_reply()
488 struct rtable *rt, *rt2; in icmp_route_lookup() local
506 rt = ip_route_output_key_hash(net, fl4, skb_in); in icmp_route_lookup()
507 if (IS_ERR(rt)) in icmp_route_lookup()
508 return rt; in icmp_route_lookup()
511 rt2 = rt; in icmp_route_lookup()
513 dst = xfrm_lookup(net, &rt->dst, in icmp_route_lookup()
515 rt = dst_rtable(dst); in icmp_route_lookup()
517 if (rt != rt2) in icmp_route_lookup()
518 return rt; in icmp_route_lookup()
521 return rt; in icmp_route_lookup()
523 rt = NULL; in icmp_route_lookup()
525 return rt; in icmp_route_lookup()
564 dst_release(&rt->dst); in icmp_route_lookup()
566 rt = rt2; in icmp_route_lookup()
568 if (rt) in icmp_route_lookup()
569 dst_release(&rt->dst); in icmp_route_lookup()
575 return rt; in icmp_route_lookup()
578 if (rt) in icmp_route_lookup()
579 return rt; in icmp_route_lookup()
600 struct rtable *rt = skb_rtable(skb_in); in __icmp_send() local
610 if (!rt) in __icmp_send()
615 if (rt->dst.dev) in __icmp_send()
616 net = dev_net_rcu(rt->dst.dev); in __icmp_send()
643 if (rt->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST)) in __icmp_send()
705 if (!(rt->rt_flags & RTCF_LOCAL)) { in __icmp_send()
709 if (rt_is_input_route(rt) && in __icmp_send()
746 rt = icmp_route_lookup(net, &fl4, skb_in, iph, saddr, in __icmp_send()
749 if (IS_ERR(rt)) in __icmp_send()
753 if (!icmpv4_xrlim_allow(net, rt, &fl4, type, code, apply_ratelimit)) in __icmp_send()
758 room = dst_mtu(&rt->dst); in __icmp_send()
783 icmp_push_reply(sk, &icmp_param, &fl4, &ipc, &rt); in __icmp_send()
785 ip_rt_put(rt); in __icmp_send()
1203 struct rtable *rt = skb_rtable(skb); in icmp_rcv() local
1204 struct net *net = dev_net_rcu(rt->dst.dev); in icmp_rcv()
1257 if (rt->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST)) { in icmp_rcv()