Lines Matching refs:dev

119 static int ipgre_tunnel_init(struct net_device *dev);
141 struct net *net = dev_net(skb->dev);
182 t = ip_tunnel_lookup(itn, skb->dev->ifindex, tpi->flags,
205 struct net *net = dev_net(skb->dev);
216 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, tpi->flags,
227 static void __gre_xmit(struct sk_buff *skb, struct net_device *dev,
231 struct ip_tunnel *tunnel = netdev_priv(dev);
246 ip_tunnel_xmit(skb, dev, tnl_params, tnl_params->protocol);
250 struct net_device *dev)
252 struct ip_tunnel *tunnel = netdev_priv(dev);
259 if (dev->header_ops) {
261 if (skb_cow_head(skb, dev->needed_headroom -
272 if (skb_cow_head(skb, dev->needed_headroom))
278 __gre_xmit(skb, dev, tnl_params, skb->protocol);
285 dev->stats.tx_dropped++;
290 struct net_device *dev)
292 struct ip_tunnel *tunnel = netdev_priv(dev);
298 if (skb_cow_head(skb, dev->needed_headroom))
301 __gre_xmit(skb, dev, &tunnel->parms.iph, htons(ETH_P_TEB));
308 dev->stats.tx_dropped++;
312 static int ipgre_tunnel_ioctl(struct net_device *dev,
329 err = ip_tunnel_ioctl(dev, &p, cmd);
359 ip addr add 10.66.66.<somewhat>/24 dev Universe
368 static int ipgre_header(struct sk_buff *skb, struct net_device *dev,
372 struct ip_tunnel *t = netdev_priv(dev);
407 static int ipgre_open(struct net_device *dev)
409 struct ip_tunnel *t = netdev_priv(dev);
423 dev = rt->dst.dev;
425 if (__in_dev_get_rtnl(dev) == NULL)
427 t->mlink = dev->ifindex;
428 ip_mc_inc_group(__in_dev_get_rtnl(dev), t->parms.iph.daddr);
433 static int ipgre_close(struct net_device *dev)
435 struct ip_tunnel *t = netdev_priv(dev);
465 static void ipgre_tunnel_setup(struct net_device *dev)
467 dev->netdev_ops = &ipgre_netdev_ops;
468 dev->type = ARPHRD_IPGRE;
469 ip_tunnel_setup(dev, ipgre_net_id);
472 static void __gre_tunnel_init(struct net_device *dev)
477 tunnel = netdev_priv(dev);
485 dev->needed_headroom = LL_MAX_HEADER + t_hlen + 4;
486 dev->mtu = ETH_DATA_LEN - t_hlen - 4;
488 dev->features |= GRE_FEATURES;
489 dev->hw_features |= GRE_FEATURES;
493 dev->features |= NETIF_F_GSO_SOFTWARE;
494 dev->hw_features |= NETIF_F_GSO_SOFTWARE;
498 dev->features |= NETIF_F_LLTX;
502 static int ipgre_tunnel_init(struct net_device *dev)
504 struct ip_tunnel *tunnel = netdev_priv(dev);
507 __gre_tunnel_init(dev);
509 memcpy(dev->dev_addr, &iph->saddr, 4);
510 memcpy(dev->broadcast, &iph->daddr, 4);
512 dev->flags = IFF_NOARP;
513 netif_keep_dst(dev);
514 dev->addr_len = 4;
521 dev->flags = IFF_BROADCAST;
522 dev->header_ops = &ipgre_header_ops;
526 dev->header_ops = &ipgre_header_ops;
528 return ip_tunnel_init(dev);
672 static int gre_tap_init(struct net_device *dev)
674 __gre_tunnel_init(dev);
676 return ip_tunnel_init(dev);
689 static void ipgre_tap_setup(struct net_device *dev)
691 ether_setup(dev);
692 dev->netdev_ops = &gre_tap_netdev_ops;
693 dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
694 ip_tunnel_setup(dev, gre_tap_net_id);
697 static int ipgre_newlink(struct net *src_net, struct net_device *dev,
704 struct ip_tunnel *t = netdev_priv(dev);
712 return ip_tunnel_newlink(dev, tb, &p);
715 static int ipgre_changelink(struct net_device *dev, struct nlattr *tb[],
722 struct ip_tunnel *t = netdev_priv(dev);
730 return ip_tunnel_changelink(dev, tb, &p);
733 static size_t ipgre_get_size(const struct net_device *dev)
767 static int ipgre_fill_info(struct sk_buff *skb, const struct net_device *dev)
769 struct ip_tunnel *t = netdev_priv(dev);