hard_iface 174 net/batman-adv/bat_iv_ogm.c batadv_iv_ogm_neigh_new(struct batadv_hard_iface *hard_iface, hard_iface 182 net/batman-adv/bat_iv_ogm.c hard_iface, neigh_addr); hard_iface 192 net/batman-adv/bat_iv_ogm.c static int batadv_iv_ogm_iface_enable(struct batadv_hard_iface *hard_iface) hard_iface 198 net/batman-adv/bat_iv_ogm.c mutex_lock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 202 net/batman-adv/bat_iv_ogm.c atomic_set(&hard_iface->bat_iv.ogm_seqno, random_seqno); hard_iface 204 net/batman-adv/bat_iv_ogm.c hard_iface->bat_iv.ogm_buff_len = BATADV_OGM_HLEN; hard_iface 205 net/batman-adv/bat_iv_ogm.c ogm_buff = kmalloc(hard_iface->bat_iv.ogm_buff_len, GFP_ATOMIC); hard_iface 207 net/batman-adv/bat_iv_ogm.c mutex_unlock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 211 net/batman-adv/bat_iv_ogm.c hard_iface->bat_iv.ogm_buff = ogm_buff; hard_iface 221 net/batman-adv/bat_iv_ogm.c mutex_unlock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 226 net/batman-adv/bat_iv_ogm.c static void batadv_iv_ogm_iface_disable(struct batadv_hard_iface *hard_iface) hard_iface 228 net/batman-adv/bat_iv_ogm.c mutex_lock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 230 net/batman-adv/bat_iv_ogm.c kfree(hard_iface->bat_iv.ogm_buff); hard_iface 231 net/batman-adv/bat_iv_ogm.c hard_iface->bat_iv.ogm_buff = NULL; hard_iface 233 net/batman-adv/bat_iv_ogm.c mutex_unlock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 236 net/batman-adv/bat_iv_ogm.c static void batadv_iv_ogm_iface_update_mac(struct batadv_hard_iface *hard_iface) hard_iface 241 net/batman-adv/bat_iv_ogm.c mutex_lock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 243 net/batman-adv/bat_iv_ogm.c ogm_buff = hard_iface->bat_iv.ogm_buff; hard_iface 249 net/batman-adv/bat_iv_ogm.c hard_iface->net_dev->dev_addr); hard_iface 251 net/batman-adv/bat_iv_ogm.c hard_iface->net_dev->dev_addr); hard_iface 254 net/batman-adv/bat_iv_ogm.c mutex_unlock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 258 net/batman-adv/bat_iv_ogm.c batadv_iv_ogm_primary_iface_set(struct batadv_hard_iface *hard_iface) hard_iface 263 net/batman-adv/bat_iv_ogm.c mutex_lock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 265 net/batman-adv/bat_iv_ogm.c ogm_buff = hard_iface->bat_iv.ogm_buff; hard_iface 273 net/batman-adv/bat_iv_ogm.c mutex_unlock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 334 net/batman-adv/bat_iv_ogm.c struct batadv_hard_iface *hard_iface) hard_iface 336 net/batman-adv/bat_iv_ogm.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 344 net/batman-adv/bat_iv_ogm.c if (hard_iface->if_status != BATADV_IF_ACTIVE) hard_iface 359 net/batman-adv/bat_iv_ogm.c forw_packet->if_incoming == hard_iface) hard_iface 377 net/batman-adv/bat_iv_ogm.c hard_iface->net_dev->name, hard_iface 378 net/batman-adv/bat_iv_ogm.c hard_iface->net_dev->dev_addr); hard_iface 393 net/batman-adv/bat_iv_ogm.c batadv_send_broadcast_skb(skb, hard_iface); hard_iface 740 net/batman-adv/bat_iv_ogm.c batadv_iv_ogm_slide_own_bcast_window(struct batadv_hard_iface *hard_iface) hard_iface 742 net/batman-adv/bat_iv_ogm.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 759 net/batman-adv/bat_iv_ogm.c if (orig_ifinfo->if_outgoing != hard_iface) hard_iface 779 net/batman-adv/bat_iv_ogm.c static void batadv_iv_ogm_schedule_buff(struct batadv_hard_iface *hard_iface) hard_iface 781 net/batman-adv/bat_iv_ogm.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 782 net/batman-adv/bat_iv_ogm.c unsigned char **ogm_buff = &hard_iface->bat_iv.ogm_buff; hard_iface 785 net/batman-adv/bat_iv_ogm.c int *ogm_buff_len = &hard_iface->bat_iv.ogm_buff_len; hard_iface 790 net/batman-adv/bat_iv_ogm.c lockdep_assert_held(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 802 net/batman-adv/bat_iv_ogm.c if (hard_iface->if_status == BATADV_IF_TO_BE_ACTIVATED) hard_iface 803 net/batman-adv/bat_iv_ogm.c hard_iface->if_status = BATADV_IF_ACTIVE; hard_iface 807 net/batman-adv/bat_iv_ogm.c if (hard_iface == primary_if) { hard_iface 821 net/batman-adv/bat_iv_ogm.c seqno = (u32)atomic_read(&hard_iface->bat_iv.ogm_seqno); hard_iface 823 net/batman-adv/bat_iv_ogm.c atomic_inc(&hard_iface->bat_iv.ogm_seqno); hard_iface 825 net/batman-adv/bat_iv_ogm.c batadv_iv_ogm_slide_own_bcast_window(hard_iface); hard_iface 829 net/batman-adv/bat_iv_ogm.c if (hard_iface != primary_if) { hard_iface 834 net/batman-adv/bat_iv_ogm.c hard_iface, hard_iface, 1, send_time); hard_iface 843 net/batman-adv/bat_iv_ogm.c if (tmp_hard_iface->soft_iface != hard_iface->soft_iface) hard_iface 850 net/batman-adv/bat_iv_ogm.c *ogm_buff_len, hard_iface, hard_iface 862 net/batman-adv/bat_iv_ogm.c static void batadv_iv_ogm_schedule(struct batadv_hard_iface *hard_iface) hard_iface 864 net/batman-adv/bat_iv_ogm.c if (hard_iface->if_status == BATADV_IF_NOT_IN_USE || hard_iface 865 net/batman-adv/bat_iv_ogm.c hard_iface->if_status == BATADV_IF_TO_BE_REMOVED) hard_iface 868 net/batman-adv/bat_iv_ogm.c mutex_lock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 869 net/batman-adv/bat_iv_ogm.c batadv_iv_ogm_schedule_buff(hard_iface); hard_iface 870 net/batman-adv/bat_iv_ogm.c mutex_unlock(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 1564 net/batman-adv/bat_iv_ogm.c struct batadv_hard_iface *hard_iface; hard_iface 1608 net/batman-adv/bat_iv_ogm.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 1609 net/batman-adv/bat_iv_ogm.c if (hard_iface->if_status != BATADV_IF_ACTIVE) hard_iface 1612 net/batman-adv/bat_iv_ogm.c if (hard_iface->soft_iface != if_incoming->soft_iface) hard_iface 1616 net/batman-adv/bat_iv_ogm.c hard_iface->net_dev->dev_addr)) hard_iface 1620 net/batman-adv/bat_iv_ogm.c hard_iface->net_dev->dev_addr)) hard_iface 1624 net/batman-adv/bat_iv_ogm.c hard_iface->net_dev->dev_addr)) hard_iface 1673 net/batman-adv/bat_iv_ogm.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 1674 net/batman-adv/bat_iv_ogm.c if (hard_iface->if_status != BATADV_IF_ACTIVE) hard_iface 1677 net/batman-adv/bat_iv_ogm.c if (hard_iface->soft_iface != bat_priv->soft_iface) hard_iface 1680 net/batman-adv/bat_iv_ogm.c if (!kref_get_unless_zero(&hard_iface->refcount)) hard_iface 1684 net/batman-adv/bat_iv_ogm.c if_incoming, hard_iface); hard_iface 1686 net/batman-adv/bat_iv_ogm.c batadv_hardif_put(hard_iface); hard_iface 2140 net/batman-adv/bat_iv_ogm.c struct batadv_hard_iface *hard_iface; hard_iface 2146 net/batman-adv/bat_iv_ogm.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 2147 net/batman-adv/bat_iv_ogm.c if (hard_iface->soft_iface != net_dev) hard_iface 2151 net/batman-adv/bat_iv_ogm.c &hard_iface->neigh_list, list) { hard_iface 2264 net/batman-adv/bat_iv_ogm.c struct batadv_hard_iface *hard_iface, hard_iface 2271 net/batman-adv/bat_iv_ogm.c &hard_iface->neigh_list, list) { hard_iface 2298 net/batman-adv/bat_iv_ogm.c struct batadv_hard_iface *hard_iface; hard_iface 2315 net/batman-adv/bat_iv_ogm.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, hard_iface 2317 net/batman-adv/bat_iv_ogm.c if (hard_iface->soft_iface != bat_priv->soft_iface) hard_iface 2326 net/batman-adv/bat_iv_ogm.c hard_iface, &idx)) { hard_iface 2393 net/batman-adv/bat_iv_ogm.c static void batadv_iv_iface_enabled(struct batadv_hard_iface *hard_iface) hard_iface 2396 net/batman-adv/bat_iv_ogm.c batadv_iv_ogm_schedule(hard_iface); hard_iface 45 net/batman-adv/bat_v.c static void batadv_v_iface_activate(struct batadv_hard_iface *hard_iface) hard_iface 47 net/batman-adv/bat_v.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 53 net/batman-adv/bat_v.c batadv_v_elp_iface_activate(primary_if, hard_iface); hard_iface 61 net/batman-adv/bat_v.c if (hard_iface->if_status == BATADV_IF_TO_BE_ACTIVATED) hard_iface 62 net/batman-adv/bat_v.c hard_iface->if_status = BATADV_IF_ACTIVE; hard_iface 65 net/batman-adv/bat_v.c static int batadv_v_iface_enable(struct batadv_hard_iface *hard_iface) hard_iface 69 net/batman-adv/bat_v.c ret = batadv_v_elp_iface_enable(hard_iface); hard_iface 73 net/batman-adv/bat_v.c ret = batadv_v_ogm_iface_enable(hard_iface); hard_iface 75 net/batman-adv/bat_v.c batadv_v_elp_iface_disable(hard_iface); hard_iface 80 net/batman-adv/bat_v.c static void batadv_v_iface_disable(struct batadv_hard_iface *hard_iface) hard_iface 82 net/batman-adv/bat_v.c batadv_v_ogm_iface_disable(hard_iface); hard_iface 83 net/batman-adv/bat_v.c batadv_v_elp_iface_disable(hard_iface); hard_iface 86 net/batman-adv/bat_v.c static void batadv_v_primary_iface_set(struct batadv_hard_iface *hard_iface) hard_iface 88 net/batman-adv/bat_v.c batadv_v_elp_primary_iface_set(hard_iface); hard_iface 89 net/batman-adv/bat_v.c batadv_v_ogm_primary_iface_set(hard_iface); hard_iface 99 net/batman-adv/bat_v.c static void batadv_v_iface_update_mac(struct batadv_hard_iface *hard_iface) hard_iface 101 net/batman-adv/bat_v.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 105 net/batman-adv/bat_v.c if (primary_if != hard_iface) hard_iface 108 net/batman-adv/bat_v.c batadv_v_primary_iface_set(hard_iface); hard_iface 184 net/batman-adv/bat_v.c struct batadv_hard_iface *hard_iface; hard_iface 191 net/batman-adv/bat_v.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 192 net/batman-adv/bat_v.c if (hard_iface->soft_iface != net_dev) hard_iface 196 net/batman-adv/bat_v.c &hard_iface->neigh_list, list) { hard_iface 268 net/batman-adv/bat_v.c struct batadv_hard_iface *hard_iface, hard_iface 275 net/batman-adv/bat_v.c &hard_iface->neigh_list, list) { hard_iface 302 net/batman-adv/bat_v.c struct batadv_hard_iface *hard_iface; hard_iface 318 net/batman-adv/bat_v.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 319 net/batman-adv/bat_v.c if (hard_iface->soft_iface != bat_priv->soft_iface) hard_iface 327 net/batman-adv/bat_v.c bat_priv, hard_iface, hard_iface 1078 net/batman-adv/bat_v.c void batadv_v_hardif_init(struct batadv_hard_iface *hard_iface) hard_iface 1083 net/batman-adv/bat_v.c atomic_set(&hard_iface->bat_v.throughput_override, 0); hard_iface 1084 net/batman-adv/bat_v.c atomic_set(&hard_iface->bat_v.elp_interval, 500); hard_iface 1086 net/batman-adv/bat_v.c hard_iface->bat_v.aggr_len = 0; hard_iface 1087 net/batman-adv/bat_v.c skb_queue_head_init(&hard_iface->bat_v.aggr_list); hard_iface 1088 net/batman-adv/bat_v.c spin_lock_init(&hard_iface->bat_v.aggr_list_lock); hard_iface 1089 net/batman-adv/bat_v.c INIT_DELAYED_WORK(&hard_iface->bat_v.aggr_wq, hard_iface 47 net/batman-adv/bat_v_elp.c static void batadv_v_elp_start_timer(struct batadv_hard_iface *hard_iface) hard_iface 51 net/batman-adv/bat_v_elp.c msecs = atomic_read(&hard_iface->bat_v.elp_interval) - BATADV_JITTER; hard_iface 54 net/batman-adv/bat_v_elp.c queue_delayed_work(batadv_event_workqueue, &hard_iface->bat_v.elp_wq, hard_iface 67 net/batman-adv/bat_v_elp.c struct batadv_hard_iface *hard_iface = neigh->if_incoming; hard_iface 77 net/batman-adv/bat_v_elp.c throughput = atomic_read(&hard_iface->bat_v.throughput_override); hard_iface 84 net/batman-adv/bat_v_elp.c if (batadv_is_wifi_hardif(hard_iface)) { hard_iface 85 net/batman-adv/bat_v_elp.c if (!batadv_is_cfg80211_hardif(hard_iface)) hard_iface 89 net/batman-adv/bat_v_elp.c real_netdev = batadv_get_real_netdev(hard_iface->net_dev); hard_iface 121 net/batman-adv/bat_v_elp.c ret = __ethtool_get_link_ksettings(hard_iface->net_dev, &link_settings); hard_iface 139 net/batman-adv/bat_v_elp.c hard_iface->bat_v.flags |= BATADV_FULL_DUPLEX; hard_iface 141 net/batman-adv/bat_v_elp.c hard_iface->bat_v.flags &= ~BATADV_FULL_DUPLEX; hard_iface 149 net/batman-adv/bat_v_elp.c if (!(hard_iface->bat_v.flags & BATADV_WARNING_DEFAULT)) { hard_iface 150 net/batman-adv/bat_v_elp.c batadv_info(hard_iface->soft_iface, hard_iface 152 net/batman-adv/bat_v_elp.c hard_iface->net_dev->name, hard_iface 155 net/batman-adv/bat_v_elp.c hard_iface->bat_v.flags |= BATADV_WARNING_DEFAULT; hard_iface 200 net/batman-adv/bat_v_elp.c struct batadv_hard_iface *hard_iface = neigh->if_incoming; hard_iface 201 net/batman-adv/bat_v_elp.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 208 net/batman-adv/bat_v_elp.c if (!batadv_is_wifi_hardif(hard_iface)) hard_iface 226 net/batman-adv/bat_v_elp.c elp_skb_len = hard_iface->bat_v.elp_skb->len; hard_iface 227 net/batman-adv/bat_v_elp.c skb = skb_copy_expand(hard_iface->bat_v.elp_skb, 0, hard_iface 237 net/batman-adv/bat_v_elp.c skb_put_zero(skb, probe_len - hard_iface->bat_v.elp_skb->len); hard_iface 241 net/batman-adv/bat_v_elp.c hard_iface->net_dev->name, neigh->addr); hard_iface 243 net/batman-adv/bat_v_elp.c batadv_send_skb_packet(skb, hard_iface, neigh->addr); hard_iface 258 net/batman-adv/bat_v_elp.c struct batadv_hard_iface *hard_iface; hard_iface 267 net/batman-adv/bat_v_elp.c hard_iface = container_of(bat_v, struct batadv_hard_iface, bat_v); hard_iface 268 net/batman-adv/bat_v_elp.c bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 274 net/batman-adv/bat_v_elp.c if (hard_iface->if_status == BATADV_IF_NOT_IN_USE || hard_iface 275 net/batman-adv/bat_v_elp.c hard_iface->if_status == BATADV_IF_TO_BE_REMOVED) hard_iface 279 net/batman-adv/bat_v_elp.c if (hard_iface->if_status != BATADV_IF_ACTIVE) hard_iface 282 net/batman-adv/bat_v_elp.c skb = skb_copy(hard_iface->bat_v.elp_skb, GFP_ATOMIC); hard_iface 287 net/batman-adv/bat_v_elp.c elp_packet->seqno = htonl(atomic_read(&hard_iface->bat_v.elp_seqno)); hard_iface 288 net/batman-adv/bat_v_elp.c elp_interval = atomic_read(&hard_iface->bat_v.elp_interval); hard_iface 293 net/batman-adv/bat_v_elp.c hard_iface->net_dev->name, hard_iface 294 net/batman-adv/bat_v_elp.c atomic_read(&hard_iface->bat_v.elp_seqno)); hard_iface 296 net/batman-adv/bat_v_elp.c batadv_send_broadcast_skb(skb, hard_iface); hard_iface 298 net/batman-adv/bat_v_elp.c atomic_inc(&hard_iface->bat_v.elp_seqno); hard_iface 312 net/batman-adv/bat_v_elp.c hlist_for_each_entry_rcu(hardif_neigh, &hard_iface->neigh_list, list) { hard_iface 335 net/batman-adv/bat_v_elp.c batadv_v_elp_start_timer(hard_iface); hard_iface 346 net/batman-adv/bat_v_elp.c int batadv_v_elp_iface_enable(struct batadv_hard_iface *hard_iface) hard_iface 356 net/batman-adv/bat_v_elp.c hard_iface->bat_v.elp_skb = dev_alloc_skb(size); hard_iface 357 net/batman-adv/bat_v_elp.c if (!hard_iface->bat_v.elp_skb) hard_iface 360 net/batman-adv/bat_v_elp.c skb_reserve(hard_iface->bat_v.elp_skb, ETH_HLEN + NET_IP_ALIGN); hard_iface 361 net/batman-adv/bat_v_elp.c elp_buff = skb_put_zero(hard_iface->bat_v.elp_skb, hard_iface 370 net/batman-adv/bat_v_elp.c atomic_set(&hard_iface->bat_v.elp_seqno, random_seqno); hard_iface 373 net/batman-adv/bat_v_elp.c hard_iface->bat_v.flags |= BATADV_FULL_DUPLEX; hard_iface 376 net/batman-adv/bat_v_elp.c hard_iface->bat_v.flags &= ~BATADV_WARNING_DEFAULT; hard_iface 378 net/batman-adv/bat_v_elp.c if (batadv_is_wifi_hardif(hard_iface)) hard_iface 379 net/batman-adv/bat_v_elp.c hard_iface->bat_v.flags &= ~BATADV_FULL_DUPLEX; hard_iface 381 net/batman-adv/bat_v_elp.c INIT_DELAYED_WORK(&hard_iface->bat_v.elp_wq, hard_iface 383 net/batman-adv/bat_v_elp.c batadv_v_elp_start_timer(hard_iface); hard_iface 394 net/batman-adv/bat_v_elp.c void batadv_v_elp_iface_disable(struct batadv_hard_iface *hard_iface) hard_iface 396 net/batman-adv/bat_v_elp.c cancel_delayed_work_sync(&hard_iface->bat_v.elp_wq); hard_iface 398 net/batman-adv/bat_v_elp.c dev_kfree_skb(hard_iface->bat_v.elp_skb); hard_iface 399 net/batman-adv/bat_v_elp.c hard_iface->bat_v.elp_skb = NULL; hard_iface 409 net/batman-adv/bat_v_elp.c struct batadv_hard_iface *hard_iface) hard_iface 414 net/batman-adv/bat_v_elp.c if (!hard_iface->bat_v.elp_skb) hard_iface 417 net/batman-adv/bat_v_elp.c skb = hard_iface->bat_v.elp_skb; hard_iface 430 net/batman-adv/bat_v_elp.c struct batadv_hard_iface *hard_iface; hard_iface 434 net/batman-adv/bat_v_elp.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 435 net/batman-adv/bat_v_elp.c if (primary_iface->soft_iface != hard_iface->soft_iface) hard_iface 438 net/batman-adv/bat_v_elp.c batadv_v_elp_iface_activate(primary_iface, hard_iface); hard_iface 15 net/batman-adv/bat_v_elp.h int batadv_v_elp_iface_enable(struct batadv_hard_iface *hard_iface); hard_iface 16 net/batman-adv/bat_v_elp.h void batadv_v_elp_iface_disable(struct batadv_hard_iface *hard_iface); hard_iface 18 net/batman-adv/bat_v_elp.h struct batadv_hard_iface *hard_iface); hard_iface 86 net/batman-adv/bat_v_ogm.c static void batadv_v_ogm_start_queue_timer(struct batadv_hard_iface *hard_iface) hard_iface 92 net/batman-adv/bat_v_ogm.c queue_delayed_work(batadv_event_workqueue, &hard_iface->bat_v.aggr_wq, hard_iface 121 net/batman-adv/bat_v_ogm.c struct batadv_hard_iface *hard_iface) hard_iface 123 net/batman-adv/bat_v_ogm.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 125 net/batman-adv/bat_v_ogm.c if (hard_iface->if_status != BATADV_IF_ACTIVE) hard_iface 132 net/batman-adv/bat_v_ogm.c batadv_send_broadcast_skb(skb, hard_iface); hard_iface 160 net/batman-adv/bat_v_ogm.c struct batadv_hard_iface *hard_iface) hard_iface 162 net/batman-adv/bat_v_ogm.c unsigned int max = min_t(unsigned int, hard_iface->net_dev->mtu, hard_iface 166 net/batman-adv/bat_v_ogm.c lockdep_assert_held(&hard_iface->bat_v.aggr_list_lock); hard_iface 168 net/batman-adv/bat_v_ogm.c return hard_iface->bat_v.aggr_len + ogm_len <= max; hard_iface 179 net/batman-adv/bat_v_ogm.c static void batadv_v_ogm_aggr_list_free(struct batadv_hard_iface *hard_iface) hard_iface 183 net/batman-adv/bat_v_ogm.c lockdep_assert_held(&hard_iface->bat_v.aggr_list_lock); hard_iface 185 net/batman-adv/bat_v_ogm.c while ((skb = skb_dequeue(&hard_iface->bat_v.aggr_list))) hard_iface 188 net/batman-adv/bat_v_ogm.c hard_iface->bat_v.aggr_len = 0; hard_iface 202 net/batman-adv/bat_v_ogm.c static void batadv_v_ogm_aggr_send(struct batadv_hard_iface *hard_iface) hard_iface 204 net/batman-adv/bat_v_ogm.c unsigned int aggr_len = hard_iface->bat_v.aggr_len; hard_iface 209 net/batman-adv/bat_v_ogm.c lockdep_assert_held(&hard_iface->bat_v.aggr_list_lock); hard_iface 216 net/batman-adv/bat_v_ogm.c batadv_v_ogm_aggr_list_free(hard_iface); hard_iface 223 net/batman-adv/bat_v_ogm.c while ((skb = skb_dequeue(&hard_iface->bat_v.aggr_list))) { hard_iface 224 net/batman-adv/bat_v_ogm.c hard_iface->bat_v.aggr_len -= batadv_v_ogm_len(skb); hard_iface 232 net/batman-adv/bat_v_ogm.c batadv_v_ogm_send_to_if(skb_aggr, hard_iface); hard_iface 241 net/batman-adv/bat_v_ogm.c struct batadv_hard_iface *hard_iface) hard_iface 243 net/batman-adv/bat_v_ogm.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 246 net/batman-adv/bat_v_ogm.c batadv_v_ogm_send_to_if(skb, hard_iface); hard_iface 250 net/batman-adv/bat_v_ogm.c spin_lock_bh(&hard_iface->bat_v.aggr_list_lock); hard_iface 251 net/batman-adv/bat_v_ogm.c if (!batadv_v_ogm_queue_left(skb, hard_iface)) hard_iface 252 net/batman-adv/bat_v_ogm.c batadv_v_ogm_aggr_send(hard_iface); hard_iface 254 net/batman-adv/bat_v_ogm.c hard_iface->bat_v.aggr_len += batadv_v_ogm_len(skb); hard_iface 255 net/batman-adv/bat_v_ogm.c skb_queue_tail(&hard_iface->bat_v.aggr_list, skb); hard_iface 256 net/batman-adv/bat_v_ogm.c spin_unlock_bh(&hard_iface->bat_v.aggr_list_lock); hard_iface 265 net/batman-adv/bat_v_ogm.c struct batadv_hard_iface *hard_iface; hard_iface 305 net/batman-adv/bat_v_ogm.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 306 net/batman-adv/bat_v_ogm.c if (hard_iface->soft_iface != bat_priv->soft_iface) hard_iface 309 net/batman-adv/bat_v_ogm.c if (!kref_get_unless_zero(&hard_iface->refcount)) hard_iface 312 net/batman-adv/bat_v_ogm.c ret = batadv_hardif_no_broadcast(hard_iface, NULL, NULL); hard_iface 331 net/batman-adv/bat_v_ogm.c hard_iface->net_dev->name, type); hard_iface 333 net/batman-adv/bat_v_ogm.c batadv_hardif_put(hard_iface); hard_iface 341 net/batman-adv/bat_v_ogm.c hard_iface->net_dev->name, hard_iface 342 net/batman-adv/bat_v_ogm.c hard_iface->net_dev->dev_addr); hard_iface 347 net/batman-adv/bat_v_ogm.c batadv_hardif_put(hard_iface); hard_iface 351 net/batman-adv/bat_v_ogm.c batadv_v_ogm_queue_on_if(skb_tmp, hard_iface); hard_iface 352 net/batman-adv/bat_v_ogm.c batadv_hardif_put(hard_iface); hard_iface 390 net/batman-adv/bat_v_ogm.c struct batadv_hard_iface *hard_iface; hard_iface 393 net/batman-adv/bat_v_ogm.c hard_iface = container_of(batv, struct batadv_hard_iface, bat_v); hard_iface 395 net/batman-adv/bat_v_ogm.c spin_lock_bh(&hard_iface->bat_v.aggr_list_lock); hard_iface 396 net/batman-adv/bat_v_ogm.c batadv_v_ogm_aggr_send(hard_iface); hard_iface 397 net/batman-adv/bat_v_ogm.c spin_unlock_bh(&hard_iface->bat_v.aggr_list_lock); hard_iface 399 net/batman-adv/bat_v_ogm.c batadv_v_ogm_start_queue_timer(hard_iface); hard_iface 410 net/batman-adv/bat_v_ogm.c int batadv_v_ogm_iface_enable(struct batadv_hard_iface *hard_iface) hard_iface 412 net/batman-adv/bat_v_ogm.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 414 net/batman-adv/bat_v_ogm.c batadv_v_ogm_start_queue_timer(hard_iface); hard_iface 424 net/batman-adv/bat_v_ogm.c void batadv_v_ogm_iface_disable(struct batadv_hard_iface *hard_iface) hard_iface 426 net/batman-adv/bat_v_ogm.c cancel_delayed_work_sync(&hard_iface->bat_v.aggr_wq); hard_iface 428 net/batman-adv/bat_v_ogm.c spin_lock_bh(&hard_iface->bat_v.aggr_list_lock); hard_iface 429 net/batman-adv/bat_v_ogm.c batadv_v_ogm_aggr_list_free(hard_iface); hard_iface 430 net/batman-adv/bat_v_ogm.c spin_unlock_bh(&hard_iface->bat_v.aggr_list_lock); hard_iface 864 net/batman-adv/bat_v_ogm.c struct batadv_hard_iface *hard_iface; hard_iface 923 net/batman-adv/bat_v_ogm.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 924 net/batman-adv/bat_v_ogm.c if (hard_iface->if_status != BATADV_IF_ACTIVE) hard_iface 927 net/batman-adv/bat_v_ogm.c if (hard_iface->soft_iface != bat_priv->soft_iface) hard_iface 930 net/batman-adv/bat_v_ogm.c if (!kref_get_unless_zero(&hard_iface->refcount)) hard_iface 933 net/batman-adv/bat_v_ogm.c ret = batadv_hardif_no_broadcast(hard_iface, hard_iface 955 net/batman-adv/bat_v_ogm.c ogm_packet->orig, hard_iface->net_dev->name, hard_iface 958 net/batman-adv/bat_v_ogm.c batadv_hardif_put(hard_iface); hard_iface 964 net/batman-adv/bat_v_ogm.c if_incoming, hard_iface); hard_iface 966 net/batman-adv/bat_v_ogm.c batadv_hardif_put(hard_iface); hard_iface 19 net/batman-adv/bat_v_ogm.h int batadv_v_ogm_iface_enable(struct batadv_hard_iface *hard_iface); hard_iface 20 net/batman-adv/bat_v_ogm.h void batadv_v_ogm_iface_disable(struct batadv_hard_iface *hard_iface); hard_iface 318 net/batman-adv/debugfs.c void batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface) hard_iface 320 net/batman-adv/debugfs.c struct net *net = dev_net(hard_iface->net_dev); hard_iface 326 net/batman-adv/debugfs.c hard_iface->debug_dir = debugfs_create_dir(hard_iface->net_dev->name, hard_iface 332 net/batman-adv/debugfs.c hard_iface->debug_dir, hard_iface->net_dev, hard_iface 340 net/batman-adv/debugfs.c void batadv_debugfs_rename_hardif(struct batadv_hard_iface *hard_iface) hard_iface 342 net/batman-adv/debugfs.c const char *name = hard_iface->net_dev->name; hard_iface 345 net/batman-adv/debugfs.c dir = hard_iface->debug_dir; hard_iface 357 net/batman-adv/debugfs.c void batadv_debugfs_del_hardif(struct batadv_hard_iface *hard_iface) hard_iface 359 net/batman-adv/debugfs.c struct net *net = dev_net(hard_iface->net_dev); hard_iface 365 net/batman-adv/debugfs.c debugfs_remove_recursive(hard_iface->debug_dir); hard_iface 366 net/batman-adv/debugfs.c hard_iface->debug_dir = NULL; hard_iface 25 net/batman-adv/debugfs.h void batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface); hard_iface 26 net/batman-adv/debugfs.h void batadv_debugfs_rename_hardif(struct batadv_hard_iface *hard_iface); hard_iface 27 net/batman-adv/debugfs.h void batadv_debugfs_del_hardif(struct batadv_hard_iface *hard_iface); hard_iface 57 net/batman-adv/debugfs.h void batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface) hard_iface 62 net/batman-adv/debugfs.h void batadv_debugfs_rename_hardif(struct batadv_hard_iface *hard_iface) hard_iface 67 net/batman-adv/debugfs.h void batadv_debugfs_del_hardif(struct batadv_hard_iface *hard_iface) hard_iface 51 net/batman-adv/hard-interface.c struct batadv_hard_iface *hard_iface; hard_iface 53 net/batman-adv/hard-interface.c hard_iface = container_of(ref, struct batadv_hard_iface, refcount); hard_iface 54 net/batman-adv/hard-interface.c dev_put(hard_iface->net_dev); hard_iface 56 net/batman-adv/hard-interface.c kfree_rcu(hard_iface, rcu); hard_iface 68 net/batman-adv/hard-interface.c struct batadv_hard_iface *hard_iface; hard_iface 71 net/batman-adv/hard-interface.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 72 net/batman-adv/hard-interface.c if (hard_iface->net_dev == net_dev && hard_iface 73 net/batman-adv/hard-interface.c kref_get_unless_zero(&hard_iface->refcount)) hard_iface 77 net/batman-adv/hard-interface.c hard_iface = NULL; hard_iface 81 net/batman-adv/hard-interface.c return hard_iface; hard_iface 215 net/batman-adv/hard-interface.c struct batadv_hard_iface *hard_iface = NULL; hard_iface 231 net/batman-adv/hard-interface.c hard_iface = batadv_hardif_get_by_netdev(netdev); hard_iface 232 net/batman-adv/hard-interface.c if (!hard_iface || !hard_iface->soft_iface) hard_iface 235 net/batman-adv/hard-interface.c net = dev_net(hard_iface->soft_iface); hard_iface 241 net/batman-adv/hard-interface.c if (hard_iface) hard_iface 242 net/batman-adv/hard-interface.c batadv_hardif_put(hard_iface); hard_iface 352 net/batman-adv/hard-interface.c bool batadv_is_cfg80211_hardif(struct batadv_hard_iface *hard_iface) hard_iface 359 net/batman-adv/hard-interface.c return !!(hard_iface->wifi_flags & allowed_flags); hard_iface 368 net/batman-adv/hard-interface.c bool batadv_is_wifi_hardif(struct batadv_hard_iface *hard_iface) hard_iface 370 net/batman-adv/hard-interface.c if (!hard_iface) hard_iface 373 net/batman-adv/hard-interface.c return hard_iface->wifi_flags != 0; hard_iface 431 net/batman-adv/hard-interface.c struct batadv_hard_iface *hard_iface; hard_iface 434 net/batman-adv/hard-interface.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 435 net/batman-adv/hard-interface.c if (hard_iface->soft_iface != soft_iface) hard_iface 438 net/batman-adv/hard-interface.c if (hard_iface->if_status == BATADV_IF_ACTIVE && hard_iface 439 net/batman-adv/hard-interface.c kref_get_unless_zero(&hard_iface->refcount)) hard_iface 443 net/batman-adv/hard-interface.c hard_iface = NULL; hard_iface 447 net/batman-adv/hard-interface.c return hard_iface; hard_iface 491 net/batman-adv/hard-interface.c batadv_hardif_is_iface_up(const struct batadv_hard_iface *hard_iface) hard_iface 493 net/batman-adv/hard-interface.c if (hard_iface->net_dev->flags & IFF_UP) hard_iface 501 net/batman-adv/hard-interface.c const struct batadv_hard_iface *hard_iface; hard_iface 504 net/batman-adv/hard-interface.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 505 net/batman-adv/hard-interface.c if (hard_iface->if_status != BATADV_IF_ACTIVE && hard_iface 506 net/batman-adv/hard-interface.c hard_iface->if_status != BATADV_IF_TO_BE_ACTIVATED) hard_iface 509 net/batman-adv/hard-interface.c if (hard_iface->net_dev == net_dev) hard_iface 512 net/batman-adv/hard-interface.c if (!batadv_compare_eth(hard_iface->net_dev->dev_addr, hard_iface 517 net/batman-adv/hard-interface.c net_dev->dev_addr, hard_iface->net_dev->name); hard_iface 529 net/batman-adv/hard-interface.c const struct batadv_hard_iface *hard_iface; hard_iface 536 net/batman-adv/hard-interface.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 537 net/batman-adv/hard-interface.c if (hard_iface->if_status == BATADV_IF_NOT_IN_USE) hard_iface 540 net/batman-adv/hard-interface.c if (hard_iface->soft_iface != soft_iface) hard_iface 544 net/batman-adv/hard-interface.c hard_iface->net_dev->hard_header_len); hard_iface 547 net/batman-adv/hard-interface.c hard_iface->net_dev->needed_headroom); hard_iface 550 net/batman-adv/hard-interface.c hard_iface->net_dev->needed_tailroom); hard_iface 571 net/batman-adv/hard-interface.c const struct batadv_hard_iface *hard_iface; hard_iface 575 net/batman-adv/hard-interface.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 576 net/batman-adv/hard-interface.c if (hard_iface->if_status != BATADV_IF_ACTIVE && hard_iface 577 net/batman-adv/hard-interface.c hard_iface->if_status != BATADV_IF_TO_BE_ACTIVATED) hard_iface 580 net/batman-adv/hard-interface.c if (hard_iface->soft_iface != soft_iface) hard_iface 583 net/batman-adv/hard-interface.c min_mtu = min_t(int, hard_iface->net_dev->mtu, min_mtu); hard_iface 630 net/batman-adv/hard-interface.c batadv_hardif_activate_interface(struct batadv_hard_iface *hard_iface) hard_iface 635 net/batman-adv/hard-interface.c if (hard_iface->if_status != BATADV_IF_INACTIVE) hard_iface 638 net/batman-adv/hard-interface.c bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 640 net/batman-adv/hard-interface.c bat_priv->algo_ops->iface.update_mac(hard_iface); hard_iface 641 net/batman-adv/hard-interface.c hard_iface->if_status = BATADV_IF_TO_BE_ACTIVATED; hard_iface 648 net/batman-adv/hard-interface.c batadv_primary_if_select(bat_priv, hard_iface); hard_iface 650 net/batman-adv/hard-interface.c batadv_info(hard_iface->soft_iface, "Interface activated: %s\n", hard_iface 651 net/batman-adv/hard-interface.c hard_iface->net_dev->name); hard_iface 653 net/batman-adv/hard-interface.c batadv_update_min_mtu(hard_iface->soft_iface); hard_iface 656 net/batman-adv/hard-interface.c bat_priv->algo_ops->iface.activate(hard_iface); hard_iface 664 net/batman-adv/hard-interface.c batadv_hardif_deactivate_interface(struct batadv_hard_iface *hard_iface) hard_iface 666 net/batman-adv/hard-interface.c if (hard_iface->if_status != BATADV_IF_ACTIVE && hard_iface 667 net/batman-adv/hard-interface.c hard_iface->if_status != BATADV_IF_TO_BE_ACTIVATED) hard_iface 670 net/batman-adv/hard-interface.c hard_iface->if_status = BATADV_IF_INACTIVE; hard_iface 672 net/batman-adv/hard-interface.c batadv_info(hard_iface->soft_iface, "Interface deactivated: %s\n", hard_iface 673 net/batman-adv/hard-interface.c hard_iface->net_dev->name); hard_iface 675 net/batman-adv/hard-interface.c batadv_update_min_mtu(hard_iface->soft_iface); hard_iface 711 net/batman-adv/hard-interface.c int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface, hard_iface 720 net/batman-adv/hard-interface.c if (hard_iface->if_status != BATADV_IF_NOT_IN_USE) hard_iface 723 net/batman-adv/hard-interface.c kref_get(&hard_iface->refcount); hard_iface 749 net/batman-adv/hard-interface.c master = netdev_master_upper_dev_get(hard_iface->net_dev); hard_iface 750 net/batman-adv/hard-interface.c ret = batadv_master_del_slave(hard_iface, master); hard_iface 754 net/batman-adv/hard-interface.c hard_iface->soft_iface = soft_iface; hard_iface 755 net/batman-adv/hard-interface.c bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 757 net/batman-adv/hard-interface.c ret = netdev_master_upper_dev_link(hard_iface->net_dev, hard_iface 762 net/batman-adv/hard-interface.c ret = bat_priv->algo_ops->iface.enable(hard_iface); hard_iface 766 net/batman-adv/hard-interface.c hard_iface->if_status = BATADV_IF_INACTIVE; hard_iface 768 net/batman-adv/hard-interface.c kref_get(&hard_iface->refcount); hard_iface 769 net/batman-adv/hard-interface.c hard_iface->batman_adv_ptype.type = ethertype; hard_iface 770 net/batman-adv/hard-interface.c hard_iface->batman_adv_ptype.func = batadv_batman_skb_recv; hard_iface 771 net/batman-adv/hard-interface.c hard_iface->batman_adv_ptype.dev = hard_iface->net_dev; hard_iface 772 net/batman-adv/hard-interface.c dev_add_pack(&hard_iface->batman_adv_ptype); hard_iface 774 net/batman-adv/hard-interface.c batadv_info(hard_iface->soft_iface, "Adding interface: %s\n", hard_iface 775 net/batman-adv/hard-interface.c hard_iface->net_dev->name); hard_iface 778 net/batman-adv/hard-interface.c hard_iface->net_dev->mtu < ETH_DATA_LEN + max_header_len) hard_iface 779 net/batman-adv/hard-interface.c batadv_info(hard_iface->soft_iface, hard_iface 781 net/batman-adv/hard-interface.c hard_iface->net_dev->name, hard_iface->net_dev->mtu, hard_iface 785 net/batman-adv/hard-interface.c hard_iface->net_dev->mtu < ETH_DATA_LEN + max_header_len) hard_iface 786 net/batman-adv/hard-interface.c batadv_info(hard_iface->soft_iface, hard_iface 788 net/batman-adv/hard-interface.c hard_iface->net_dev->name, hard_iface->net_dev->mtu, hard_iface 791 net/batman-adv/hard-interface.c if (batadv_hardif_is_iface_up(hard_iface)) hard_iface 792 net/batman-adv/hard-interface.c batadv_hardif_activate_interface(hard_iface); hard_iface 794 net/batman-adv/hard-interface.c batadv_err(hard_iface->soft_iface, hard_iface 796 net/batman-adv/hard-interface.c hard_iface->net_dev->name); hard_iface 801 net/batman-adv/hard-interface.c bat_priv->algo_ops->iface.enabled(hard_iface); hard_iface 807 net/batman-adv/hard-interface.c netdev_upper_dev_unlink(hard_iface->net_dev, soft_iface); hard_iface 809 net/batman-adv/hard-interface.c hard_iface->soft_iface = NULL; hard_iface 812 net/batman-adv/hard-interface.c batadv_hardif_put(hard_iface); hard_iface 828 net/batman-adv/hard-interface.c struct batadv_hard_iface *hard_iface; hard_iface 832 net/batman-adv/hard-interface.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 833 net/batman-adv/hard-interface.c if (hard_iface->soft_iface != soft_iface) hard_iface 849 net/batman-adv/hard-interface.c void batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface, hard_iface 852 net/batman-adv/hard-interface.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 855 net/batman-adv/hard-interface.c batadv_hardif_deactivate_interface(hard_iface); hard_iface 857 net/batman-adv/hard-interface.c if (hard_iface->if_status != BATADV_IF_INACTIVE) hard_iface 860 net/batman-adv/hard-interface.c batadv_info(hard_iface->soft_iface, "Removing interface: %s\n", hard_iface 861 net/batman-adv/hard-interface.c hard_iface->net_dev->name); hard_iface 862 net/batman-adv/hard-interface.c dev_remove_pack(&hard_iface->batman_adv_ptype); hard_iface 863 net/batman-adv/hard-interface.c batadv_hardif_put(hard_iface); hard_iface 866 net/batman-adv/hard-interface.c if (hard_iface == primary_if) { hard_iface 869 net/batman-adv/hard-interface.c new_if = batadv_hardif_get_active(hard_iface->soft_iface); hard_iface 876 net/batman-adv/hard-interface.c bat_priv->algo_ops->iface.disable(hard_iface); hard_iface 877 net/batman-adv/hard-interface.c hard_iface->if_status = BATADV_IF_NOT_IN_USE; hard_iface 881 net/batman-adv/hard-interface.c batadv_purge_outstanding_packets(bat_priv, hard_iface); hard_iface 882 net/batman-adv/hard-interface.c dev_put(hard_iface->soft_iface); hard_iface 884 net/batman-adv/hard-interface.c netdev_upper_dev_unlink(hard_iface->net_dev, hard_iface->soft_iface); hard_iface 885 net/batman-adv/hard-interface.c batadv_hardif_recalc_extra_skbroom(hard_iface->soft_iface); hard_iface 888 net/batman-adv/hard-interface.c if (batadv_hardif_cnt(hard_iface->soft_iface) <= 1) { hard_iface 892 net/batman-adv/hard-interface.c batadv_softif_destroy_sysfs(hard_iface->soft_iface); hard_iface 895 net/batman-adv/hard-interface.c hard_iface->soft_iface = NULL; hard_iface 896 net/batman-adv/hard-interface.c batadv_hardif_put(hard_iface); hard_iface 906 net/batman-adv/hard-interface.c struct batadv_hard_iface *hard_iface; hard_iface 916 net/batman-adv/hard-interface.c hard_iface = kzalloc(sizeof(*hard_iface), GFP_ATOMIC); hard_iface 917 net/batman-adv/hard-interface.c if (!hard_iface) hard_iface 920 net/batman-adv/hard-interface.c ret = batadv_sysfs_add_hardif(&hard_iface->hardif_obj, net_dev); hard_iface 924 net/batman-adv/hard-interface.c hard_iface->net_dev = net_dev; hard_iface 925 net/batman-adv/hard-interface.c hard_iface->soft_iface = NULL; hard_iface 926 net/batman-adv/hard-interface.c hard_iface->if_status = BATADV_IF_NOT_IN_USE; hard_iface 928 net/batman-adv/hard-interface.c batadv_debugfs_add_hardif(hard_iface); hard_iface 930 net/batman-adv/hard-interface.c INIT_LIST_HEAD(&hard_iface->list); hard_iface 931 net/batman-adv/hard-interface.c INIT_HLIST_HEAD(&hard_iface->neigh_list); hard_iface 933 net/batman-adv/hard-interface.c mutex_init(&hard_iface->bat_iv.ogm_buff_mutex); hard_iface 934 net/batman-adv/hard-interface.c spin_lock_init(&hard_iface->neigh_list_lock); hard_iface 935 net/batman-adv/hard-interface.c kref_init(&hard_iface->refcount); hard_iface 937 net/batman-adv/hard-interface.c hard_iface->num_bcasts = BATADV_NUM_BCASTS_DEFAULT; hard_iface 938 net/batman-adv/hard-interface.c hard_iface->wifi_flags = batadv_wifi_flags_evaluate(net_dev); hard_iface 939 net/batman-adv/hard-interface.c if (batadv_is_wifi_hardif(hard_iface)) hard_iface 940 net/batman-adv/hard-interface.c hard_iface->num_bcasts = BATADV_NUM_BCASTS_WIRELESS; hard_iface 942 net/batman-adv/hard-interface.c batadv_v_hardif_init(hard_iface); hard_iface 944 net/batman-adv/hard-interface.c batadv_check_known_mac_addr(hard_iface->net_dev); hard_iface 945 net/batman-adv/hard-interface.c kref_get(&hard_iface->refcount); hard_iface 946 net/batman-adv/hard-interface.c list_add_tail_rcu(&hard_iface->list, &batadv_hardif_list); hard_iface 949 net/batman-adv/hard-interface.c return hard_iface; hard_iface 952 net/batman-adv/hard-interface.c kfree(hard_iface); hard_iface 959 net/batman-adv/hard-interface.c static void batadv_hardif_remove_interface(struct batadv_hard_iface *hard_iface) hard_iface 964 net/batman-adv/hard-interface.c if (hard_iface->if_status != BATADV_IF_NOT_IN_USE) hard_iface 965 net/batman-adv/hard-interface.c batadv_hardif_disable_interface(hard_iface, hard_iface 968 net/batman-adv/hard-interface.c if (hard_iface->if_status != BATADV_IF_NOT_IN_USE) hard_iface 971 net/batman-adv/hard-interface.c hard_iface->if_status = BATADV_IF_TO_BE_REMOVED; hard_iface 972 net/batman-adv/hard-interface.c batadv_debugfs_del_hardif(hard_iface); hard_iface 973 net/batman-adv/hard-interface.c batadv_sysfs_del_hardif(&hard_iface->hardif_obj); hard_iface 974 net/batman-adv/hard-interface.c batadv_hardif_put(hard_iface); hard_iface 982 net/batman-adv/hard-interface.c struct batadv_hard_iface *hard_iface, *hard_iface_tmp; hard_iface 985 net/batman-adv/hard-interface.c list_for_each_entry_safe(hard_iface, hard_iface_tmp, hard_iface 987 net/batman-adv/hard-interface.c list_del_rcu(&hard_iface->list); hard_iface 989 net/batman-adv/hard-interface.c batadv_hardif_remove_interface(hard_iface); hard_iface 1024 net/batman-adv/hard-interface.c struct batadv_hard_iface *hard_iface; hard_iface 1031 net/batman-adv/hard-interface.c hard_iface = batadv_hardif_get_by_netdev(net_dev); hard_iface 1032 net/batman-adv/hard-interface.c if (!hard_iface && (event == NETDEV_REGISTER || hard_iface 1034 net/batman-adv/hard-interface.c hard_iface = batadv_hardif_add_interface(net_dev); hard_iface 1036 net/batman-adv/hard-interface.c if (!hard_iface) hard_iface 1041 net/batman-adv/hard-interface.c batadv_hardif_activate_interface(hard_iface); hard_iface 1045 net/batman-adv/hard-interface.c batadv_hardif_deactivate_interface(hard_iface); hard_iface 1049 net/batman-adv/hard-interface.c list_del_rcu(&hard_iface->list); hard_iface 1052 net/batman-adv/hard-interface.c batadv_hardif_remove_interface(hard_iface); hard_iface 1055 net/batman-adv/hard-interface.c if (hard_iface->soft_iface) hard_iface 1056 net/batman-adv/hard-interface.c batadv_update_min_mtu(hard_iface->soft_iface); hard_iface 1059 net/batman-adv/hard-interface.c if (hard_iface->if_status == BATADV_IF_NOT_IN_USE) hard_iface 1062 net/batman-adv/hard-interface.c batadv_check_known_mac_addr(hard_iface->net_dev); hard_iface 1064 net/batman-adv/hard-interface.c bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 1065 net/batman-adv/hard-interface.c bat_priv->algo_ops->iface.update_mac(hard_iface); hard_iface 1071 net/batman-adv/hard-interface.c if (hard_iface == primary_if) hard_iface 1075 net/batman-adv/hard-interface.c hard_iface->wifi_flags = batadv_wifi_flags_evaluate(net_dev); hard_iface 1076 net/batman-adv/hard-interface.c if (batadv_is_wifi_hardif(hard_iface)) hard_iface 1077 net/batman-adv/hard-interface.c hard_iface->num_bcasts = BATADV_NUM_BCASTS_WIRELESS; hard_iface 1080 net/batman-adv/hard-interface.c batadv_debugfs_rename_hardif(hard_iface); hard_iface 1087 net/batman-adv/hard-interface.c batadv_hardif_put(hard_iface); hard_iface 95 net/batman-adv/hard-interface.h bool batadv_is_cfg80211_hardif(struct batadv_hard_iface *hard_iface); hard_iface 96 net/batman-adv/hard-interface.h bool batadv_is_wifi_hardif(struct batadv_hard_iface *hard_iface); hard_iface 99 net/batman-adv/hard-interface.h int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface, hard_iface 101 net/batman-adv/hard-interface.h void batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface, hard_iface 115 net/batman-adv/hard-interface.h static inline void batadv_hardif_put(struct batadv_hard_iface *hard_iface) hard_iface 117 net/batman-adv/hard-interface.h kref_put(&hard_iface->refcount, batadv_hardif_release); hard_iface 129 net/batman-adv/hard-interface.h struct batadv_hard_iface *hard_iface; hard_iface 132 net/batman-adv/hard-interface.h hard_iface = rcu_dereference(bat_priv->primary_if); hard_iface 133 net/batman-adv/hard-interface.h if (!hard_iface) hard_iface 136 net/batman-adv/hard-interface.h if (!kref_get_unless_zero(&hard_iface->refcount)) hard_iface 137 net/batman-adv/hard-interface.h hard_iface = NULL; hard_iface 141 net/batman-adv/hard-interface.h return hard_iface; hard_iface 289 net/batman-adv/main.c const struct batadv_hard_iface *hard_iface; hard_iface 293 net/batman-adv/main.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 294 net/batman-adv/main.c if (hard_iface->if_status != BATADV_IF_ACTIVE) hard_iface 297 net/batman-adv/main.c if (hard_iface->soft_iface != bat_priv->soft_iface) hard_iface 300 net/batman-adv/main.c if (batadv_compare_eth(hard_iface->net_dev->dev_addr, addr)) { hard_iface 453 net/batman-adv/main.c struct batadv_hard_iface *hard_iface; hard_iface 456 net/batman-adv/main.c hard_iface = container_of(ptype, struct batadv_hard_iface, hard_iface 463 net/batman-adv/main.c if (!kref_get_unless_zero(&hard_iface->refcount)) hard_iface 480 net/batman-adv/main.c if (!hard_iface->soft_iface) hard_iface 483 net/batman-adv/main.c bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 489 net/batman-adv/main.c if (hard_iface->if_status != BATADV_IF_ACTIVE) hard_iface 505 net/batman-adv/main.c (*batadv_rx_handler[idx])(skb, hard_iface); hard_iface 507 net/batman-adv/main.c batadv_hardif_put(hard_iface); hard_iface 518 net/batman-adv/main.c batadv_hardif_put(hard_iface); hard_iface 2331 net/batman-adv/multicast.c struct batadv_hard_iface *hard_iface = NULL; hard_iface 2350 net/batman-adv/multicast.c hard_iface = batadv_primary_if_get_selected(bat_priv); hard_iface 2351 net/batman-adv/multicast.c if (!hard_iface || hard_iface->if_status != BATADV_IF_ACTIVE) { hard_iface 2361 net/batman-adv/multicast.c *primary_if = hard_iface; hard_iface 2362 net/batman-adv/multicast.c else if (hard_iface) hard_iface 2363 net/batman-adv/multicast.c batadv_hardif_put(hard_iface); hard_iface 234 net/batman-adv/netlink.c struct net_device *hard_iface; hard_iface 263 net/batman-adv/netlink.c hard_iface = primary_if->net_dev; hard_iface 266 net/batman-adv/netlink.c hard_iface->ifindex) || hard_iface 268 net/batman-adv/netlink.c hard_iface->name) || hard_iface 270 net/batman-adv/netlink.c hard_iface->dev_addr)) hard_iface 797 net/batman-adv/netlink.c struct batadv_hard_iface *hard_iface, hard_iface 802 net/batman-adv/netlink.c struct net_device *net_dev = hard_iface->net_dev; hard_iface 824 net/batman-adv/netlink.c if (hard_iface->if_status == BATADV_IF_ACTIVE) { hard_iface 831 net/batman-adv/netlink.c atomic_read(&hard_iface->bat_v.elp_interval))) hard_iface 835 net/batman-adv/netlink.c atomic_read(&hard_iface->bat_v.throughput_override))) hard_iface 855 net/batman-adv/netlink.c struct batadv_hard_iface *hard_iface) hard_iface 864 net/batman-adv/netlink.c ret = batadv_netlink_hardif_fill(msg, bat_priv, hard_iface, hard_iface 888 net/batman-adv/netlink.c struct batadv_hard_iface *hard_iface = info->user_ptr[1]; hard_iface 897 net/batman-adv/netlink.c ret = batadv_netlink_hardif_fill(msg, bat_priv, hard_iface, hard_iface 921 net/batman-adv/netlink.c struct batadv_hard_iface *hard_iface = info->user_ptr[1]; hard_iface 930 net/batman-adv/netlink.c atomic_set(&hard_iface->bat_v.elp_interval, nla_get_u32(attr)); hard_iface 936 net/batman-adv/netlink.c atomic_set(&hard_iface->bat_v.throughput_override, hard_iface 941 net/batman-adv/netlink.c batadv_netlink_notify_hardif(bat_priv, hard_iface); hard_iface 958 net/batman-adv/netlink.c struct batadv_hard_iface *hard_iface; hard_iface 984 net/batman-adv/netlink.c list_for_each_entry(hard_iface, &batadv_hardif_list, list) { hard_iface 985 net/batman-adv/netlink.c if (hard_iface->soft_iface != soft_iface) hard_iface 991 net/batman-adv/netlink.c if (batadv_netlink_hardif_fill(msg, bat_priv, hard_iface, hard_iface 1184 net/batman-adv/netlink.c struct batadv_hard_iface *hard_iface; hard_iface 1197 net/batman-adv/netlink.c hard_iface = batadv_hardif_get_by_netdev(hard_dev); hard_iface 1198 net/batman-adv/netlink.c if (!hard_iface) hard_iface 1201 net/batman-adv/netlink.c if (hard_iface->soft_iface != bat_priv->soft_iface) hard_iface 1207 net/batman-adv/netlink.c return hard_iface; hard_iface 1210 net/batman-adv/netlink.c batadv_hardif_put(hard_iface); hard_iface 1257 net/batman-adv/netlink.c struct batadv_hard_iface *hard_iface; hard_iface 1284 net/batman-adv/netlink.c hard_iface = batadv_get_hardif_from_info(bat_priv, net, info); hard_iface 1285 net/batman-adv/netlink.c if (IS_ERR(hard_iface)) { hard_iface 1286 net/batman-adv/netlink.c ret = PTR_ERR(hard_iface); hard_iface 1290 net/batman-adv/netlink.c info->user_ptr[1] = hard_iface; hard_iface 1321 net/batman-adv/netlink.c struct batadv_hard_iface *hard_iface; hard_iface 1327 net/batman-adv/netlink.c hard_iface = info->user_ptr[1]; hard_iface 1329 net/batman-adv/netlink.c batadv_hardif_put(hard_iface); hard_iface 26 net/batman-adv/netlink.h struct batadv_hard_iface *hard_iface); hard_iface 522 net/batman-adv/originator.c const struct batadv_hard_iface *hard_iface, hard_iface 532 net/batman-adv/originator.c if (tmp_neigh_node->if_incoming != hard_iface) hard_iface 555 net/batman-adv/originator.c batadv_hardif_neigh_create(struct batadv_hard_iface *hard_iface, hard_iface 559 net/batman-adv/originator.c struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 562 net/batman-adv/originator.c spin_lock_bh(&hard_iface->neigh_list_lock); hard_iface 565 net/batman-adv/originator.c hardif_neigh = batadv_hardif_neigh_get(hard_iface, neigh_addr); hard_iface 573 net/batman-adv/originator.c kref_get(&hard_iface->refcount); hard_iface 577 net/batman-adv/originator.c hardif_neigh->if_incoming = hard_iface; hard_iface 585 net/batman-adv/originator.c hlist_add_head_rcu(&hardif_neigh->list, &hard_iface->neigh_list); hard_iface 588 net/batman-adv/originator.c spin_unlock_bh(&hard_iface->neigh_list_lock); hard_iface 602 net/batman-adv/originator.c batadv_hardif_neigh_get_or_create(struct batadv_hard_iface *hard_iface, hard_iface 609 net/batman-adv/originator.c hardif_neigh = batadv_hardif_neigh_get(hard_iface, neigh_addr); hard_iface 613 net/batman-adv/originator.c return batadv_hardif_neigh_create(hard_iface, neigh_addr, orig_node); hard_iface 626 net/batman-adv/originator.c batadv_hardif_neigh_get(const struct batadv_hard_iface *hard_iface, hard_iface 633 net/batman-adv/originator.c &hard_iface->neigh_list, list) { hard_iface 660 net/batman-adv/originator.c struct batadv_hard_iface *hard_iface, hard_iface 668 net/batman-adv/originator.c neigh_node = batadv_neigh_node_get(orig_node, hard_iface, neigh_addr); hard_iface 672 net/batman-adv/originator.c hardif_neigh = batadv_hardif_neigh_get_or_create(hard_iface, hard_iface 685 net/batman-adv/originator.c kref_get(&hard_iface->refcount); hard_iface 687 net/batman-adv/originator.c neigh_node->if_incoming = hard_iface; hard_iface 703 net/batman-adv/originator.c neigh_addr, orig_node->orig, hard_iface->net_dev->name); hard_iface 723 net/batman-adv/originator.c struct batadv_hard_iface *hard_iface, hard_iface 729 net/batman-adv/originator.c neigh_node = batadv_neigh_node_get(orig_node, hard_iface, neigh_addr); hard_iface 733 net/batman-adv/originator.c return batadv_neigh_node_create(orig_node, hard_iface, neigh_addr); hard_iface 784 net/batman-adv/originator.c struct net_device *hard_iface = NULL; hard_iface 812 net/batman-adv/originator.c hard_iface = dev_get_by_index(net, hard_ifindex); hard_iface 813 net/batman-adv/originator.c if (hard_iface) hard_iface 814 net/batman-adv/originator.c hardif = batadv_hardif_get_by_netdev(hard_iface); hard_iface 839 net/batman-adv/originator.c if (hard_iface) hard_iface 840 net/batman-adv/originator.c dev_put(hard_iface); hard_iface 1277 net/batman-adv/originator.c struct batadv_hard_iface *hard_iface; hard_iface 1304 net/batman-adv/originator.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 1305 net/batman-adv/originator.c if (hard_iface->if_status != BATADV_IF_ACTIVE) hard_iface 1308 net/batman-adv/originator.c if (hard_iface->soft_iface != bat_priv->soft_iface) hard_iface 1311 net/batman-adv/originator.c if (!kref_get_unless_zero(&hard_iface->refcount)) hard_iface 1316 net/batman-adv/originator.c hard_iface); hard_iface 1317 net/batman-adv/originator.c batadv_update_route(bat_priv, orig_node, hard_iface, hard_iface 1322 net/batman-adv/originator.c batadv_hardif_put(hard_iface); hard_iface 1433 net/batman-adv/originator.c struct batadv_hard_iface *hard_iface; hard_iface 1436 net/batman-adv/originator.c hard_iface = batadv_hardif_get_by_netdev(net_dev); hard_iface 1438 net/batman-adv/originator.c if (!hard_iface || !hard_iface->soft_iface) { hard_iface 1443 net/batman-adv/originator.c bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 1450 net/batman-adv/originator.c if (hard_iface->if_status != BATADV_IF_ACTIVE) { hard_iface 1456 net/batman-adv/originator.c BATADV_SOURCE_VERSION, hard_iface->net_dev->name, hard_iface 1457 net/batman-adv/originator.c hard_iface->net_dev->dev_addr, hard_iface 1458 net/batman-adv/originator.c hard_iface->soft_iface->name, bat_priv->algo_ops->name); hard_iface 1460 net/batman-adv/originator.c bat_priv->algo_ops->orig.print(bat_priv, seq, hard_iface); hard_iface 1463 net/batman-adv/originator.c if (hard_iface) hard_iface 1464 net/batman-adv/originator.c batadv_hardif_put(hard_iface); hard_iface 1481 net/batman-adv/originator.c struct net_device *hard_iface = NULL; hard_iface 1509 net/batman-adv/originator.c hard_iface = dev_get_by_index(net, hard_ifindex); hard_iface 1510 net/batman-adv/originator.c if (hard_iface) hard_iface 1511 net/batman-adv/originator.c hardif = batadv_hardif_get_by_netdev(hard_iface); hard_iface 1536 net/batman-adv/originator.c if (hard_iface) hard_iface 1537 net/batman-adv/originator.c dev_put(hard_iface); hard_iface 28 net/batman-adv/originator.h batadv_hardif_neigh_get(const struct batadv_hard_iface *hard_iface, hard_iface 34 net/batman-adv/originator.h struct batadv_hard_iface *hard_iface, hard_iface 181 net/batman-adv/routing.c struct batadv_hard_iface *hard_iface, hard_iface 16 net/batman-adv/routing.h struct batadv_hard_iface *hard_iface, hard_iface 64 net/batman-adv/send.c struct batadv_hard_iface *hard_iface, hard_iface 71 net/batman-adv/send.c bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 73 net/batman-adv/send.c if (hard_iface->if_status != BATADV_IF_ACTIVE) hard_iface 76 net/batman-adv/send.c if (unlikely(!hard_iface->net_dev)) hard_iface 79 net/batman-adv/send.c if (!(hard_iface->net_dev->flags & IFF_UP)) { hard_iface 81 net/batman-adv/send.c hard_iface->net_dev->name); hard_iface 92 net/batman-adv/send.c ether_addr_copy(ethhdr->h_source, hard_iface->net_dev->dev_addr); hard_iface 99 net/batman-adv/send.c skb->dev = hard_iface->net_dev; hard_iface 125 net/batman-adv/send.c struct batadv_hard_iface *hard_iface) hard_iface 127 net/batman-adv/send.c return batadv_send_skb_packet(skb, hard_iface, batadv_broadcast_addr); hard_iface 614 net/batman-adv/send.c const struct batadv_hard_iface *hard_iface) hard_iface 624 net/batman-adv/send.c if (hard_iface && hard_iface 625 net/batman-adv/send.c forw_packet->if_incoming != hard_iface && hard_iface 626 net/batman-adv/send.c forw_packet->if_outgoing != hard_iface) hard_iface 815 net/batman-adv/send.c struct batadv_hard_iface *hard_iface) hard_iface 819 net/batman-adv/send.c if (hard_iface) hard_iface 820 net/batman-adv/send.c max = hard_iface->num_bcasts; hard_iface 851 net/batman-adv/send.c struct batadv_hard_iface *hard_iface; hard_iface 885 net/batman-adv/send.c list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { hard_iface 886 net/batman-adv/send.c if (hard_iface->soft_iface != soft_iface) hard_iface 889 net/batman-adv/send.c if (!batadv_forw_packet_bcasts_left(forw_packet, hard_iface)) hard_iface 896 net/batman-adv/send.c neigh_node = batadv_hardif_neigh_get(hard_iface, hard_iface 902 net/batman-adv/send.c ret = batadv_hardif_no_broadcast(hard_iface, bcast_packet->orig, hard_iface 924 net/batman-adv/send.c hard_iface->net_dev->name, type); hard_iface 935 net/batman-adv/send.c if (!kref_get_unless_zero(&hard_iface->refcount)) hard_iface 941 net/batman-adv/send.c batadv_send_broadcast_skb(skb1, hard_iface); hard_iface 943 net/batman-adv/send.c batadv_hardif_put(hard_iface); hard_iface 976 net/batman-adv/send.c const struct batadv_hard_iface *hard_iface) hard_iface 980 net/batman-adv/send.c if (hard_iface) hard_iface 983 net/batman-adv/send.c __func__, hard_iface->net_dev->name); hard_iface 991 net/batman-adv/send.c hard_iface); hard_iface 997 net/batman-adv/send.c hard_iface); hard_iface 36 net/batman-adv/send.h struct batadv_hard_iface *hard_iface, hard_iface 39 net/batman-adv/send.h struct batadv_hard_iface *hard_iface); hard_iface 48 net/batman-adv/send.h const struct batadv_hard_iface *hard_iface); hard_iface 852 net/batman-adv/soft-interface.c struct batadv_hard_iface *hard_iface; hard_iface 856 net/batman-adv/soft-interface.c hard_iface = batadv_hardif_get_by_netdev(slave_dev); hard_iface 857 net/batman-adv/soft-interface.c if (!hard_iface || hard_iface->soft_iface) hard_iface 860 net/batman-adv/soft-interface.c ret = batadv_hardif_enable_interface(hard_iface, net, dev->name); hard_iface 863 net/batman-adv/soft-interface.c if (hard_iface) hard_iface 864 net/batman-adv/soft-interface.c batadv_hardif_put(hard_iface); hard_iface 878 net/batman-adv/soft-interface.c struct batadv_hard_iface *hard_iface; hard_iface 881 net/batman-adv/soft-interface.c hard_iface = batadv_hardif_get_by_netdev(slave_dev); hard_iface 883 net/batman-adv/soft-interface.c if (!hard_iface || hard_iface->soft_iface != dev) hard_iface 886 net/batman-adv/soft-interface.c batadv_hardif_disable_interface(hard_iface, BATADV_IF_CLEANUP_KEEP); hard_iface 890 net/batman-adv/soft-interface.c if (hard_iface) hard_iface 891 net/batman-adv/soft-interface.c batadv_hardif_put(hard_iface); hard_iface 1109 net/batman-adv/soft-interface.c struct batadv_hard_iface *hard_iface; hard_iface 1112 net/batman-adv/soft-interface.c list_for_each_entry(hard_iface, &batadv_hardif_list, list) { hard_iface 1113 net/batman-adv/soft-interface.c if (hard_iface->soft_iface == soft_iface) hard_iface 1114 net/batman-adv/soft-interface.c batadv_hardif_disable_interface(hard_iface, hard_iface 265 net/batman-adv/sysfs.c struct batadv_hard_iface *hard_iface; \ hard_iface 270 net/batman-adv/sysfs.c hard_iface = batadv_hardif_get_by_netdev(net_dev); \ hard_iface 271 net/batman-adv/sysfs.c if (!hard_iface) \ hard_iface 276 net/batman-adv/sysfs.c &hard_iface->_var, \ hard_iface 277 net/batman-adv/sysfs.c hard_iface->soft_iface, \ hard_iface 280 net/batman-adv/sysfs.c if (hard_iface->soft_iface) { \ hard_iface 281 net/batman-adv/sysfs.c bat_priv = netdev_priv(hard_iface->soft_iface); \ hard_iface 282 net/batman-adv/sysfs.c batadv_netlink_notify_hardif(bat_priv, hard_iface); \ hard_iface 285 net/batman-adv/sysfs.c batadv_hardif_put(hard_iface); \ hard_iface 294 net/batman-adv/sysfs.c struct batadv_hard_iface *hard_iface; \ hard_iface 298 net/batman-adv/sysfs.c hard_iface = batadv_hardif_get_by_netdev(net_dev); \ hard_iface 299 net/batman-adv/sysfs.c if (!hard_iface) \ hard_iface 302 net/batman-adv/sysfs.c length = sprintf(buff, "%i\n", atomic_read(&hard_iface->_var)); \ hard_iface 304 net/batman-adv/sysfs.c batadv_hardif_put(hard_iface); \ hard_iface 945 net/batman-adv/sysfs.c struct batadv_hard_iface *hard_iface; hard_iface 951 net/batman-adv/sysfs.c hard_iface = batadv_hardif_get_by_netdev(net_dev); hard_iface 952 net/batman-adv/sysfs.c if (!hard_iface) hard_iface 955 net/batman-adv/sysfs.c if (hard_iface->if_status == BATADV_IF_NOT_IN_USE) hard_iface 958 net/batman-adv/sysfs.c ifname = hard_iface->soft_iface->name; hard_iface 962 net/batman-adv/sysfs.c batadv_hardif_put(hard_iface); hard_iface 981 net/batman-adv/sysfs.c struct batadv_hard_iface *hard_iface; hard_iface 987 net/batman-adv/sysfs.c hard_iface = batadv_hardif_get_by_netdev(net_dev); hard_iface 988 net/batman-adv/sysfs.c if (!hard_iface) hard_iface 996 net/batman-adv/sysfs.c if (hard_iface->if_status == status_tmp) hard_iface 999 net/batman-adv/sysfs.c if (hard_iface->soft_iface && hard_iface 1000 net/batman-adv/sysfs.c strncmp(hard_iface->soft_iface->name, ifname, IFNAMSIZ) == 0) hard_iface 1004 net/batman-adv/sysfs.c batadv_hardif_disable_interface(hard_iface, hard_iface 1010 net/batman-adv/sysfs.c if (hard_iface->if_status != BATADV_IF_NOT_IN_USE) hard_iface 1011 net/batman-adv/sysfs.c batadv_hardif_disable_interface(hard_iface, hard_iface 1014 net/batman-adv/sysfs.c ret = batadv_hardif_enable_interface(hard_iface, net, ifname); hard_iface 1016 net/batman-adv/sysfs.c batadv_hardif_put(hard_iface); hard_iface 1085 net/batman-adv/sysfs.c struct batadv_hard_iface *hard_iface; hard_iface 1090 net/batman-adv/sysfs.c hard_iface = batadv_hardif_get_by_netdev(net_dev); hard_iface 1091 net/batman-adv/sysfs.c if (!hard_iface) hard_iface 1094 net/batman-adv/sysfs.c switch (hard_iface->if_status) { hard_iface 1113 net/batman-adv/sysfs.c batadv_hardif_put(hard_iface); hard_iface 1135 net/batman-adv/sysfs.c struct batadv_hard_iface *hard_iface; hard_iface 1143 net/batman-adv/sysfs.c hard_iface = batadv_hardif_get_by_netdev(net_dev); hard_iface 1144 net/batman-adv/sysfs.c if (!hard_iface) hard_iface 1155 net/batman-adv/sysfs.c old_tp_override = atomic_read(&hard_iface->bat_v.throughput_override); hard_iface 1159 net/batman-adv/sysfs.c batadv_info(hard_iface->soft_iface, hard_iface 1165 net/batman-adv/sysfs.c atomic_set(&hard_iface->bat_v.throughput_override, tp_override); hard_iface 1167 net/batman-adv/sysfs.c if (hard_iface->soft_iface) { hard_iface 1168 net/batman-adv/sysfs.c bat_priv = netdev_priv(hard_iface->soft_iface); hard_iface 1169 net/batman-adv/sysfs.c batadv_netlink_notify_hardif(bat_priv, hard_iface); hard_iface 1173 net/batman-adv/sysfs.c batadv_hardif_put(hard_iface); hard_iface 1182 net/batman-adv/sysfs.c struct batadv_hard_iface *hard_iface; hard_iface 1187 net/batman-adv/sysfs.c hard_iface = batadv_hardif_get_by_netdev(net_dev); hard_iface 1188 net/batman-adv/sysfs.c if (!hard_iface) hard_iface 1191 net/batman-adv/sysfs.c tp_override = atomic_read(&hard_iface->bat_v.throughput_override); hard_iface 1193 net/batman-adv/sysfs.c batadv_hardif_put(hard_iface); hard_iface 2187 net/batman-adv/types.h void (*activate)(struct batadv_hard_iface *hard_iface); hard_iface 2190 net/batman-adv/types.h int (*enable)(struct batadv_hard_iface *hard_iface); hard_iface 2193 net/batman-adv/types.h void (*enabled)(struct batadv_hard_iface *hard_iface); hard_iface 2196 net/batman-adv/types.h void (*disable)(struct batadv_hard_iface *hard_iface); hard_iface 2202 net/batman-adv/types.h void (*update_mac)(struct batadv_hard_iface *hard_iface); hard_iface 2205 net/batman-adv/types.h void (*primary_set)(struct batadv_hard_iface *hard_iface); hard_iface 2242 net/batman-adv/types.h struct batadv_hard_iface *hard_iface); hard_iface 2252 net/batman-adv/types.h struct batadv_hard_iface *hard_iface); hard_iface 2258 net/batman-adv/types.h struct batadv_hard_iface *hard_iface);