Lines Matching refs:vrf_dev

77 static void vrf_tx_error(struct net_device *vrf_dev, struct sk_buff *skb)  in vrf_tx_error()  argument
79 vrf_dev->stats.tx_errors++; in vrf_tx_error()
242 struct net_device *vrf_dev) in vrf_process_v4_outbound() argument
248 .flowi4_oif = vrf_dev->ifindex, in vrf_process_v4_outbound()
256 struct net *net = dev_net(vrf_dev); in vrf_process_v4_outbound()
269 if (rt->dst.dev == vrf_dev) in vrf_process_v4_outbound()
270 return vrf_local_xmit(skb, vrf_dev, &rt->dst); in vrf_process_v4_outbound()
284 vrf_dev->stats.tx_errors++; in vrf_process_v4_outbound()
291 vrf_tx_error(vrf_dev, skb); in vrf_process_v4_outbound()
330 struct net_device *vrf_dev = skb->dev; in vrf_finish_direct() local
332 if (!list_empty(&vrf_dev->ptype_all) && in vrf_finish_direct()
336 ether_addr_copy(eth->h_source, vrf_dev->dev_addr); in vrf_finish_direct()
341 dev_queue_xmit_nit(skb, vrf_dev); in vrf_finish_direct()
398 static struct sk_buff *vrf_ip6_out_redirect(struct net_device *vrf_dev, in vrf_ip6_out_redirect() argument
401 struct net_vrf *vrf = netdev_priv(vrf_dev); in vrf_ip6_out_redirect()
416 vrf_tx_error(vrf_dev, skb); in vrf_ip6_out_redirect()
437 static struct sk_buff *vrf_ip6_out_direct(struct net_device *vrf_dev, in vrf_ip6_out_direct() argument
441 struct net *net = dev_net(vrf_dev); in vrf_ip6_out_direct()
444 skb->dev = vrf_dev; in vrf_ip6_out_direct()
447 skb, NULL, vrf_dev, vrf_output6_direct); in vrf_ip6_out_direct()
461 static struct sk_buff *vrf_ip6_out(struct net_device *vrf_dev, in vrf_ip6_out() argument
469 if (qdisc_tx_is_default(vrf_dev)) in vrf_ip6_out()
470 return vrf_ip6_out_direct(vrf_dev, sk, skb); in vrf_ip6_out()
472 return vrf_ip6_out_redirect(vrf_dev, skb); in vrf_ip6_out()
527 static struct sk_buff *vrf_ip6_out(struct net_device *vrf_dev, in vrf_ip6_out() argument
611 static struct sk_buff *vrf_ip_out_redirect(struct net_device *vrf_dev, in vrf_ip_out_redirect() argument
614 struct net_vrf *vrf = netdev_priv(vrf_dev); in vrf_ip_out_redirect()
629 vrf_tx_error(vrf_dev, skb); in vrf_ip_out_redirect()
650 static struct sk_buff *vrf_ip_out_direct(struct net_device *vrf_dev, in vrf_ip_out_direct() argument
654 struct net *net = dev_net(vrf_dev); in vrf_ip_out_direct()
657 skb->dev = vrf_dev; in vrf_ip_out_direct()
660 skb, NULL, vrf_dev, vrf_output_direct); in vrf_ip_out_direct()
674 static struct sk_buff *vrf_ip_out(struct net_device *vrf_dev, in vrf_ip_out() argument
683 if (qdisc_tx_is_default(vrf_dev)) in vrf_ip_out()
684 return vrf_ip_out_direct(vrf_dev, sk, skb); in vrf_ip_out()
686 return vrf_ip_out_redirect(vrf_dev, skb); in vrf_ip_out()
690 static struct sk_buff *vrf_l3_out(struct net_device *vrf_dev, in vrf_l3_out() argument
697 return vrf_ip_out(vrf_dev, sk, skb); in vrf_l3_out()
699 return vrf_ip6_out(vrf_dev, sk, skb); in vrf_l3_out()
954 static void vrf_ip6_input_dst(struct sk_buff *skb, struct net_device *vrf_dev, in vrf_ip6_input_dst() argument
966 struct net *net = dev_net(vrf_dev); in vrf_ip6_input_dst()
969 rt6 = vrf_ip6_route_lookup(net, vrf_dev, &fl6, ifindex, skb, in vrf_ip6_input_dst()
980 static struct sk_buff *vrf_ip6_rcv(struct net_device *vrf_dev, in vrf_ip6_rcv() argument
990 skb->dev = vrf_dev; in vrf_ip6_rcv()
991 skb->skb_iif = vrf_dev->ifindex; in vrf_ip6_rcv()
1002 vrf_rx_stats(vrf_dev, skb->len); in vrf_ip6_rcv()
1003 skb->dev = vrf_dev; in vrf_ip6_rcv()
1004 skb->skb_iif = vrf_dev->ifindex; in vrf_ip6_rcv()
1006 if (!list_empty(&vrf_dev->ptype_all)) { in vrf_ip6_rcv()
1008 dev_queue_xmit_nit(skb, vrf_dev); in vrf_ip6_rcv()
1016 vrf_ip6_input_dst(skb, vrf_dev, orig_iif); in vrf_ip6_rcv()
1018 skb = vrf_rcv_nfhook(NFPROTO_IPV6, NF_INET_PRE_ROUTING, skb, vrf_dev); in vrf_ip6_rcv()
1024 static struct sk_buff *vrf_ip6_rcv(struct net_device *vrf_dev, in vrf_ip6_rcv() argument
1031 static struct sk_buff *vrf_ip_rcv(struct net_device *vrf_dev, in vrf_ip_rcv() argument
1034 skb->dev = vrf_dev; in vrf_ip_rcv()
1035 skb->skb_iif = vrf_dev->ifindex; in vrf_ip_rcv()
1049 vrf_rx_stats(vrf_dev, skb->len); in vrf_ip_rcv()
1051 if (!list_empty(&vrf_dev->ptype_all)) { in vrf_ip_rcv()
1053 dev_queue_xmit_nit(skb, vrf_dev); in vrf_ip_rcv()
1057 skb = vrf_rcv_nfhook(NFPROTO_IPV4, NF_INET_PRE_ROUTING, skb, vrf_dev); in vrf_ip_rcv()
1063 static struct sk_buff *vrf_l3_rcv(struct net_device *vrf_dev, in vrf_l3_rcv() argument
1069 return vrf_ip_rcv(vrf_dev, skb); in vrf_l3_rcv()
1071 return vrf_ip6_rcv(vrf_dev, skb); in vrf_l3_rcv()
1356 const struct net_device *vrf_dev, in vrf_fill_slave_info() argument
1359 struct net_vrf *vrf = netdev_priv(vrf_dev); in vrf_fill_slave_info()
1396 struct net_device *vrf_dev; in vrf_device_event() local
1401 vrf_dev = netdev_master_upper_dev_get(dev); in vrf_device_event()
1402 vrf_del_slave(vrf_dev, dev); in vrf_device_event()