Lines Matching refs:netdev
69 struct net_device *netdev;
78 lowpan_btle_dev(const struct net_device *netdev)
80 return (struct lowpan_btle_dev *)lowpan_dev(netdev)->priv;
210 neigh = __ipv6_neigh_lookup(dev->netdev, nexthop);
275 static int iphc_decompress(struct sk_buff *skb, struct net_device *netdev,
282 return lowpan_header_decompress(skb, netdev, netdev->dev_addr, saddr);
384 if (!dev || !dev->netdev)
387 err = recv_pkt(skb, dev->netdev, peer);
396 static int setup_header(struct sk_buff *skb, struct net_device *netdev,
408 dev = lowpan_btle_dev(netdev);
437 lowpan_header_compress(skb, netdev, daddr, dev->netdev->dev_addr);
439 err = dev_hard_header(skb, netdev, ETH_P_IPV6, NULL, NULL, 0);
446 static int header_create(struct sk_buff *skb, struct net_device *netdev,
458 struct net_device *netdev)
477 netdev->stats.tx_bytes += err;
478 netdev->stats.tx_packets++;
483 netdev->stats.tx_errors++;
488 static int send_mcast_pkt(struct sk_buff *skb, struct net_device *netdev)
500 if (entry->netdev != netdev)
503 dev = lowpan_btle_dev(entry->netdev);
511 netdev->name,
514 ret = send_pkt(pentry->chan, local_skb, netdev);
527 static netdev_tx_t bt_xmit(struct sk_buff *skb, struct net_device *netdev)
545 err = setup_header(skb, netdev, &addr, &addr_type);
554 netdev->name, &addr, addr_type,
556 err = send_pkt(lowpan_cb(skb)->chan, skb, netdev);
564 err = send_mcast_pkt(skb, netdev);
608 static void ifup(struct net_device *netdev)
613 err = dev_open(netdev, NULL);
615 BT_INFO("iface %s cannot be opened (%d)", netdev->name, err);
619 static void ifdown(struct net_device *netdev)
622 dev_close(netdev);
631 netdev_notify_peers(dev->netdev); /* send neighbour adv at startup */
694 struct net_device *netdev;
697 netdev = alloc_netdev(LOWPAN_PRIV_SIZE(sizeof(struct lowpan_btle_dev)),
700 if (!netdev)
703 netdev->addr_assign_type = NET_ADDR_PERM;
704 baswap((void *)netdev->dev_addr, &chan->src);
706 netdev->netdev_ops = &netdev_ops;
707 SET_NETDEV_DEV(netdev, &chan->conn->hcon->hdev->dev);
708 SET_NETDEV_DEVTYPE(netdev, &bt_type);
710 *dev = lowpan_btle_dev(netdev);
711 (*dev)->netdev = netdev;
720 err = lowpan_register_netdev(netdev, LOWPAN_LLTYPE_BTLE);
726 free_netdev(netdev);
731 netdev->ifindex, &chan->dst, chan->dst_type,
733 set_bit(__LINK_STATE_PRESENT, &netdev->state);
762 ifup(dev->netdev);
786 lowpan_unregister_netdev(entry->netdev);
788 /* The entry pointer is deleted by the netdev destructor. */
805 /* If conn is set, then the netdev is also there and we should
814 dev = lowpan_btle_dev(entry->netdev);
835 ifdown(dev->netdev);
859 * this function is called originally from netdev hard xmit
872 if (!dev || !dev->netdev)
875 netif_stop_queue(dev->netdev);
885 if (!dev || !dev->netdev)
888 netif_wake_queue(dev->netdev);
1239 new_dev->netdev = entry->netdev;
1248 ifdown(entry->netdev);
1249 BT_DBG("Unregistering netdev %s %p",
1250 entry->netdev->name, entry->netdev);
1251 lowpan_unregister_netdev(entry->netdev);
1259 struct net_device *netdev = netdev_notifier_info_to_dev(ptr);
1262 if (netdev->type != ARPHRD_6LOWPAN)
1269 if (entry->netdev == netdev) {
1270 BT_DBG("Unregistered netdev %s %p",
1271 netdev->name, netdev);