Lines Matching refs:netdev

78 	struct net_device *netdev;  member
86 static inline struct lowpan_dev *lowpan_dev(const struct net_device *netdev) in lowpan_dev() argument
88 return netdev_priv(netdev); in lowpan_dev()
272 static int iphc_decompress(struct sk_buff *skb, struct net_device *netdev, in iphc_decompress() argument
280 dev = lowpan_dev(netdev); in iphc_decompress()
289 daddr = dev->netdev->dev_addr; in iphc_decompress()
301 return lowpan_header_decompress(skb, netdev, in iphc_decompress()
404 if (!dev || !dev->netdev) in chan_recv_cb()
407 err = recv_pkt(skb, dev->netdev, chan); in chan_recv_cb()
447 static int setup_header(struct sk_buff *skb, struct net_device *netdev, in setup_header() argument
457 dev = lowpan_dev(netdev); in setup_header()
496 lowpan_header_compress(skb, netdev, ETH_P_IPV6, daddr, in setup_header()
497 dev->netdev->dev_addr, skb->len); in setup_header()
499 err = dev_hard_header(skb, netdev, ETH_P_IPV6, NULL, NULL, 0); in setup_header()
506 static int header_create(struct sk_buff *skb, struct net_device *netdev, in header_create() argument
524 struct net_device *netdev) in send_pkt() argument
543 netdev->stats.tx_bytes += err; in send_pkt()
544 netdev->stats.tx_packets++; in send_pkt()
553 netdev->stats.tx_dropped++; in send_pkt()
555 netdev->stats.tx_errors++; in send_pkt()
561 static int send_mcast_pkt(struct sk_buff *skb, struct net_device *netdev) in send_mcast_pkt() argument
573 if (entry->netdev != netdev) in send_mcast_pkt()
576 dev = lowpan_dev(entry->netdev); in send_mcast_pkt()
584 netdev->name, in send_mcast_pkt()
587 ret = send_pkt(pentry->chan, local_skb, netdev); in send_mcast_pkt()
600 static netdev_tx_t bt_xmit(struct sk_buff *skb, struct net_device *netdev) in bt_xmit() argument
618 err = setup_header(skb, netdev, &addr, &addr_type); in bt_xmit()
627 netdev->name, &addr, addr_type, in bt_xmit()
629 err = send_pkt(lowpan_cb(skb)->chan, skb, netdev); in bt_xmit()
637 err = send_mcast_pkt(skb, netdev); in bt_xmit()
718 static void set_dev_addr(struct net_device *netdev, bdaddr_t *addr, in set_dev_addr() argument
721 netdev->addr_assign_type = NET_ADDR_PERM; in set_dev_addr()
722 set_addr(netdev->dev_addr, addr->b, addr_type); in set_dev_addr()
725 static void ifup(struct net_device *netdev) in ifup() argument
730 err = dev_open(netdev); in ifup()
732 BT_INFO("iface %s cannot be opened (%d)", netdev->name, err); in ifup()
736 static void ifdown(struct net_device *netdev) in ifdown() argument
741 err = dev_close(netdev); in ifdown()
743 BT_INFO("iface %s cannot be closed (%d)", netdev->name, err); in ifdown()
752 netdev_notify_peers(dev->netdev); /* send neighbour adv at startup */ in do_notify_peers()
848 struct net_device *netdev; in setup_netdev() local
851 netdev = alloc_netdev(sizeof(struct lowpan_dev), IFACE_NAME_TEMPLATE, in setup_netdev()
853 if (!netdev) in setup_netdev()
856 set_dev_addr(netdev, &chan->src, chan->src_type); in setup_netdev()
858 netdev->netdev_ops = &netdev_ops; in setup_netdev()
859 SET_NETDEV_DEV(netdev, &chan->conn->hcon->dev); in setup_netdev()
860 SET_NETDEV_DEVTYPE(netdev, &bt_type); in setup_netdev()
862 err = register_netdev(netdev); in setup_netdev()
865 free_netdev(netdev); in setup_netdev()
870 netdev->ifindex, &chan->dst, chan->dst_type, in setup_netdev()
872 set_bit(__LINK_STATE_PRESENT, &netdev->state); in setup_netdev()
874 *dev = netdev_priv(netdev); in setup_netdev()
875 (*dev)->netdev = netdev; in setup_netdev()
909 ifup(dev->netdev); in chan_ready_cb()
929 unregister_netdev(entry->netdev); in delete_netdev()
957 dev = lowpan_dev(entry->netdev); in chan_close_cb()
978 ifdown(dev->netdev); in chan_close_cb()
1387 new_dev->netdev = entry->netdev; in disconnect_devices()
1396 ifdown(entry->netdev); in disconnect_devices()
1398 entry->netdev->name, entry->netdev); in disconnect_devices()
1399 unregister_netdev(entry->netdev); in disconnect_devices()
1407 struct net_device *netdev = netdev_notifier_info_to_dev(ptr); in device_event() local
1410 if (netdev->type != ARPHRD_6LOWPAN) in device_event()
1417 if (entry->netdev == netdev) { in device_event()
1419 netdev->name, netdev); in device_event()