Lines Matching refs:netdev
75 struct net_device *netdev; member
83 static inline struct lowpan_dev *lowpan_dev(const struct net_device *netdev) in lowpan_dev() argument
85 return (struct lowpan_dev *)lowpan_priv(netdev)->priv; in lowpan_dev()
269 static int iphc_decompress(struct sk_buff *skb, struct net_device *netdev, in iphc_decompress() argument
276 dev = lowpan_dev(netdev); in iphc_decompress()
285 daddr = dev->netdev->dev_addr; in iphc_decompress()
287 return lowpan_header_decompress(skb, netdev, daddr, saddr); in iphc_decompress()
387 if (!dev || !dev->netdev) in chan_recv_cb()
390 err = recv_pkt(skb, dev->netdev, chan); in chan_recv_cb()
430 static int setup_header(struct sk_buff *skb, struct net_device *netdev, in setup_header() argument
440 dev = lowpan_dev(netdev); in setup_header()
479 lowpan_header_compress(skb, netdev, daddr, dev->netdev->dev_addr); in setup_header()
481 err = dev_hard_header(skb, netdev, ETH_P_IPV6, NULL, NULL, 0); in setup_header()
488 static int header_create(struct sk_buff *skb, struct net_device *netdev, in header_create() argument
506 struct net_device *netdev) in send_pkt() argument
525 netdev->stats.tx_bytes += err; in send_pkt()
526 netdev->stats.tx_packets++; in send_pkt()
535 netdev->stats.tx_dropped++; in send_pkt()
537 netdev->stats.tx_errors++; in send_pkt()
543 static int send_mcast_pkt(struct sk_buff *skb, struct net_device *netdev) in send_mcast_pkt() argument
555 if (entry->netdev != netdev) in send_mcast_pkt()
558 dev = lowpan_dev(entry->netdev); in send_mcast_pkt()
566 netdev->name, in send_mcast_pkt()
569 ret = send_pkt(pentry->chan, local_skb, netdev); in send_mcast_pkt()
582 static netdev_tx_t bt_xmit(struct sk_buff *skb, struct net_device *netdev) in bt_xmit() argument
600 err = setup_header(skb, netdev, &addr, &addr_type); in bt_xmit()
609 netdev->name, &addr, addr_type, in bt_xmit()
611 err = send_pkt(lowpan_cb(skb)->chan, skb, netdev); in bt_xmit()
619 err = send_mcast_pkt(skb, netdev); in bt_xmit()
695 static void set_dev_addr(struct net_device *netdev, bdaddr_t *addr, in set_dev_addr() argument
698 netdev->addr_assign_type = NET_ADDR_PERM; in set_dev_addr()
699 set_addr(netdev->dev_addr, addr->b, addr_type); in set_dev_addr()
702 static void ifup(struct net_device *netdev) in ifup() argument
707 err = dev_open(netdev); in ifup()
709 BT_INFO("iface %s cannot be opened (%d)", netdev->name, err); in ifup()
713 static void ifdown(struct net_device *netdev) in ifdown() argument
718 err = dev_close(netdev); in ifdown()
720 BT_INFO("iface %s cannot be closed (%d)", netdev->name, err); in ifdown()
729 netdev_notify_peers(dev->netdev); /* send neighbour adv at startup */ in do_notify_peers()
808 struct net_device *netdev; in setup_netdev() local
811 netdev = alloc_netdev(LOWPAN_PRIV_SIZE(sizeof(struct lowpan_dev)), in setup_netdev()
814 if (!netdev) in setup_netdev()
817 set_dev_addr(netdev, &chan->src, chan->src_type); in setup_netdev()
819 netdev->netdev_ops = &netdev_ops; in setup_netdev()
820 SET_NETDEV_DEV(netdev, &chan->conn->hcon->hdev->dev); in setup_netdev()
821 SET_NETDEV_DEVTYPE(netdev, &bt_type); in setup_netdev()
823 *dev = lowpan_dev(netdev); in setup_netdev()
824 (*dev)->netdev = netdev; in setup_netdev()
833 lowpan_netdev_setup(netdev, LOWPAN_LLTYPE_BTLE); in setup_netdev()
835 err = register_netdev(netdev); in setup_netdev()
841 free_netdev(netdev); in setup_netdev()
846 netdev->ifindex, &chan->dst, chan->dst_type, in setup_netdev()
848 set_bit(__LINK_STATE_PRESENT, &netdev->state); in setup_netdev()
875 ifup(dev->netdev); in chan_ready_cb()
898 unregister_netdev(entry->netdev); in delete_netdev()
926 dev = lowpan_dev(entry->netdev); in chan_close_cb()
947 ifdown(dev->netdev); in chan_close_cb()
1344 new_dev->netdev = entry->netdev; in disconnect_devices()
1353 ifdown(entry->netdev); in disconnect_devices()
1355 entry->netdev->name, entry->netdev); in disconnect_devices()
1356 unregister_netdev(entry->netdev); in disconnect_devices()
1364 struct net_device *netdev = netdev_notifier_info_to_dev(ptr); in device_event() local
1367 if (netdev->type != ARPHRD_6LOWPAN) in device_event()
1374 if (entry->netdev == netdev) { in device_event()
1376 netdev->name, netdev); in device_event()