• Home
  • Raw
  • Download

Lines Matching refs:vlan

22 static int vlan_if_add(struct hostapd_data *hapd, struct hostapd_vlan *vlan,  in vlan_if_add()  argument
32 vlan->ifname); in vlan_if_add()
36 if (!iface_exists(vlan->ifname)) in vlan_if_add()
37 ret = hostapd_vlan_if_add(hapd, vlan->ifname); in vlan_if_add()
46 ifconfig_up(vlan->ifname); /* else wpa group will fail fatal */ in vlan_if_add()
49 ret = wpa_auth_ensure_group(hapd->wpa_auth, vlan->vlan_id); in vlan_if_add()
55 vlan->vlan_id, ret); in vlan_if_add()
56 if (wpa_auth_release_group(hapd->wpa_auth, vlan->vlan_id)) in vlan_if_add()
57 wpa_printf(MSG_ERROR, "WPA deinit of %s failed", vlan->ifname); in vlan_if_add()
60 if (hostapd_vlan_if_remove(hapd, vlan->ifname)) in vlan_if_add()
61 wpa_printf(MSG_ERROR, "Removal of %s failed", vlan->ifname); in vlan_if_add()
67 int vlan_if_remove(struct hostapd_data *hapd, struct hostapd_vlan *vlan) in vlan_if_remove() argument
71 ret = wpa_auth_release_group(hapd->wpa_auth, vlan->vlan_id); in vlan_if_remove()
75 vlan->vlan_id, ret); in vlan_if_remove()
77 return hostapd_vlan_if_remove(hapd, vlan->ifname); in vlan_if_remove()
82 struct hostapd_vlan *vlan) in vlan_dynamic_add() argument
84 while (vlan) { in vlan_dynamic_add()
85 if (vlan->vlan_id != VLAN_ID_WILDCARD) { in vlan_dynamic_add()
86 if (vlan_if_add(hapd, vlan, 1)) { in vlan_dynamic_add()
89 vlan->ifname, strerror(errno)); in vlan_dynamic_add()
93 vlan_newlink(vlan->ifname, hapd); in vlan_dynamic_add()
97 vlan = vlan->next; in vlan_dynamic_add()
105 struct hostapd_vlan *vlan) in vlan_dynamic_remove() argument
109 while (vlan) { in vlan_dynamic_remove()
110 next = vlan->next; in vlan_dynamic_remove()
114 if (vlan->vlan_id != VLAN_ID_WILDCARD) in vlan_dynamic_remove()
115 vlan_dellink(vlan->ifname, hapd); in vlan_dynamic_remove()
117 if (vlan->vlan_id != VLAN_ID_WILDCARD && in vlan_dynamic_remove()
118 vlan_if_remove(hapd, vlan)) { in vlan_dynamic_remove()
121 vlan->ifname, strerror(errno)); in vlan_dynamic_remove()
125 vlan = next; in vlan_dynamic_remove()
138 !hapd->conf->vlan) { in vlan_init()
140 struct hostapd_vlan *vlan; in vlan_init() local
143 vlan = os_zalloc(sizeof(*vlan)); in vlan_init()
144 if (vlan == NULL) { in vlan_init()
150 vlan->vlan_id = VLAN_ID_WILDCARD; in vlan_init()
151 ret = os_snprintf(vlan->ifname, sizeof(vlan->ifname), "%s.#", in vlan_init()
153 if (ret >= (int) sizeof(vlan->ifname)) { in vlan_init()
156 vlan->ifname); in vlan_init()
158 os_free(vlan); in vlan_init()
161 vlan->next = hapd->conf->vlan; in vlan_init()
162 hapd->conf->vlan = vlan; in vlan_init()
165 if (vlan_dynamic_add(hapd, hapd->conf->vlan)) in vlan_init()
174 vlan_dynamic_remove(hapd, hapd->conf->vlan); in vlan_deinit()
184 struct hostapd_vlan *vlan, in vlan_add_dynamic()
192 if (vlan == NULL || vlan->vlan_id != VLAN_ID_WILDCARD) in vlan_add_dynamic()
196 __func__, vlan_id, vlan->ifname); in vlan_add_dynamic()
197 os_strlcpy(ifname, vlan->ifname, sizeof(ifname)); in vlan_add_dynamic()
218 os_strlcpy(n->bridge, vlan->bridge, sizeof(n->bridge)); in vlan_add_dynamic()
220 n->next = hapd->conf->vlan; in vlan_add_dynamic()
221 hapd->conf->vlan = n; in vlan_add_dynamic()
225 hapd->conf->vlan = n->next; in vlan_add_dynamic()
236 struct hostapd_vlan *vlan; in vlan_remove_dynamic() local
244 vlan = hapd->conf->vlan; in vlan_remove_dynamic()
245 while (vlan) { in vlan_remove_dynamic()
246 if (vlan->vlan_id == vlan_id && vlan->dynamic_vlan > 0) { in vlan_remove_dynamic()
247 vlan->dynamic_vlan--; in vlan_remove_dynamic()
250 vlan = vlan->next; in vlan_remove_dynamic()
253 if (vlan == NULL) in vlan_remove_dynamic()
256 if (vlan->dynamic_vlan == 0) { in vlan_remove_dynamic()
257 vlan_if_remove(hapd, vlan); in vlan_remove_dynamic()
259 vlan_dellink(vlan->ifname, hapd); in vlan_remove_dynamic()