Lines Matching refs:dev
44 struct net_device *dev; /* netdev for bareudp tunnel */
78 bareudp->dev->stats.rx_dropped++;
88 bareudp->dev->stats.rx_dropped++;
102 bareudp->dev->stats.rx_dropped++;
118 bareudp->dev->stats.rx_dropped++;
129 dev_net(bareudp->dev)))) {
130 bareudp->dev->stats.rx_dropped++;
135 bareudp->dev->stats.rx_dropped++;
139 skb->dev = bareudp->dev;
160 ++bareudp->dev->stats.rx_frame_errors;
161 ++bareudp->dev->stats.rx_errors;
169 dev_sw_netstats_rx_add(bareudp->dev, len);
184 static int bareudp_init(struct net_device *dev)
186 struct bareudp_dev *bareudp = netdev_priv(dev);
189 dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
190 if (!dev->tstats)
193 err = gro_cells_init(&bareudp->gro_cells, dev);
195 free_percpu(dev->tstats);
201 static void bareudp_uninit(struct net_device *dev)
203 struct bareudp_dev *bareudp = netdev_priv(dev);
206 free_percpu(dev->tstats);
254 static int bareudp_open(struct net_device *dev)
256 struct bareudp_dev *bareudp = netdev_priv(dev);
273 static int bareudp_stop(struct net_device *dev)
275 struct bareudp_dev *bareudp = netdev_priv(dev);
281 static int bareudp_xmit_skb(struct sk_buff *skb, struct net_device *dev,
285 bool xnet = !net_eq(bareudp->net, dev_net(bareudp->dev));
300 rt = ip_route_output_tunnel(skb, dev, bareudp->net, &saddr, info,
321 min_headroom = LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len +
335 !net_eq(bareudp->net, dev_net(bareudp->dev)),
344 static int bareudp6_xmit_skb(struct sk_buff *skb, struct net_device *dev,
348 bool xnet = !net_eq(bareudp->net, dev_net(bareudp->dev));
363 dst = ip6_dst_lookup_tunnel(skb, dev, bareudp->net, sock, &saddr, info,
383 min_headroom = LL_RESERVED_SPACE(dst->dev) + dst->header_len +
395 udp_tunnel6_xmit_skb(dst, sock->sk, skb, dev,
425 static netdev_tx_t bareudp_xmit(struct sk_buff *skb, struct net_device *dev)
427 struct bareudp_dev *bareudp = netdev_priv(dev);
444 err = bareudp6_xmit_skb(skb, dev, bareudp, info);
446 err = bareudp_xmit_skb(skb, dev, bareudp, info);
456 dev->stats.collisions++;
458 dev->stats.tx_carrier_errors++;
460 dev->stats.tx_errors++;
464 static int bareudp_fill_metadata_dst(struct net_device *dev,
468 struct bareudp_dev *bareudp = netdev_priv(dev);
477 rt = ip_route_output_tunnel(skb, dev, bareudp->net, &saddr,
489 dst = ip6_dst_lookup_tunnel(skb, dev, bareudp->net, sock,
531 static void bareudp_setup(struct net_device *dev)
533 dev->netdev_ops = &bareudp_netdev_ops;
534 dev->needs_free_netdev = true;
535 SET_NETDEV_DEVTYPE(dev, &bareudp_type);
536 dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM;
537 dev->features |= NETIF_F_RXCSUM;
538 dev->features |= NETIF_F_LLTX;
539 dev->features |= NETIF_F_GSO_SOFTWARE;
540 dev->hw_features |= NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_RXCSUM;
541 dev->hw_features |= NETIF_F_GSO_SOFTWARE;
542 dev->hard_header_len = 0;
543 dev->addr_len = 0;
544 dev->mtu = ETH_DATA_LEN;
545 dev->min_mtu = IPV4_MIN_MTU;
546 dev->max_mtu = IP_MAX_MTU - BAREUDP_BASE_HLEN;
547 dev->type = ARPHRD_NONE;
548 netif_keep_dst(dev);
549 dev->priv_flags |= IFF_NO_QUEUE;
550 dev->flags = IFF_POINTOPOINT | IFF_NOARP | IFF_MULTICAST;
605 static int bareudp_configure(struct net *net, struct net_device *dev,
609 struct bareudp_dev *t, *bareudp = netdev_priv(dev);
613 bareudp->dev = dev;
628 err = register_netdevice(dev);
636 static int bareudp_link_config(struct net_device *dev,
642 err = dev_set_mtu(dev, nla_get_u32(tb[IFLA_MTU]));
649 static void bareudp_dellink(struct net_device *dev, struct list_head *head)
651 struct bareudp_dev *bareudp = netdev_priv(dev);
654 unregister_netdevice_queue(dev, head);
657 static int bareudp_newlink(struct net *net, struct net_device *dev,
669 err = bareudp_configure(net, dev, &conf);
673 err = bareudp_link_config(dev, tb);
680 bareudp_dellink(dev, &list_kill);
685 static size_t bareudp_get_size(const struct net_device *dev)
694 static int bareudp_fill_info(struct sk_buff *skb, const struct net_device *dev)
696 struct bareudp_dev *bareudp = netdev_priv(dev);
732 struct net_device *dev;
737 dev = rtnl_create_link(net, name, name_assign_type,
739 if (IS_ERR(dev))
740 return dev;
742 err = bareudp_configure(net, dev, conf);
744 free_netdev(dev);
747 err = dev_set_mtu(dev, IP_MAX_MTU - BAREUDP_BASE_HLEN);
751 err = rtnl_configure_link(dev, NULL);
755 return dev;
757 bareudp_dellink(dev, &list_kill);
777 unregister_netdevice_queue(bareudp->dev, head);