How to link the tap interface with the LXC bridge?

Hello All and thank you for allowing me to ask this question.

I am running an unprivileged custom LXC container that is running on top of a Ubuntu host, that at the same time is running on Virtual Box.

I can currently ping from the LXC all the way to the Windows PC and vice versa,
using the lxcbr0:

                                              enp0s9              lxcbr0                  br0
Windows 10 ( <--> Virtual Box ( <--> <--> LXC (

Here is my question:

In my container I have an application generating data that I want to send all the way to the
Windows pc using the network interfaces. This program opens a TUN/TAP interface to write the data to it, but when I try to link the tap0 to the br0 interface I get this error:

ip tuntap add tap0 mode tap
ip link set dev tap0 up
ip link set tap0 master br0
RTNETLINK answers: Operation not supported

The reason this is happening is because br0 is a veth as specified in the LXC config file bellow, and
for some reason it does not let me link to the tap interface.

                                              enp0s9              lxcbr0                  br0
Windows 10 ( <--> Virtual Box ( <--> <--> LXC ( X--X tap0 

In the other hand, if I remove the br0 from the LXC config and open the br0 inside the container,
I can successfully link tap0 and br0, and the data goes all the way until br0, but I cant get it out of the

                                              enp0s9              lxcbr0                  br0
Windows 10 ( <--> Virtual Box ( <--> X--X LXC ( <-- tap0 

How can I link this tap interface to the br0 so the data goes out of the container?

                                              enp0s9              lxcbr0                  br0
Windows 10 ( <--> Virtual Box ( <--> <--> LXC ( <-- tap0 

This is my /etc/default/lxc-net


this is my /etc/network/interfaces

# Host-only adapter used for communication with windows pc
auto enp0s9
iface enp0s9 inet static

allow-hotplug lxcbr0
   iface lxcbr0 inet dhcp
   bridge_ports enp0s9

My Container config:

lxc.include = /usr/share/lxc/config/slackware.common.conf
lxc.include = /usr/share/lxc/config/slackware.userns.conf

# network settings = veth = lxcbr0 = up = 00:00:C3:C1:DA:78 = br0 = = = veth = lxcbr0 = up = 00:00:C3:C1:DA:78 = builtin

# local root is id 231072
lxc.id_map = u 0 231072 65536
lxc.id_map = g 0 231072 65536

# rootfs directory
lxc.rootfs = /mnt/lxcroot
lxc.rootfs.backend = dir

lxc.utsname = custom-lxc
lxc.arch = linux32


Please can you give a bit more info around what and why you are trying to use a tap device and bridge inside a container, why not just use the container’s existing eth0 to reach the windows host’s IP?