Lines Matching refs:vrf_dev
134 static void vrf_tx_error(struct net_device *vrf_dev, struct sk_buff *skb)
136 vrf_dev->stats.tx_errors++;
528 struct net_device *vrf_dev)
533 struct net *net = dev_net(vrf_dev);
543 fl4.flowi4_l3mdev = vrf_dev->ifindex;
560 if (rt->dst.dev == vrf_dev)
561 return vrf_local_xmit(skb, vrf_dev, &rt->dst);
576 vrf_dev->stats.tx_errors++;
583 vrf_tx_error(vrf_dev, skb);
621 struct net_device *vrf_dev = skb->dev;
623 if (!list_empty(&vrf_dev->ptype_all) &&
627 ether_addr_copy(eth->h_source, vrf_dev->dev_addr);
631 dev_queue_xmit_nit(skb, vrf_dev);
687 static struct sk_buff *vrf_ip6_out_redirect(struct net_device *vrf_dev,
690 struct net_vrf *vrf = netdev_priv(vrf_dev);
705 vrf_tx_error(vrf_dev, skb);
752 static struct sk_buff *vrf_ip6_out_direct(struct net_device *vrf_dev,
756 struct net *net = dev_net(vrf_dev);
759 skb->dev = vrf_dev;
762 skb, NULL, vrf_dev, vrf_ip6_out_direct_finish);
773 static struct sk_buff *vrf_ip6_out(struct net_device *vrf_dev,
783 if (qdisc_tx_is_default(vrf_dev) ||
785 return vrf_ip6_out_direct(vrf_dev, sk, skb);
787 return vrf_ip6_out_redirect(vrf_dev, skb);
842 static struct sk_buff *vrf_ip6_out(struct net_device *vrf_dev,
917 static struct sk_buff *vrf_ip_out_redirect(struct net_device *vrf_dev,
920 struct net_vrf *vrf = netdev_priv(vrf_dev);
935 vrf_tx_error(vrf_dev, skb);
982 static struct sk_buff *vrf_ip_out_direct(struct net_device *vrf_dev,
986 struct net *net = dev_net(vrf_dev);
989 skb->dev = vrf_dev;
992 skb, NULL, vrf_dev, vrf_ip_out_direct_finish);
1003 static struct sk_buff *vrf_ip_out(struct net_device *vrf_dev,
1014 if (qdisc_tx_is_default(vrf_dev) ||
1016 return vrf_ip_out_direct(vrf_dev, sk, skb);
1018 return vrf_ip_out_redirect(vrf_dev, skb);
1022 static struct sk_buff *vrf_l3_out(struct net_device *vrf_dev,
1029 return vrf_ip_out(vrf_dev, sk, skb);
1031 return vrf_ip6_out(vrf_dev, sk, skb);
1229 struct net_device *vrf_dev, u16 proto)
1237 err = skb_cow_head(skb, LL_RESERVED_SPACE(vrf_dev));
1251 ether_addr_copy(eth->h_dest, vrf_dev->dev_addr);
1252 ether_addr_copy(eth->h_source, vrf_dev->dev_addr);
1275 struct net_device *vrf_dev,
1281 return vrf_prepare_mac_header(skb, vrf_dev, proto);
1331 static void vrf_ip6_input_dst(struct sk_buff *skb, struct net_device *vrf_dev,
1343 struct net *net = dev_net(vrf_dev);
1346 rt6 = vrf_ip6_route_lookup(net, vrf_dev, &fl6, ifindex, skb,
1357 static struct sk_buff *vrf_ip6_rcv(struct net_device *vrf_dev,
1370 skb->dev = vrf_dev;
1371 skb->skb_iif = vrf_dev->ifindex;
1377 vrf_ip6_input_dst(skb, vrf_dev, orig_iif);
1386 vrf_rx_stats(vrf_dev, skb->len);
1387 skb->dev = vrf_dev;
1388 skb->skb_iif = vrf_dev->ifindex;
1390 if (!list_empty(&vrf_dev->ptype_all)) {
1393 err = vrf_add_mac_header_if_unset(skb, vrf_dev,
1398 dev_queue_xmit_nit(skb, vrf_dev);
1407 vrf_ip6_input_dst(skb, vrf_dev, orig_iif);
1409 skb = vrf_rcv_nfhook(NFPROTO_IPV6, NF_INET_PRE_ROUTING, skb, vrf_dev);
1415 static struct sk_buff *vrf_ip6_rcv(struct net_device *vrf_dev,
1422 static struct sk_buff *vrf_ip_rcv(struct net_device *vrf_dev,
1427 skb->dev = vrf_dev;
1428 skb->skb_iif = vrf_dev->ifindex;
1442 vrf_rx_stats(vrf_dev, skb->len);
1444 if (!list_empty(&vrf_dev->ptype_all)) {
1447 err = vrf_add_mac_header_if_unset(skb, vrf_dev, ETH_P_IP,
1451 dev_queue_xmit_nit(skb, vrf_dev);
1456 skb = vrf_rcv_nfhook(NFPROTO_IPV4, NF_INET_PRE_ROUTING, skb, vrf_dev);
1462 static struct sk_buff *vrf_l3_rcv(struct net_device *vrf_dev,
1468 return vrf_ip_rcv(vrf_dev, skb);
1470 return vrf_ip6_rcv(vrf_dev, skb);
1798 const struct net_device *vrf_dev,
1801 struct net_vrf *vrf = netdev_priv(vrf_dev);
1838 struct net_device *vrf_dev;
1843 vrf_dev = netdev_master_upper_dev_get(dev);
1844 vrf_del_slave(vrf_dev, dev);