Does anyone understand when "bridge_ifname" is required in wpa_supplicant?

Jouni Malinen j at w1.fi
Thu Sep 22 13:29:03 PDT 2016


On Mon, Sep 19, 2016 at 09:48:46AM -0600, James Feeney wrote:
> In what circumstances is "bridge_ifname" required in wpa_supplicant?
> 
> "bridge_ifname" is the value provided with the "-b" switch on the command line.
> 
> In wpa_supplicant/wpa_supplicant_i.h
> 
> #        /**
> #         * bridge_ifname - Optional bridge interface name
> #         *
> #         * If the driver interface (ifname) is included in a Linux bridge
> #         * device, the bridge interface may need to be used for receiving EAPOL
> #         * frames. This can be enabled by setting this variable to enable
> #         * receiving of EAPOL frames from an additional interface.
> #         */
> #        const char *bridge_ifname;
> 
> But then, in what particular circumstances is the bridge interface needed for
> receiving EAPOL frames? In my case, I have a linux kernel "bonding" interface
> with two slaves, one wired and one wireless.  Suppose that wpa_supplicant runs
> on both the wired and the wireless interfaces, for the sake of argument.

This part of Linux kernel networking stack and packet sockets are a bit
inconvenient.. The received EAPOL frames may not actually be available
through the main interface (say, wlan0) when that interface is in a
bridge (say, br0) with the type of packet socket that wpa_supplicant
uses for EAPOL frames. Whether same applies for all kernel versions
(there is an unfortunate regression in this are for bridging and it has
not been addressed in the kernel..) and for other interface types that
merge netdevs in some way (like bonding) depends on the case.. So in
practice, I'd recommend testing the combination you are thinking of and
see if it works without specifying the bridge interface.

-- 
Jouni Malinen                                            PGP id EFC895FA



More information about the Hostap mailing list