Why wireless interface cannot be attached to a Linux host bridge?

Hello, everyone. I'm from japan and using machine translation, so I apologize if it's hard to read. I am currently trying to build a virtual environment using Ubuntu and kvm. However, I found out from the following page that the virtual machine cannot use the bridge network because I am using a wireless network. https://wiki.libvirt.org/page/Networking I am having trouble with this because my PC is using a wireless LAN. On that page it says "wireless interfaces cannot be attached to a Linux host bridge", I Can you tell me why this is so? Is it a limitation of the NIC driver for the wireless LAN? Or is it a limitation of libvirt? Best regards.

On 2020-07-07 11:26, ryotaro kobayashi wrote:
Hello, everyone.
I'm from japan and using machine translation, so I apologize if it's hard to read.
I am currently trying to build a virtual environment using Ubuntu and kvm.
However, I found out from the following page that the virtual machine cannot use the bridge network because I am using a wireless network.
https://wiki.libvirt.org/page/Networking
I am having trouble with this because my PC is using a wireless LAN.
On that page it says "wireless interfaces cannot be attached to a Linux host bridge", I Can you tell me why this is so?
Is it a limitation of the NIC driver for the wireless LAN? Or is it a limitation of libvirt?
Hi! While I no longer recall the details myself, it has to do with WiFi packets being slightly different than stock Ethernet packets, and WiFi simply can't support bridging. While there are, if memory serves, some interfaces that allow you to work around this, it's really a protocol issue and neither libvirt or a driver's fault. Perhaps someone else either remembers more details, or is willing to come back with something m,ore specific, but I thought I'd reply so you at least had something. -Ken P.S. The machine translation worked very, very well.

On 7/7/20 12:29 PM, Ken D'Ambrosio wrote:
On 2020-07-07 11:26, ryotaro kobayashi wrote:
I'm from japan and using machine translation, so I apologize if it's hard to read.
[...] P.S. The machine translation worked very, very well.
Scary! :-) I didn't even notice that until you mentioned it in your response, and it all looked very natural :-O

Thank you for your reply.
it has to do with WiFi packets being slightly different than stock Ethernet packets
Certainly, as you say, there are differences in both packets, such as the handling of src/dest MAC addresses, etc. Best regards. P.S. Machine translation is amazing these days. I cannot live without this ! :-) 2020年7月8日(水) 1:30 Ken D'Ambrosio <ken@jots.org>:
On 2020-07-07 11:26, ryotaro kobayashi wrote:
Hello, everyone.
I'm from japan and using machine translation, so I apologize if it's hard to read.
I am currently trying to build a virtual environment using Ubuntu and kvm.
However, I found out from the following page that the virtual machine cannot use the bridge network because I am using a wireless network.
https://wiki.libvirt.org/page/Networking
I am having trouble with this because my PC is using a wireless LAN.
On that page it says "wireless interfaces cannot be attached to a Linux host bridge", I Can you tell me why this is so?
Is it a limitation of the NIC driver for the wireless LAN? Or is it a limitation of libvirt?
Hi! While I no longer recall the details myself, it has to do with WiFi packets being slightly different than stock Ethernet packets, and WiFi simply can't support bridging. While there are, if memory serves, some interfaces that allow you to work around this, it's really a protocol issue and neither libvirt or a driver's fault. Perhaps someone else either remembers more details, or is willing to come back with something m,ore specific, but I thought I'd reply so you at least had something.
-Ken
P.S. The machine translation worked very, very well.

On 7/7/20 11:26 AM, ryotaro kobayashi wrote:
Hello, everyone.
I'm from japan and using machine translation, so I apologize if it's hard to read.
I am currently trying to build a virtual environment using Ubuntu and kvm.
However, I found out from the following page that the virtual machine cannot use the bridge network because I am using a wireless network.
https://wiki.libvirt.org/page/Networking
I am having trouble with this because my PC is using a wireless LAN.
On that page it says "wireless interfaces cannot be attached to a Linux host bridge", I Can you tell me why this is so?
Is it a limitation of the NIC driver for the wireless LAN?
Not really.
Or is it a limitation of libvirt?
Definitely not. Completely out of libvirt's control. It is a limitation of 1) the way that almost all wireless connections work (only traffic to/from a single MAC address is allowed on a particular wireless connection). (Yes, I know there are some wireless modes that allow multiple MAC addresses on a single association. But those modes aren't supported by most wireless APs or clients.) 2) Because of (1), the Linux kernel doesn't allow wireless network devices to be attached to a Linux host bridge device. Some people have had success with IPv6 by enabling proxy ARP on the bridge device and wireless interface (without directly attaching them to each other, then manually adding a host route pointing to the guest's IP. It might be possible to do something similar for IPv4 using proxy ARP, but I personally haven't played with the idea.

On 7/7/20 12:43, Laine Stump wrote:
On 7/7/20 11:26 AM, ryotaro kobayashi wrote:
Hello, everyone.
I'm from japan and using machine translation, so I apologize if it's hard to read.
I am currently trying to build a virtual environment using Ubuntu and kvm.
However, I found out from the following page that the virtual machine cannot use the bridge network because I am using a wireless network.
https://wiki.libvirt.org/page/Networking
I am having trouble with this because my PC is using a wireless LAN.
On that page it says "wireless interfaces cannot be attached to a Linux host bridge", I Can you tell me why this is so?
Is it a limitation of the NIC driver for the wireless LAN?
Not really.
Or is it a limitation of libvirt?
Definitely not. Completely out of libvirt's control.
Is anyone aware/at liberty to say how VirtualBox circumvents this limitation? I presume it's via some sort of software switch trickery, but they seem to be able to do a bridged(-like) mode via a Wi-Fi interface. -- brent saner https://square-r00t.net/ GPG info: https://square-r00t.net/gpg-info

Quoting brent s. (2020-07-07 20:09:13)
Is anyone aware/at liberty to say how VirtualBox circumvents this limitation? I presume it's via some sort of software switch trickery, but they seem to be able to do a bridged(-like) mode via a Wi-Fi interface.
See the second "Note" at <https://www.virtualbox.org/manual/ch06.html#network_bridged>. Basically, they do MAC address translation. -- Pol

Thank you for your reply. Please let me sure.
1) the way that almost all wireless connections work (only traffic to/from a single MAC address is allowed on a particular wireless connection).
2) Because of (1), the Linux kernel doesn't allow wireless network devices to be attached to a Linux host bridge device.
So, what you are saying is the authentication between wireless access point and client ? ( For example ,I think if linux pc allowed each wireless bridge ,more authentication is needed to another access point. ) Or ,Because of is it hard to treat four MAC addresses these are needed to bridge (src/dest MAC adresses in each wired nework and wireless network)? Sorry for I'm getting off track of libvirt. Best regards. P.S. Thanks for the compliment on the machine translation. I'm getting happy too :-) 2020年7月8日(水) 1:43 Laine Stump <laine@redhat.com>:
On 7/7/20 11:26 AM, ryotaro kobayashi wrote:
Hello, everyone.
I'm from japan and using machine translation, so I apologize if it's hard to read.
I am currently trying to build a virtual environment using Ubuntu and kvm.
However, I found out from the following page that the virtual machine cannot use the bridge network because I am using a wireless network.
https://wiki.libvirt.org/page/Networking
I am having trouble with this because my PC is using a wireless LAN.
On that page it says "wireless interfaces cannot be attached to a Linux host bridge", I Can you tell me why this is so?
Is it a limitation of the NIC driver for the wireless LAN?
Not really.
Or is it a limitation of libvirt?
Definitely not. Completely out of libvirt's control.
It is a limitation of
1) the way that almost all wireless connections work (only traffic to/from a single MAC address is allowed on a particular wireless connection).
(Yes, I know there are some wireless modes that allow multiple MAC addresses on a single association. But those modes aren't supported by most wireless APs or clients.)
2) Because of (1), the Linux kernel doesn't allow wireless network devices to be attached to a Linux host bridge device.
Some people have had success with IPv6 by enabling proxy ARP on the bridge device and wireless interface (without directly attaching them to each other, then manually adding a host route pointing to the guest's IP. It might be possible to do something similar for IPv4 using proxy ARP, but I personally haven't played with the idea.

On 07/07/2020 17:26, ryotaro kobayashi wrote:
Hello, everyone.
I'm from japan and using machine translation, so I apologize if it's hard to read.
I am currently trying to build a virtual environment using Ubuntu and kvm.
However, I found out from the following page that the virtual machine cannot use the bridge network because I am using a wireless network.
Dear ryotaro kobayashi. I had a similar problem long time ago. I fixed it creating a masquerade postrouting with an spare ethernet interface. This is my own answer to this from stackexchange: https://superuser.com/questions/597834/bridging-wifi-to-ethernet-on-ubuntu-n... It is way outdated, but you may contact me directly if you want. I guess this may be off topic. -- Francesc Guasch

Dear Francesc Guasch.Thank you for your reply. Thanks for introducing your article , It seems to use IP masquerade and routing as Laine Stump said ( https://www.redhat.com/archives/libvirt-users/2020-July/msg00019.html).
It is way outdated, but you may contact me directly if you want.
Thanks for your concern. But sorry , I considered using another virtual machine manager. Because of stacking the kubernetes environment on top of this layer,I want to make this layer as simple as possible. Best regards. 2020年7月8日(水) 16:46 Francesc Guasch <frankie@telecos.upc.edu>:
On 07/07/2020 17:26, ryotaro kobayashi wrote:
Hello, everyone.
I'm from japan and using machine translation, so I apologize if it's hard to read.
I am currently trying to build a virtual environment using Ubuntu and kvm.
However, I found out from the following page that the virtual machine cannot use the bridge network because I am using a wireless network.
Dear ryotaro kobayashi. I had a similar problem long time ago.
I fixed it creating a masquerade postrouting with an spare ethernet interface. This is my own answer to this from stackexchange:
https://superuser.com/questions/597834/bridging-wifi-to-ethernet-on-ubuntu-n...
It is way outdated, but you may contact me directly if you want. I guess this may be off topic.
-- Francesc Guasch
participants (6)
-
brent s.
-
Francesc Guasch
-
Ken D'Ambrosio
-
Laine Stump
-
Pol Van Aubel
-
ryotaro kobayashi