Lines Matching refs:vlan
115 struct batadv_meshif_vlan *vlan; in batadv_interface_set_mac_addr() local
130 hlist_for_each_entry_rcu(vlan, &bat_priv->meshif_vlan_list, list) { in batadv_interface_set_mac_addr()
131 batadv_tt_local_remove(bat_priv, old_addr, vlan->vid, in batadv_interface_set_mac_addr()
133 batadv_tt_local_add(dev, addr->sa_data, vlan->vid, in batadv_interface_set_mac_addr()
498 struct batadv_meshif_vlan *vlan; in batadv_meshif_vlan_release() local
500 vlan = container_of(ref, struct batadv_meshif_vlan, refcount); in batadv_meshif_vlan_release()
502 spin_lock_bh(&vlan->bat_priv->meshif_vlan_list_lock); in batadv_meshif_vlan_release()
503 hlist_del_rcu(&vlan->list); in batadv_meshif_vlan_release()
504 spin_unlock_bh(&vlan->bat_priv->meshif_vlan_list_lock); in batadv_meshif_vlan_release()
506 kfree_rcu(vlan, rcu); in batadv_meshif_vlan_release()
520 struct batadv_meshif_vlan *vlan_tmp, *vlan = NULL; in batadv_meshif_vlan_get() local
530 vlan = vlan_tmp; in batadv_meshif_vlan_get()
535 return vlan; in batadv_meshif_vlan_get()
547 struct batadv_meshif_vlan *vlan; in batadv_meshif_create_vlan() local
551 vlan = batadv_meshif_vlan_get(bat_priv, vid); in batadv_meshif_create_vlan()
552 if (vlan) { in batadv_meshif_create_vlan()
553 batadv_meshif_vlan_put(vlan); in batadv_meshif_create_vlan()
558 vlan = kzalloc(sizeof(*vlan), GFP_ATOMIC); in batadv_meshif_create_vlan()
559 if (!vlan) { in batadv_meshif_create_vlan()
564 vlan->bat_priv = bat_priv; in batadv_meshif_create_vlan()
565 vlan->vid = vid; in batadv_meshif_create_vlan()
566 kref_init(&vlan->refcount); in batadv_meshif_create_vlan()
568 atomic_set(&vlan->ap_isolation, 0); in batadv_meshif_create_vlan()
570 kref_get(&vlan->refcount); in batadv_meshif_create_vlan()
571 hlist_add_head_rcu(&vlan->list, &bat_priv->meshif_vlan_list); in batadv_meshif_create_vlan()
582 batadv_meshif_vlan_put(vlan); in batadv_meshif_create_vlan()
593 struct batadv_meshif_vlan *vlan) in batadv_meshif_destroy_vlan() argument
599 vlan->vid, "vlan interface destroyed", false); in batadv_meshif_destroy_vlan()
601 batadv_meshif_vlan_put(vlan); in batadv_meshif_destroy_vlan()
619 struct batadv_meshif_vlan *vlan; in batadv_interface_add_vid() local
643 vlan = batadv_meshif_vlan_get(bat_priv, vid); in batadv_interface_add_vid()
644 if (!vlan) in batadv_interface_add_vid()
674 struct batadv_meshif_vlan *vlan; in batadv_interface_kill_vid() local
688 vlan = batadv_meshif_vlan_get(bat_priv, vid | BATADV_VLAN_HAS_TAG); in batadv_interface_kill_vid()
689 if (!vlan) in batadv_interface_kill_vid()
692 batadv_meshif_destroy_vlan(bat_priv, vlan); in batadv_interface_kill_vid()
695 batadv_meshif_vlan_put(vlan); in batadv_interface_kill_vid()
1102 struct batadv_meshif_vlan *vlan; in batadv_meshif_destroy_netlink() local
1110 vlan = batadv_meshif_vlan_get(bat_priv, BATADV_NO_FLAGS); in batadv_meshif_destroy_netlink()
1111 if (vlan) { in batadv_meshif_destroy_netlink()
1112 batadv_meshif_destroy_vlan(bat_priv, vlan); in batadv_meshif_destroy_netlink()
1113 batadv_meshif_vlan_put(vlan); in batadv_meshif_destroy_netlink()