Lines Matching full:vlan
38 #include "vlan.h"
278 * VLAN.
819 struct hostapd_vlan *vlan;
823 for (vlan = hapd->conf->vlan; vlan; vlan = vlan->next) {
824 if (vlan->vlan_id == vlan_id) {
836 struct hostapd_vlan *vlan = NULL, *wildcard_vlan = NULL;
852 /* Now the real VLAN changed or the STA just needs its own vif */
857 /* Get wildcard VLAN */
858 for (vlan = hapd->conf->vlan; vlan; vlan = vlan->next) {
859 if (vlan->vlan_id == VLAN_ID_WILDCARD)
862 if (!vlan) {
872 for (vlan = hapd->conf->vlan; vlan; vlan = vlan->next) {
873 if (!vlan_compare(&vlan->vlan_desc, vlan_desc))
875 if (vlan->vlan_id == VLAN_ID_WILDCARD)
876 wildcard_vlan = vlan;
878 if (vlan) {
879 vlan_id = vlan->vlan_id;
881 vlan = wildcard_vlan;
884 /* Tagged VLAN configuration */
891 "missing vlan and wildcard for vlan=%d%s",
900 if (vlan && vlan->vlan_id == VLAN_ID_WILDCARD) {
901 vlan = vlan_add_dynamic(hapd, vlan, vlan_id, vlan_desc);
902 if (vlan == NULL) {
906 "could not add dynamic VLAN interface for vlan=%d%s",
917 "added new dynamic VLAN interface '%s'",
918 vlan->ifname);
919 } else if (vlan && vlan->dynamic_vlan > 0) {
920 vlan->dynamic_vlan++;
924 "updated existing dynamic VLAN interface '%s'",
925 vlan->ifname);
930 sta->vlan_desc = vlan ? &vlan->vlan_desc : NULL;
943 struct hostapd_vlan *vlan = NULL;
948 if (hapd->conf->ssid.vlan[0])
949 iface = hapd->conf->ssid.vlan;
952 for (vlan = hapd->conf->vlan; vlan; vlan = vlan->next) {
953 if (vlan->vlan_id == sta->vlan_id)
956 if (vlan)
957 iface = vlan->ifname;
961 * Do not increment ref counters if the VLAN ID remains same, but do
968 if (sta->vlan_id > 0 && vlan == NULL) {
970 HOSTAPD_LEVEL_DEBUG, "could not find VLAN for "
975 } else if (vlan && vlan->dynamic_vlan > 0) {
976 vlan->dynamic_vlan++;
980 "updated existing dynamic VLAN interface '%s'",
993 wpa_printf(MSG_INFO, "Failed to update VLAN-ID for WPA");
1002 /* During 1x reauth, if the vlan id changes, then remove the old id. */