VLAN: Remove vlan_tail
Everything in hostapd can be implemented efficiently without vlan_tail. Signed-hostap: Michael Braun <michael-dev@fami-braun.de>
This commit is contained in:
parent
85a6cdb571
commit
c2db79f237
4 changed files with 13 additions and 15 deletions
|
@ -93,11 +93,8 @@ static int hostapd_config_read_vlan_file(struct hostapd_bss_config *bss,
|
|||
|
||||
vlan->vlan_id = vlan_id;
|
||||
os_strlcpy(vlan->ifname, pos, sizeof(vlan->ifname));
|
||||
if (bss->vlan_tail)
|
||||
bss->vlan_tail->next = vlan;
|
||||
else
|
||||
vlan->next = bss->vlan;
|
||||
bss->vlan = vlan;
|
||||
bss->vlan_tail = vlan;
|
||||
}
|
||||
|
||||
fclose(f);
|
||||
|
|
|
@ -327,7 +327,7 @@ struct hostapd_bss_config {
|
|||
int wmm_enabled;
|
||||
int wmm_uapsd;
|
||||
|
||||
struct hostapd_vlan *vlan, *vlan_tail;
|
||||
struct hostapd_vlan *vlan;
|
||||
|
||||
macaddr bssid;
|
||||
|
||||
|
|
|
@ -689,15 +689,19 @@ int ap_sta_bind_vlan(struct hostapd_data *hapd, struct sta_info *sta,
|
|||
if (sta->ssid->dynamic_vlan == DYNAMIC_VLAN_DISABLED)
|
||||
sta->vlan_id = 0;
|
||||
else if (sta->vlan_id > 0) {
|
||||
struct hostapd_vlan *wildcard_vlan = NULL;
|
||||
vlan = hapd->conf->vlan;
|
||||
while (vlan) {
|
||||
if (vlan->vlan_id == sta->vlan_id ||
|
||||
vlan->vlan_id == VLAN_ID_WILDCARD) {
|
||||
iface = vlan->ifname;
|
||||
if (vlan->vlan_id == sta->vlan_id)
|
||||
break;
|
||||
}
|
||||
if (vlan->vlan_id == VLAN_ID_WILDCARD)
|
||||
wildcard_vlan = vlan;
|
||||
vlan = vlan->next;
|
||||
}
|
||||
if (!vlan)
|
||||
vlan = wildcard_vlan;
|
||||
if (vlan)
|
||||
iface = vlan->ifname;
|
||||
}
|
||||
|
||||
if (sta->vlan_id > 0 && vlan == NULL) {
|
||||
|
|
|
@ -1004,11 +1004,8 @@ int vlan_init(struct hostapd_data *hapd)
|
|||
vlan->vlan_id = VLAN_ID_WILDCARD;
|
||||
os_snprintf(vlan->ifname, sizeof(vlan->ifname), "%s.#",
|
||||
hapd->conf->iface);
|
||||
if (hapd->conf->vlan_tail)
|
||||
hapd->conf->vlan_tail->next = vlan;
|
||||
else
|
||||
vlan->next = hapd->conf->vlan;
|
||||
hapd->conf->vlan = vlan;
|
||||
hapd->conf->vlan_tail = vlan;
|
||||
}
|
||||
|
||||
if (vlan_dynamic_add(hapd, hapd->conf->vlan))
|
||||
|
|
Loading…
Reference in a new issue