Lines Matching refs:rt

138 	struct rtable *rt = skb_rtable(skb);  in ip_build_and_send_pkt()  local
148 if (ip_dont_fragment(sk, &rt->dst)) in ip_build_and_send_pkt()
152 iph->ttl = ip_select_ttl(inet, &rt->dst); in ip_build_and_send_pkt()
160 ip_options_build(skb, &opt->opt, daddr, rt, 0); in ip_build_and_send_pkt()
174 struct rtable *rt = (struct rtable *)dst; in ip_finish_output2() local
180 if (rt->rt_type == RTN_MULTICAST) { in ip_finish_output2()
182 } else if (rt->rt_type == RTN_BROADCAST) in ip_finish_output2()
201 nexthop = (__force u32) rt_nexthop(rt, ip_hdr(skb)->daddr); in ip_finish_output2()
282 struct rtable *rt = skb_rtable(skb); in ip_mc_output() local
283 struct net_device *dev = rt->dst.dev; in ip_mc_output()
297 if (rt->rt_flags&RTCF_MULTICAST) { in ip_mc_output()
309 ((rt->rt_flags & RTCF_LOCAL) || in ip_mc_output()
328 if (rt->rt_flags&RTCF_BROADCAST) { in ip_mc_output()
375 struct rtable *rt; in ip_queue_xmit() local
385 rt = skb_rtable(skb); in ip_queue_xmit()
386 if (rt) in ip_queue_xmit()
390 rt = (struct rtable *)__sk_dst_check(sk, 0); in ip_queue_xmit()
391 if (!rt) { in ip_queue_xmit()
403 rt = ip_route_output_ports(sock_net(sk), fl4, sk, in ip_queue_xmit()
410 if (IS_ERR(rt)) in ip_queue_xmit()
412 sk_setup_caps(sk, &rt->dst); in ip_queue_xmit()
414 skb_dst_set_noref(skb, &rt->dst); in ip_queue_xmit()
417 if (inet_opt && inet_opt->opt.is_strictroute && rt->rt_uses_gateway) in ip_queue_xmit()
425 if (ip_dont_fragment(sk, &rt->dst) && !skb->ignore_df) in ip_queue_xmit()
429 iph->ttl = ip_select_ttl(inet, &rt->dst); in ip_queue_xmit()
437 ip_options_build(skb, &inet_opt->opt, inet->inet_daddr, rt, 0); in ip_queue_xmit()
499 struct rtable *rt = skb_rtable(skb); in ip_fragment() local
502 dev = rt->dst.dev; in ip_fragment()
647 ll_rs = LL_RESERVED_SPACE(rt->dst.dev); in ip_fragment()
860 struct rtable *rt = (struct rtable *)cork->dst; in __ip_append_data() local
865 exthdrlen = !skb ? rt->dst.header_len : 0; in __ip_append_data()
871 hh_len = LL_RESERVED_SPACE(rt->dst.dev); in __ip_append_data()
889 rt->dst.dev->features & NETIF_F_V4_CSUM && in __ip_append_data()
896 (rt->dst.dev->features & NETIF_F_UFO) && !rt->dst.header_len && in __ip_append_data()
945 !(rt->dst.dev->features&NETIF_F_SG)) in __ip_append_data()
958 alloclen += rt->dst.trailer_len; in __ip_append_data()
1032 if (!(rt->dst.dev->features&NETIF_F_SG)) { in __ip_append_data()
1091 struct rtable *rt; in ip_setup_cork() local
1108 rt = *rtp; in ip_setup_cork()
1109 if (unlikely(!rt)) in ip_setup_cork()
1116 dst_mtu(&rt->dst) : rt->dst.dev->mtu; in ip_setup_cork()
1117 cork->dst = &rt->dst; in ip_setup_cork()
1169 struct rtable *rt; in ip_append_page() local
1188 rt = (struct rtable *)cork->dst; in ip_append_page()
1192 if (!(rt->dst.dev->features&NETIF_F_SG)) in ip_append_page()
1195 hh_len = LL_RESERVED_SPACE(rt->dst.dev); in ip_append_page()
1215 (rt->dst.dev->features & NETIF_F_UFO)) { in ip_append_page()
1334 struct rtable *rt = (struct rtable *)cork->dst; in __ip_make_skb() local
1369 (skb->len <= dst_mtu(&rt->dst) && in __ip_make_skb()
1370 ip_dont_fragment(sk, &rt->dst))) in __ip_make_skb()
1378 else if (rt->rt_type == RTN_MULTICAST) in __ip_make_skb()
1381 ttl = ip_select_ttl(inet, &rt->dst); in __ip_make_skb()
1395 ip_options_build(skb, opt, cork->addr, rt, 0); in __ip_make_skb()
1405 skb_dst_set(skb, &rt->dst); in __ip_make_skb()
1524 struct rtable *rt = skb_rtable(skb); in ip_send_unicast_reply() local
1553 rt = ip_route_output_key(net, &fl4); in ip_send_unicast_reply()
1554 if (IS_ERR(rt)) in ip_send_unicast_reply()
1564 len, 0, &ipc, &rt, MSG_DONTWAIT); in ip_send_unicast_reply()
1581 ip_rt_put(rt); in ip_send_unicast_reply()