Lines Matching refs:dst
74 static struct dst_entry *vrf_ip_check(struct dst_entry *dst, u32 cookie) in vrf_ip_check() argument
76 return dst; in vrf_ip_check()
84 static unsigned int vrf_v4_mtu(const struct dst_entry *dst) in vrf_v4_mtu() argument
87 return dst->dev->mtu; in vrf_v4_mtu()
90 static void vrf_dst_destroy(struct dst_entry *dst) in vrf_dst_destroy() argument
95 static unsigned int vrf_default_advmss(const struct dst_entry *dst) in vrf_default_advmss() argument
239 struct dst_entry *dst; in vrf_process_v6_outbound() local
240 struct dst_entry *dst_null = &net->ipv6.ip6_null_entry->dst; in vrf_process_v6_outbound()
242 dst = ip6_route_output(net, NULL, &fl6); in vrf_process_v6_outbound()
243 if (dst == dst_null) in vrf_process_v6_outbound()
247 skb_dst_set(skb, dst); in vrf_process_v6_outbound()
286 skb_dst_set(skb, &rt->dst); in vrf_send_v4_prep()
363 static struct dst_entry *vrf_ip6_check(struct dst_entry *dst, u32 cookie) in vrf_ip6_check() argument
365 return dst; in vrf_ip6_check()
407 struct dst_entry *dst = skb_dst(skb); in vrf_finish_output6() local
408 struct net_device *dev = dst->dev; in vrf_finish_output6()
417 nexthop = rt6_nexthop((struct rt6_info *)dst, &ipv6_hdr(skb)->daddr); in vrf_finish_output6()
418 neigh = __ipv6_neigh_lookup_noref(dst->dev, nexthop); in vrf_finish_output6()
420 neigh = __neigh_create(&nd_tbl, nexthop, dst->dev, false); in vrf_finish_output6()
422 ret = dst_neigh_output(dst, neigh, skb); in vrf_finish_output6()
428 IP6_INC_STATS(dev_net(dst->dev), in vrf_finish_output6()
429 ip6_dst_idev(dst), IPSTATS_MIB_OUTNOROUTES); in vrf_finish_output6()
445 dst_destroy(&vrf->rt6->dst); in vrf_rt6_destroy()
453 struct dst_entry *dst; in vrf_rt6_create() local
464 dst = &rt6->dst; in vrf_rt6_create()
468 dst_destroy(dst); in vrf_rt6_create()
476 memset(dst + 1, 0, sizeof(*rt6) - sizeof(*dst)); in vrf_rt6_create()
481 rt6->dst.input = vrf_input6; in vrf_rt6_create()
482 rt6->dst.output = vrf_output6; in vrf_rt6_create()
486 atomic_set(&rt6->dst.__refcnt, 2); in vrf_rt6_create()
516 struct dst_entry *dst = skb_dst(skb); in vrf_finish_output() local
517 struct rtable *rt = (struct rtable *)dst; in vrf_finish_output()
518 struct net_device *dev = dst->dev; in vrf_finish_output()
547 ret = dst_neigh_output(dst, neigh, skb); in vrf_finish_output()
573 struct dst_entry *dst = (struct dst_entry *)vrf->rth; in vrf_rtable_destroy() local
575 dst_destroy(dst); in vrf_rtable_destroy()
588 rth->dst.output = vrf_output; in vrf_rtable_create()
799 atomic_inc(&rth->dst.__refcnt); in vrf_get_rtable()
850 atomic_inc(&rt->dst.__refcnt); in vrf_get_rt6_dst()