Lines Matching refs:br_name
133 static int br_delif(const char *br_name, const char *if_name) in br_delif() argument
140 wpa_printf(MSG_DEBUG, "VLAN: br_delif(%s, %s)", br_name, if_name); in br_delif()
147 if (linux_br_del_if(fd, br_name, if_name) == 0) in br_delif()
163 os_strlcpy(ifr.ifr_name, br_name, sizeof(ifr.ifr_name)); in br_delif()
170 "%s", __func__, br_name, if_name, strerror(errno)); in br_delif()
188 static int br_addif(const char *br_name, const char *if_name) in br_addif() argument
195 wpa_printf(MSG_DEBUG, "VLAN: br_addif(%s, %s)", br_name, if_name); in br_addif()
202 if (linux_br_add_if(fd, br_name, if_name) == 0) in br_addif()
223 os_strlcpy(ifr.ifr_name, br_name, sizeof(ifr.ifr_name)); in br_addif()
235 "%s", __func__, br_name, if_name, strerror(errno)); in br_addif()
246 static int br_delbr(const char *br_name) in br_delbr() argument
251 wpa_printf(MSG_DEBUG, "VLAN: br_delbr(%s)", br_name); in br_delbr()
258 if (linux_br_del(fd, br_name) == 0) in br_delbr()
262 arg[1] = (unsigned long) br_name; in br_delbr()
267 "%s: %s", __func__, br_name, strerror(errno)); in br_delbr()
285 static int br_addbr(const char *br_name) in br_addbr() argument
291 wpa_printf(MSG_DEBUG, "VLAN: br_addbr(%s)", br_name); in br_addbr()
298 if (linux_br_add(fd, br_name) == 0) in br_addbr()
307 arg[1] = (unsigned long) br_name; in br_addbr()
317 __func__, br_name, strerror(errno)); in br_addbr()
326 os_strlcpy(ifr.ifr_name, br_name, IFNAMSIZ); in br_addbr()
335 "%s: %s", __func__, br_name, strerror(errno)); in br_addbr()
344 static int br_getnumports(const char *br_name) in br_getnumports() argument
365 os_strlcpy(ifr.ifr_name, br_name, sizeof(ifr.ifr_name)); in br_getnumports()
371 __func__, br_name, strerror(errno)); in br_getnumports()
388 const char *br_name, int vid, in vlan_newlink_tagged() argument
411 if (!br_addif(br_name, vlan_ifname)) in vlan_newlink_tagged()
420 static void vlan_bridge_name(char *br_name, struct hostapd_data *hapd, in vlan_bridge_name() argument
427 os_strlcpy(br_name, vlan->bridge, IFNAMSIZ); in vlan_bridge_name()
430 ret = os_snprintf(br_name, IFNAMSIZ, "%s%d", in vlan_bridge_name()
433 ret = os_snprintf(br_name, IFNAMSIZ, "br%s.%d", in vlan_bridge_name()
436 ret = os_snprintf(br_name, IFNAMSIZ, "brvlan%d", vid); in vlan_bridge_name()
441 br_name); in vlan_bridge_name()
445 static void vlan_get_bridge(const char *br_name, struct hostapd_data *hapd, in vlan_get_bridge() argument
451 dyn_iface_get(hapd, br_name, br_addbr(br_name) ? 0 : DVLAN_CLEAN_BR); in vlan_get_bridge()
453 ifconfig_up(br_name); in vlan_get_bridge()
456 vlan_newlink_tagged(vlan_naming, tagged_interface, br_name, in vlan_get_bridge()
463 char br_name[IFNAMSIZ]; in vlan_newlink() local
490 vlan_bridge_name(br_name, hapd, vlan, untagged); in vlan_newlink()
492 vlan_get_bridge(br_name, hapd, untagged); in vlan_newlink()
494 if (!br_addif(br_name, ifname)) in vlan_newlink()
503 vlan_bridge_name(br_name, hapd, vlan, tagged[i]); in vlan_newlink()
504 vlan_get_bridge(br_name, hapd, tagged[i]); in vlan_newlink()
506 ifname, br_name, tagged[i], hapd); in vlan_newlink()
514 const char *br_name, int vid, in vlan_dellink_tagged() argument
536 br_delif(br_name, vlan_ifname); in vlan_dellink_tagged()
545 static void vlan_put_bridge(const char *br_name, struct hostapd_data *hapd, in vlan_put_bridge() argument
553 vlan_dellink_tagged(vlan_naming, tagged_interface, br_name, in vlan_put_bridge()
556 clean = dyn_iface_put(hapd, br_name); in vlan_put_bridge()
557 if ((clean & DVLAN_CLEAN_BR) && br_getnumports(br_name) == 0) { in vlan_put_bridge()
558 ifconfig_down(br_name); in vlan_put_bridge()
559 br_delbr(br_name); in vlan_put_bridge()
587 char br_name[IFNAMSIZ]; in vlan_dellink() local
595 vlan_bridge_name(br_name, hapd, vlan, tagged[i]); in vlan_dellink()
597 ifname, br_name, tagged[i], hapd); in vlan_dellink()
598 vlan_put_bridge(br_name, hapd, tagged[i]); in vlan_dellink()
607 vlan_bridge_name(br_name, hapd, vlan, untagged); in vlan_dellink()
610 br_delif(br_name, vlan->ifname); in vlan_dellink()
612 vlan_put_bridge(br_name, hapd, untagged); in vlan_dellink()