Lines Matching defs:net_dev
55 netdev_put(hard_iface->net_dev, &hard_iface->dev_tracker);
62 * @net_dev: net_device to search for
64 * Return: batadv_hard_iface of net_dev (with increased refcnt), NULL on errors
67 batadv_hardif_get_by_netdev(const struct net_device *net_dev)
73 if (hard_iface->net_dev == net_dev &&
139 * @net_dev: the device to check
150 static bool batadv_is_on_batman_iface(const struct net_device *net_dev)
152 struct net *net = dev_net(net_dev);
159 if (batadv_meshif_is_valid(net_dev))
162 iflink = dev_get_iflink(net_dev);
166 parent_net = batadv_getlink_net(net_dev, net);
169 if (net == parent_net && iflink == net_dev->ifindex)
176 net_dev->name);
180 if (batadv_mutual_parents(net_dev, net, parent_dev, parent_net))
188 static bool batadv_is_valid_iface(const struct net_device *net_dev)
190 if (net_dev->flags & IFF_LOOPBACK)
193 if (net_dev->type != ARPHRD_ETHER)
196 if (net_dev->addr_len != ETH_ALEN)
200 if (batadv_is_on_batman_iface(net_dev))
502 if (hard_iface->net_dev->flags & IFF_UP)
524 if (!batadv_compare_eth(tmp_hard_iface->net_dev->dev_addr,
525 hard_iface->net_dev->dev_addr))
529 hard_iface->net_dev->dev_addr, tmp_hard_iface->net_dev->name);
553 hard_iface->net_dev->hard_header_len);
556 hard_iface->net_dev->needed_headroom);
559 hard_iface->net_dev->needed_tailroom);
593 min_mtu = min_t(int, hard_iface->net_dev->mtu, min_mtu);
671 hard_iface->net_dev->name);
692 hard_iface->net_dev->name);
714 hardif_mtu = READ_ONCE(hard_iface->net_dev->mtu);
729 ret = netdev_master_upper_dev_link(hard_iface->net_dev,
743 hard_iface->batman_adv_ptype.dev = hard_iface->net_dev;
747 hard_iface->net_dev->name);
753 hard_iface->net_dev->name, hardif_mtu,
760 hard_iface->net_dev->name, hardif_mtu,
770 hard_iface->net_dev->name);
781 netdev_upper_dev_unlink(hard_iface->net_dev, mesh_iface);
828 hard_iface->net_dev->name);
850 netdev_upper_dev_unlink(hard_iface->net_dev, hard_iface->mesh_iface);
865 batadv_hardif_add_interface(struct net_device *net_dev)
871 if (!batadv_is_valid_iface(net_dev))
878 netdev_hold(net_dev, &hard_iface->dev_tracker, GFP_ATOMIC);
879 hard_iface->net_dev = net_dev;
892 hard_iface->wifi_flags = batadv_wifi_flags_evaluate(net_dev);
925 * @net_dev: net_device which generated an event
930 struct net_device *net_dev)
936 bat_priv = netdev_priv(net_dev);
947 struct net_device *net_dev = netdev_notifier_info_to_dev(ptr);
952 if (batadv_meshif_is_valid(net_dev))
953 return batadv_hard_if_event_meshif(event, net_dev);
955 hard_iface = batadv_hardif_get_by_netdev(net_dev);
958 hard_iface = batadv_hardif_add_interface(net_dev);
999 hard_iface->wifi_flags = batadv_wifi_flags_evaluate(net_dev);