[RFC 0/5] Dynamic VLAN improvements

Jouni Malinen j at w1.fi
Sun Feb 1 05:43:37 EST 2015

On Mon, Mar 17, 2014 at 02:16:23PM +0100, Helmut Schaa wrote:
> hostapd has full dynamic VLAN support. However, the current implementation
> does not allow to use random bridge names.
> So, instead of letting hostapd "core" generate bridges with fixed names
> on the fly allow hostapd.vlan to specify bridge names per VLAN or a generic
> bridge name template with a placeholder.
> Furthermore bridging is pushed down into the driver.
> The full dynamic vlan option is kept in the code base to stay backwards
> compatible.
> Sending as RFC for now.

Did you continue to work on this?

> Helmut Schaa (5):
>   hostapd: Simplify vlan_add_dynamic error paths
>   hostapd: Add more flexible VLAN briging
>   driver_nl80211: Factor out bss bridge status into its own struct
>   driver_nl80211: Allow bridging of AP_VLAN interfaces
>   hostapd: Reduce indention in vlan_dynamic_add

There were couple of issues in vlan_add_dynamic() (like dereferencing
the 'n' pointer prior to it having been allocated and running
os_strchr() of vlan->bridge instead the strdup'ed brname copy of it).
With those fixed and patches rebased on top of the current tree, this
seems to be otherwise working, but there are some issues with bridge
interface setup. I did not look at what exactly was causing this, but it
looked like both the "old style" and "new style" bridge interfaces were
created and the new ones were not set up in my testing.

I think I'll apply the first patch now. If you want to get the other
ones in, please take a look at the rebased version here:

I'd like to get that ap_vlan_br_file_open hwsim test case fixed. Either
there is something wrong in how I'm trying to use this functionality of
something in vlan_init.c would need to be modified to create only one
set of bridge devices and make sure the one configured in hostapd.vlan
is set up.

Jouni Malinen                                            PGP id EFC895FA

More information about the HostAP mailing list