Lines Matching refs:lvif
283 struct lkpi_vif *lvif; in lkpi_80211_dump_stas() local
294 lvif = (struct lkpi_vif *)arg1; in lkpi_80211_dump_stas()
295 vif = LVIF_TO_VIF(lvif); in lkpi_80211_dump_stas()
296 vap = LVIF_TO_VAP(lvif); in lkpi_80211_dump_stas()
303 list_for_each_entry(lsta, &lvif->lsta_list, lsta_list) { in lkpi_80211_dump_stas()
694 lkpi_lsta_remove(struct lkpi_sta *lsta, struct lkpi_vif *lvif) in lkpi_lsta_remove() argument
709 struct lkpi_vif *lvif; in lkpi_lsta_alloc() local
735 lvif = VAP_TO_LVIF(vap); in lkpi_lsta_alloc()
736 vif = LVIF_TO_VIF(lvif); in lkpi_lsta_alloc()
1293 struct lkpi_vif *lvif; in lkpi_iv_key_delete() local
1304 lvif = VAP_TO_LVIF(vap); in lkpi_iv_key_delete()
1356 vif = LVIF_TO_VIF(lvif); in lkpi_iv_key_delete()
1388 struct lkpi_vif *lvif; in lkpi_iv_key_set() local
1501 lvif = VAP_TO_LVIF(vap); in lkpi_iv_key_set()
1502 vif = LVIF_TO_VIF(lvif); in lkpi_iv_key_set()
1582 struct lkpi_vif *lvif; in lkpi_iv_key_update_begin() local
1589 lvif = VAP_TO_LVIF(vap); in lkpi_iv_key_update_begin()
1601 lvif->ic_unlocked, lvif->nt_unlocked); in lkpi_iv_key_update_begin()
1621 KASSERT(lvif->key_update_iv_bss == NULL, ("%s: key_update_iv_bss not NULL %p", in lkpi_iv_key_update_begin()
1622 __func__, lvif->key_update_iv_bss)); in lkpi_iv_key_update_begin()
1623 lvif->key_update_iv_bss = ni; in lkpi_iv_key_update_begin()
1632 refcount_acquire(&lvif->ic_unlocked); in lkpi_iv_key_update_begin()
1634 refcount_acquire(&lvif->nt_unlocked); in lkpi_iv_key_update_begin()
1649 struct lkpi_vif *lvif; in lkpi_iv_key_update_end() local
1655 lvif = VAP_TO_LVIF(vap); in lkpi_iv_key_update_end()
1674 lvif->ic_unlocked, lvif->nt_unlocked); in lkpi_iv_key_update_end()
1682 icislocked = refcount_release_if_last(&lvif->ic_unlocked); in lkpi_iv_key_update_end()
1683 ntislocked = refcount_release_if_last(&lvif->nt_unlocked); in lkpi_iv_key_update_end()
1685 if (lvif->key_update_iv_bss != NULL) { in lkpi_iv_key_update_end()
1686 ieee80211_free_node(lvif->key_update_iv_bss); in lkpi_iv_key_update_end()
1687 lvif->key_update_iv_bss = NULL; in lkpi_iv_key_update_end()
2072 struct lkpi_vif *lvif; in lkpi_sta_scan_to_auth() local
2116 lvif = VAP_TO_LVIF(vap); in lkpi_sta_scan_to_auth()
2117 vif = LVIF_TO_VIF(lvif); in lkpi_sta_scan_to_auth()
2119 LKPI_80211_LVIF_LOCK(lvif); in lkpi_sta_scan_to_auth()
2121 if (lvif->lvif_bss_synched || lvif->lvif_bss != NULL) { in lkpi_sta_scan_to_auth()
2124 lvif, vap, vap->iv_bss, lvif->lvif_bss, in lkpi_sta_scan_to_auth()
2125 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_scan_to_auth()
2126 lvif->lvif_bss_synched); in lkpi_sta_scan_to_auth()
2127 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_scan_to_auth()
2131 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_scan_to_auth()
2269 list_add_tail(&lsta->lsta_list, &lvif->lsta_list); in lkpi_sta_scan_to_auth()
2318 LKPI_80211_LVIF_LOCK(lvif); in lkpi_sta_scan_to_auth()
2320 if (lvif->lvif_bss_synched || lvif->lvif_bss != NULL || in lkpi_sta_scan_to_auth()
2324 lvif, vap, vap->iv_bss, lvif->lvif_bss, in lkpi_sta_scan_to_auth()
2325 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_scan_to_auth()
2326 lvif->lvif_bss_synched, ni, lsta); in lkpi_sta_scan_to_auth()
2339 lvif->lvif_bss = lsta; in lkpi_sta_scan_to_auth()
2341 lvif->lvif_bss_synched = synched = true; in lkpi_sta_scan_to_auth()
2344 lvif->lvif_bss_synched = synched = false; in lkpi_sta_scan_to_auth()
2358 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_scan_to_auth()
2388 struct lkpi_vif *lvif; in lkpi_sta_auth_to_scan() local
2398 lvif = VAP_TO_LVIF(vap); in lkpi_sta_auth_to_scan()
2399 vif = LVIF_TO_VIF(lvif); in lkpi_sta_auth_to_scan()
2401 LKPI_80211_LVIF_LOCK(lvif); in lkpi_sta_auth_to_scan()
2404 if (lvif->lvif_bss == NULL) in lkpi_sta_auth_to_scan()
2407 lvif, vap, vap->iv_bss, lvif->lvif_bss, in lkpi_sta_auth_to_scan()
2408 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_auth_to_scan()
2409 lvif->lvif_bss_synched); in lkpi_sta_auth_to_scan()
2412 lsta = lvif->lvif_bss; in lkpi_sta_auth_to_scan()
2413 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_auth_to_scan()
2416 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_auth_to_scan()
2467 LKPI_80211_LVIF_LOCK(lvif); in lkpi_sta_auth_to_scan()
2469 lvif->lvif_bss = NULL; in lkpi_sta_auth_to_scan()
2470 lvif->lvif_bss_synched = false; in lkpi_sta_auth_to_scan()
2471 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_auth_to_scan()
2472 lkpi_lsta_remove(lsta, lvif); in lkpi_sta_auth_to_scan()
2506 struct lkpi_vif *lvif; in lkpi_sta_auth_to_assoc() local
2514 lvif = VAP_TO_LVIF(vap); in lkpi_sta_auth_to_assoc()
2515 vif = LVIF_TO_VIF(lvif); in lkpi_sta_auth_to_assoc()
2520 LKPI_80211_LVIF_LOCK(lvif); in lkpi_sta_auth_to_assoc()
2522 if (!lvif->lvif_bss_synched || lvif->lvif_bss == NULL) { in lkpi_sta_auth_to_assoc()
2526 lvif, vap, vap->iv_bss, lvif->lvif_bss, in lkpi_sta_auth_to_assoc()
2527 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_auth_to_assoc()
2528 lvif->lvif_bss_synched); in lkpi_sta_auth_to_assoc()
2531 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_auth_to_assoc()
2534 lsta = lvif->lvif_bss; in lkpi_sta_auth_to_assoc()
2535 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_auth_to_assoc()
2595 struct lkpi_vif *lvif; in lkpi_sta_a_to_a() local
2603 lvif = VAP_TO_LVIF(vap); in lkpi_sta_a_to_a()
2604 vif = LVIF_TO_VIF(lvif); in lkpi_sta_a_to_a()
2609 LKPI_80211_LVIF_LOCK(lvif); in lkpi_sta_a_to_a()
2611 if (!lvif->lvif_bss_synched || lvif->lvif_bss == NULL) { in lkpi_sta_a_to_a()
2615 lvif, vap, vap->iv_bss, lvif->lvif_bss, in lkpi_sta_a_to_a()
2616 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_a_to_a()
2617 lvif->lvif_bss_synched); in lkpi_sta_a_to_a()
2619 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_a_to_a()
2623 lsta = lvif->lvif_bss; in lkpi_sta_a_to_a()
2624 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_a_to_a()
2627 lsta, lvif, vap)); in lkpi_sta_a_to_a()
2662 struct lkpi_vif *lvif; in _lkpi_sta_assoc_to_down() local
2673 lvif = VAP_TO_LVIF(vap); in _lkpi_sta_assoc_to_down()
2674 vif = LVIF_TO_VIF(lvif); in _lkpi_sta_assoc_to_down()
2679 LKPI_80211_LVIF_LOCK(lvif); in _lkpi_sta_assoc_to_down()
2682 if (lvif->lvif_bss == NULL) in _lkpi_sta_assoc_to_down()
2685 lvif, vap, vap->iv_bss, lvif->lvif_bss, in _lkpi_sta_assoc_to_down()
2686 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in _lkpi_sta_assoc_to_down()
2687 lvif->lvif_bss_synched); in _lkpi_sta_assoc_to_down()
2689 lsta = lvif->lvif_bss; in _lkpi_sta_assoc_to_down()
2690 LKPI_80211_LVIF_UNLOCK(lvif); in _lkpi_sta_assoc_to_down()
2693 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in _lkpi_sta_assoc_to_down()
2717 error = lvif->iv_newstate(vap, nstate, arg); in _lkpi_sta_assoc_to_down()
2795 LKPI_80211_LVIF_LOCK(lvif); in _lkpi_sta_assoc_to_down()
2797 lvif->lvif_bss = NULL; in _lkpi_sta_assoc_to_down()
2798 lvif->lvif_bss_synched = false; in _lkpi_sta_assoc_to_down()
2799 LKPI_80211_LVIF_UNLOCK(lvif); in _lkpi_sta_assoc_to_down()
2800 lkpi_lsta_remove(lsta, lvif); in _lkpi_sta_assoc_to_down()
2858 struct lkpi_vif *lvif; in lkpi_sta_assoc_to_run() local
2869 lvif = VAP_TO_LVIF(vap); in lkpi_sta_assoc_to_run()
2870 vif = LVIF_TO_VIF(lvif); in lkpi_sta_assoc_to_run()
2875 LKPI_80211_LVIF_LOCK(lvif); in lkpi_sta_assoc_to_run()
2877 if (!lvif->lvif_bss_synched || lvif->lvif_bss == NULL) { in lkpi_sta_assoc_to_run()
2881 lvif, vap, vap->iv_bss, lvif->lvif_bss, in lkpi_sta_assoc_to_run()
2882 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_assoc_to_run()
2883 lvif->lvif_bss_synched); in lkpi_sta_assoc_to_run()
2885 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_assoc_to_run()
2889 lsta = lvif->lvif_bss; in lkpi_sta_assoc_to_run()
2890 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_assoc_to_run()
2893 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_assoc_to_run()
3036 struct lkpi_vif *lvif; in lkpi_sta_run_to_assoc() local
3049 lvif = VAP_TO_LVIF(vap); in lkpi_sta_run_to_assoc()
3050 vif = LVIF_TO_VIF(lvif); in lkpi_sta_run_to_assoc()
3052 LKPI_80211_LVIF_LOCK(lvif); in lkpi_sta_run_to_assoc()
3055 if (lvif->lvif_bss == NULL) in lkpi_sta_run_to_assoc()
3058 lvif, vap, vap->iv_bss, lvif->lvif_bss, in lkpi_sta_run_to_assoc()
3059 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_run_to_assoc()
3060 lvif->lvif_bss_synched); in lkpi_sta_run_to_assoc()
3062 lsta = lvif->lvif_bss; in lkpi_sta_run_to_assoc()
3063 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_run_to_assoc()
3066 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_run_to_assoc()
3093 error = lvif->iv_newstate(vap, nstate, arg); in lkpi_sta_run_to_assoc()
3194 struct lkpi_vif *lvif; in lkpi_sta_run_to_init() local
3205 lvif = VAP_TO_LVIF(vap); in lkpi_sta_run_to_init()
3206 vif = LVIF_TO_VIF(lvif); in lkpi_sta_run_to_init()
3211 LKPI_80211_LVIF_LOCK(lvif); in lkpi_sta_run_to_init()
3214 if (lvif->lvif_bss == NULL) in lkpi_sta_run_to_init()
3217 lvif, vap, vap->iv_bss, lvif->lvif_bss, in lkpi_sta_run_to_init()
3218 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_run_to_init()
3219 lvif->lvif_bss_synched); in lkpi_sta_run_to_init()
3221 lsta = lvif->lvif_bss; in lkpi_sta_run_to_init()
3222 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_run_to_init()
3225 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_run_to_init()
3249 error = lvif->iv_newstate(vap, nstate, arg); in lkpi_sta_run_to_init()
3381 lkpi_lsta_remove(lsta, lvif); in lkpi_sta_run_to_init()
3396 LKPI_80211_LVIF_LOCK(lvif); in lkpi_sta_run_to_init()
3398 lvif->lvif_bss = NULL; in lkpi_sta_run_to_init()
3399 lvif->lvif_bss_synched = false; in lkpi_sta_run_to_init()
3400 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_sta_run_to_init()
3490 struct lkpi_vif *lvif; in lkpi_iv_newstate() local
3509 lvif = VAP_TO_LVIF(vap); in lkpi_iv_newstate()
3510 vif = LVIF_TO_VIF(lvif); in lkpi_iv_newstate()
3575 return (lvif->iv_newstate(vap, nstate, arg)); in lkpi_iv_newstate()
3588 struct lkpi_vif *lvif; in lkpi_iv_update_bss() local
3593 lvif = VAP_TO_LVIF(vap); in lkpi_iv_update_bss()
3595 LKPI_80211_LVIF_LOCK(lvif); in lkpi_iv_update_bss()
3596 lvif->lvif_bss_synched = false; in lkpi_iv_update_bss()
3597 LKPI_80211_LVIF_UNLOCK(lvif); in lkpi_iv_update_bss()
3599 rni = lvif->iv_update_bss(vap, ni); in lkpi_iv_update_bss()
3609 struct lkpi_vif *lvif; in lkpi_wme_update() local
3647 lvif = VAP_TO_LVIF(vap); in lkpi_wme_update()
3648 vif = LVIF_TO_VIF(lvif); in lkpi_wme_update()
3735 struct lkpi_vif *lvif; in lkpi_ic_vap_create() local
3751 len = sizeof(*lvif); in lkpi_ic_vap_create()
3754 lvif = malloc(len, M_80211_VAP, M_WAITOK | M_ZERO); in lkpi_ic_vap_create()
3755 mtx_init(&lvif->mtx, "lvif", NULL, MTX_DEF); in lkpi_ic_vap_create()
3756 INIT_LIST_HEAD(&lvif->lsta_list); in lkpi_ic_vap_create()
3757 lvif->lvif_bss = NULL; in lkpi_ic_vap_create()
3758 refcount_init(&lvif->nt_unlocked, 0); in lkpi_ic_vap_create()
3759 lvif->lvif_bss_synched = false; in lkpi_ic_vap_create()
3760 vap = LVIF_TO_VAP(lvif); in lkpi_ic_vap_create()
3762 vif = LVIF_TO_VIF(lvif); in lkpi_ic_vap_create()
3767 lvif->wdev.iftype = vif->type; in lkpi_ic_vap_create()
3777 lvif->lvif_ifllevent = EVENTHANDLER_REGISTER(iflladdr_event, in lkpi_ic_vap_create()
3823 lvif->hw_queue_stopped[i] = false; in lkpi_ic_vap_create()
3832 mtx_destroy(&lvif->mtx); in lkpi_ic_vap_create()
3833 free(lvif, M_80211_VAP); in lkpi_ic_vap_create()
3841 mtx_destroy(&lvif->mtx); in lkpi_ic_vap_create()
3842 free(lvif, M_80211_VAP); in lkpi_ic_vap_create()
3847 TAILQ_INSERT_TAIL(&lhw->lvif_head, lvif, lvif_entry); in lkpi_ic_vap_create()
3881 lvif->iv_newstate = vap->iv_newstate; in lkpi_ic_vap_create()
3883 lvif->iv_update_bss = vap->iv_update_bss; in lkpi_ic_vap_create()
3932 sysctl_ctx_init(&lvif->sysctl_ctx); in lkpi_ic_vap_create()
3934 node = SYSCTL_ADD_NODE(&lvif->sysctl_ctx, in lkpi_ic_vap_create()
3939 SYSCTL_ADD_PROC(&lvif->sysctl_ctx, in lkpi_ic_vap_create()
3941 CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, lvif, 0, in lkpi_ic_vap_create()
3972 struct lkpi_vif *lvif; in lkpi_ic_vap_delete() local
3975 lvif = VAP_TO_LVIF(vap); in lkpi_ic_vap_delete()
3976 vif = LVIF_TO_VIF(lvif); in lkpi_ic_vap_delete()
3981 EVENTHANDLER_DEREGISTER(iflladdr_event, lvif->lvif_ifllevent); in lkpi_ic_vap_delete()
3984 sysctl_ctx_free(&lvif->sysctl_ctx); in lkpi_ic_vap_delete()
3987 TAILQ_REMOVE(&lhw->lvif_head, lvif, lvif_entry); in lkpi_ic_vap_delete()
4000 mtx_destroy(&lvif->mtx); in lkpi_ic_vap_delete()
4001 free(lvif, M_80211_VAP); in lkpi_ic_vap_delete()
4209 struct lkpi_vif *lvif; in lkpi_ic_scan_start() local
4238 lvif = VAP_TO_LVIF(vap); in lkpi_ic_scan_start()
4239 vif = LVIF_TO_VIF(lvif); in lkpi_ic_scan_start()
4408 lvif = VAP_TO_LVIF(vap); in lkpi_ic_scan_start()
4409 vif = LVIF_TO_VIF(lvif); in lkpi_ic_scan_start()
4504 struct lkpi_vif *lvif; in lkpi_ic_scan_end() local
4510 lvif = VAP_TO_LVIF(vap); in lkpi_ic_scan_end()
4511 vif = LVIF_TO_VIF(lvif); in lkpi_ic_scan_end()
4974 struct lkpi_vif *lvif; local
5092 lvif = VAP_TO_LVIF(ni->ni_vap);
5093 vif = LVIF_TO_VIF(lvif);
5328 struct lkpi_vif *lvif; local
5339 lvif = VAP_TO_LVIF(vap);
5340 vif = LVIF_TO_VIF(lvif);
5388 struct lkpi_vif *lvif; local
5399 lvif = VAP_TO_LVIF(vap);
5400 vif = LVIF_TO_VIF(lvif);
5464 struct lkpi_vif *lvif; local
5475 lvif = VAP_TO_LVIF(vap);
5476 vif = LVIF_TO_VIF(lvif);
5550 struct lkpi_vif *lvif; local
5561 lvif = VAP_TO_LVIF(vap);
5562 vif = LVIF_TO_VIF(lvif);
5621 struct lkpi_vif *lvif; local
5647 lvif = VAP_TO_LVIF(vap);
5648 vif = LVIF_TO_VIF(lvif);
6362 struct lkpi_vif *lvif; local
6382 TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) {
6385 vif = LVIF_TO_VIF(lvif);
6393 if (active && !lvif->added_to_drv &&
6401 if (nin_drv && !lvif->added_to_drv)
6409 vap = LVIF_TO_VAP(lvif);
6441 struct lkpi_vif *lvif; local
6443 lvif = VIF_TO_LVIF(vif);
6451 list_for_each_entry_rcu(lsta, &lvif->lsta_list, lsta_list) {
6466 list_for_each_entry(lsta, &lvif->lsta_list, lsta_list) {
6504 struct lkpi_vif *lvif; local
6514 TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) {
6517 list_for_each_entry_rcu(lsta, &lvif->lsta_list, lsta_list) {
6983 struct lkpi_vif *lvif; local
6991 lvif = VAP_TO_LVIF(vap);
6992 vif = LVIF_TO_VIF(lvif);
7346 lkpi_find_lsta_by_ni(struct lkpi_vif *lvif, struct ieee80211_node *ni)
7351 list_for_each_entry_rcu(lsta, &lvif->lsta_list, lsta_list) {
7366 struct lkpi_vif *lvif; local
7370 lvif = VIF_TO_LVIF(vif);
7373 list_for_each_entry_rcu(lsta, &lvif->lsta_list, lsta_list) {
7389 struct lkpi_vif *lvif; local
7398 TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) {
7402 vif = LVIF_TO_VIF(lvif);
7426 struct lkpi_vif *lvif; local
7437 lvif = VIF_TO_LVIF(ltxq->txq.vif);
7438 if (lvif->hw_queue_stopped[ltxq->txq.ac]) {
7708 struct lkpi_vif *lvif; local
7720 lvif = VIF_TO_LVIF(vif);
7721 vap = LVIF_TO_VAP(lvif);
7738 struct lkpi_vif *lvif; local
7751 lvif = VIF_TO_LVIF(vif);
7752 vap = LVIF_TO_VAP(lvif);
7769 struct lkpi_vif *lvif; local
7771 lvif = VIF_TO_LVIF(vif);
7772 return (&lvif->wdev);
7778 struct lkpi_vif *lvif; local
7783 lvif = VIF_TO_LVIF(vif);
7784 vap = LVIF_TO_VAP(lvif);
7802 struct lkpi_vif *lvif; local
7805 lvif = VIF_TO_LVIF(vif);
7806 vap = LVIF_TO_VAP(lvif);
7819 struct lkpi_vif *lvif; local
7835 TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) {
7837 vif = LVIF_TO_VIF(lvif);
7846 if (lvif->hw_queue_stopped[ac] &&
7851 lhw, hw, lvif, vif, ac, qnum);
7853 lvif->hw_queue_stopped[ac] = true;
7875 struct lkpi_vif *lvif; local
7889 TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) {
7892 vif = LVIF_TO_VIF(lvif);
7904 if (!lvif->hw_queue_stopped[ac] &&
7909 lhw, hw, lvif, vif, ac);
7911 lvif->hw_queue_stopped[ac] = false;
7914 list_for_each_entry_rcu(lsta, &lvif->lsta_list, lsta_list) {