• Home
  • Raw
  • Download

Lines Matching refs:rt

314 static bool icmpv4_xrlim_allow(struct net *net, struct rtable *rt,  in icmpv4_xrlim_allow()  argument
317 struct dst_entry *dst = &rt->dst; in icmpv4_xrlim_allow()
370 struct ipcm_cookie *ipc, struct rtable **rt) in icmp_push_reply() argument
375 sk = icmp_sk(dev_net((*rt)->dst.dev)); in icmp_push_reply()
379 ipc, rt, MSG_DONTWAIT) < 0) { in icmp_push_reply()
406 struct rtable *rt = skb_rtable(skb); in icmp_reply() local
407 struct net *net = dev_net(rt->dst.dev); in icmp_reply()
453 rt = ip_route_output_key(net, &fl4); in icmp_reply()
454 if (IS_ERR(rt)) in icmp_reply()
456 if (icmpv4_xrlim_allow(net, rt, &fl4, type, code)) in icmp_reply()
457 icmp_push_reply(icmp_param, &fl4, &ipc, &rt); in icmp_reply()
458 ip_rt_put(rt); in icmp_reply()
491 struct rtable *rt, *rt2; in icmp_route_lookup() local
509 rt = ip_route_output_key_hash(net, fl4, skb_in); in icmp_route_lookup()
510 if (IS_ERR(rt)) in icmp_route_lookup()
511 return rt; in icmp_route_lookup()
514 rt2 = rt; in icmp_route_lookup()
516 rt = (struct rtable *) xfrm_lookup(net, &rt->dst, in icmp_route_lookup()
518 if (!IS_ERR(rt)) { in icmp_route_lookup()
519 if (rt != rt2) in icmp_route_lookup()
520 return rt; in icmp_route_lookup()
521 } else if (PTR_ERR(rt) == -EPERM) { in icmp_route_lookup()
522 rt = NULL; in icmp_route_lookup()
524 return rt; in icmp_route_lookup()
563 dst_release(&rt->dst); in icmp_route_lookup()
565 rt = rt2; in icmp_route_lookup()
567 if (rt) in icmp_route_lookup()
568 dst_release(&rt->dst); in icmp_route_lookup()
574 return rt; in icmp_route_lookup()
577 if (rt) in icmp_route_lookup()
578 return rt; in icmp_route_lookup()
599 struct rtable *rt = skb_rtable(skb_in); in __icmp_send() local
608 if (!rt) in __icmp_send()
611 if (rt->dst.dev) in __icmp_send()
612 net = dev_net(rt->dst.dev); in __icmp_send()
639 if (rt->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST)) in __icmp_send()
701 if (!(rt->rt_flags & RTCF_LOCAL)) { in __icmp_send()
705 if (rt_is_input_route(rt) && in __icmp_send()
742 rt = icmp_route_lookup(net, &fl4, skb_in, iph, saddr, tos, mark, in __icmp_send()
744 if (IS_ERR(rt)) in __icmp_send()
748 if (!icmpv4_xrlim_allow(net, rt, &fl4, type, code)) in __icmp_send()
753 room = dst_mtu(&rt->dst); in __icmp_send()
776 icmp_push_reply(&icmp_param, &fl4, &ipc, &rt); in __icmp_send()
778 ip_rt_put(rt); in __icmp_send()
1185 struct rtable *rt = skb_rtable(skb); in icmp_rcv() local
1186 struct net *net = dev_net(rt->dst.dev); in icmp_rcv()
1248 if (rt->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST)) { in icmp_rcv()