<p dir="ltr">Thanks Alexandre.</p>
<p dir="ltr">I will build something for testing this Friday.</p>
<div class="gmail_quote">On 5/08/2015 5:24 pm, "Alexandre DERUMIER" <<a href="mailto:aderumier@odiso.com">aderumier@odiso.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">BTW, can you test this method too ?<br>
<br>
<br>
>>eth0.10---->vmbrcustomer<--(vlanX)------tapX<br>
>><br>
>><br>
>><br>
>>auto vmbrcustomer1<br>
>>iface vmbrcustomer1 inet manual<br>
>>        bridge_vlan_aware yes<br>
>>        bridge_ports eth0.10<br>
>>        bridge_stp off<br>
>>        bridge_fd 0<br>
>>        pre-up ip link add link eth0 eth0.10 type vlan proto 802.1ad id 10<br>
<br>
<br>
?<br>
<br>
----- Mail original -----<br>
De: "aderumier" <<a href="mailto:aderumier@odiso.com">aderumier@odiso.com</a>><br>
À: "Andrew Thrift" <<a href="mailto:andrew@networklabs.co.nz">andrew@networklabs.co.nz</a>><br>
Cc: "pve-devel" <<a href="mailto:pve-devel@pve.proxmox.com">pve-devel@pve.proxmox.com</a>><br>
Envoyé: Mardi 4 Août 2015 14:02:46<br>
Objet: Re: [pve-devel] [PATCH] tap_plug : add support for vlan aware linux bridge<br>
<br>
Another way,<br>
<br>
but I'm not sure it's working, is to tag 802.1ad on the physical interface<br>
<br>
<br>
<br>
<br>
eth0.10---->vmbrcustomer<--(vlanX)------tapX<br>
<br>
<br>
<br>
auto vmbrcustomer1<br>
iface vmbrcustomer1 inet manual<br>
bridge_vlan_aware yes<br>
bridge_ports eth0.10<br>
bridge_stp off<br>
bridge_fd 0<br>
pre-up ip link add link eth0 eth0.10 type vlan proto 802.1ad id 10<br>
<br>
<br>
<br>
<br>
----- Mail original -----<br>
De: "aderumier" <<a href="mailto:aderumier@odiso.com">aderumier@odiso.com</a>><br>
À: "Andrew Thrift" <<a href="mailto:andrew@networklabs.co.nz">andrew@networklabs.co.nz</a>><br>
Cc: "pve-devel" <<a href="mailto:pve-devel@pve.proxmox.com">pve-devel@pve.proxmox.com</a>><br>
Envoyé: Mardi 4 Août 2015 12:22:47<br>
Objet: Re: [pve-devel] [PATCH] tap_plug : add support for vlan aware linux bridge<br>
<br>
>>Hi Alexandre,<br>
Hi,<br>
<br>
>>We also use QinQ and have submitted patches for the previous network implementation that made use of a "bridge in bridge" design to achieve the QinQ functionality.<br>
<br>
They are also a new way to implement q-in-q with vlan aware bridge<br>
<br>
<a href="http://www.spinics.net/lists/linux-ethernet-bridging/msg05514.html" rel="noreferrer" target="_blank">http://www.spinics.net/lists/linux-ethernet-bridging/msg05514.html</a><br>
<br>
+----+ +-------+p/u +------+ +----+ +--+<br>
|eth0|--|802.1ad|----veth----|802.1Q|--|vnet|--|VM|<br>
+----+ |bridge | |bridge| +----+ +--+<br>
+-------+ +------+<br>
<br>
p/u: pvid/untagged<br>
<br>
<br>
<br>
Currently we have implemented 802.1Q bridge.<br>
<br>
for qinq, we need to create a root bridge, with 802.1ad enabled, linked through a veth pair to 802.1Q bridge.<br>
<br>
<br>
The qinq bridge is managed exactly in the same way than 802.1ad, but it's enabled with<br>
echo 0x88a8 > /sys/class/net/XXX/bridge/vlan_protocol<br>
<br>
for example<br>
------------<br>
eth0----vmbr0--(vlan10)<---brigelink-------bridgelinkpeer---->vmbrcustomer<--(vlanX)------tapX<br>
<br>
<br>
brctl addbr vmbr0<br>
echo 0x88a8 > /sys/class/net/vmbr0/bridge/vlan_protocol<br>
ip link add dev bridgelink type veth peer name bridgelinkpeer<br>
brctl addif vmbr0 bridgelink<br>
brctl addif vmbrcustomer1 bridgelinkpeer<br>
bridge vlan add dev bridgelink vid 10 pvid untagged<br>
<br>
<br>
something like that<br>
<br>
<br>
I can try to make a patch, but I don't have hardware which support q-in-q for testing.<br>
<br>
<br>
<br>
<br>
----- Mail original -----<br>
De: "Andrew Thrift" <<a href="mailto:andrew@networklabs.co.nz">andrew@networklabs.co.nz</a>><br>
À: "aderumier" <<a href="mailto:aderumier@odiso.com">aderumier@odiso.com</a>><br>
Cc: "pve-devel" <<a href="mailto:pve-devel@pve.proxmox.com">pve-devel@pve.proxmox.com</a>><br>
Envoyé: Mardi 4 Août 2015 10:49:26<br>
Objet: Re: [pve-devel] [PATCH] tap_plug : add support for vlan aware linux bridge<br>
<br>
Hi Alexandre,<br>
We also use QinQ and have submitted patches for the previous network implementation that made use of a "bridge in bridge" design to achieve the QinQ functionality.<br>
<br>
The new vlan aware bridge implementation will be a lot cleaner.<br>
<br>
When your patches are ready we will test them and provide feedback.<br>
<br>
<br>
Thanks,<br>
<br>
<br>
<br>
Andrew<br>
<br>
On Tue, Jul 28, 2015 at 2:09 AM, Alexandre DERUMIER < <a href="mailto:aderumier@odiso.com">aderumier@odiso.com</a> > wrote:<br>
<br>
<br>
does somebody have tested my vlan bridges patches ? (note that that need iproute2 from debian sid, for vlan ranges)<br>
<br>
It's working really fine here, I'm looking to add a patch for Q-in-Q bridge too. (I think Stefan Priebe use them)<br>
<br>
<br>
<br>
<br>
<br>
----- Mail original -----<br>
De: "aderumier" < <a href="mailto:aderumier@odiso.com">aderumier@odiso.com</a> ><br>
À: "Wolfgang Bumiller" < <a href="mailto:w.bumiller@proxmox.com">w.bumiller@proxmox.com</a> ><br>
Cc: "pve-devel" < <a href="mailto:pve-devel@pve.proxmox.com">pve-devel@pve.proxmox.com</a> ><br>
Envoyé: Vendredi 24 Juillet 2015 18:49:18<br>
Objet: Re: [pve-devel] [PATCH] tap_plug : add support for vlan aware linux bridge<br>
<br>
>>Why is `bridge_add_interface` now restricted to the firewall-else<br>
>>branch?<br>
<br>
I manage it like openvswitch,<br>
<br>
vlan tagging is always done on the main bridge, not firewall bridge.<br>
<br>
<br>
> + if ($firewall) {<br>
> + &$create_firewall_bridge_linux($iface, $bridge, $tag);<br>
<br>
create_firewall_bridge_linux($iface, $bridge, $tag)<br>
have<br>
<br>
- &$bridge_add_interface($bridge, $vethfwpeer);<br>
+ &$bridge_add_interface($bridge, $vethfwpeer, $tag); #tag on the main bridge<br>
- return $fwbr;<br>
+ &$bridge_add_interface($fwbr, $iface); # add vm tap interface on fwbridge without vlan tag<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
----- Mail original -----<br>
De: "Wolfgang Bumiller" < <a href="mailto:w.bumiller@proxmox.com">w.bumiller@proxmox.com</a> ><br>
À: "aderumier" < <a href="mailto:aderumier@odiso.com">aderumier@odiso.com</a> ><br>
Cc: "pve-devel" < <a href="mailto:pve-devel@pve.proxmox.com">pve-devel@pve.proxmox.com</a> ><br>
Envoyé: Vendredi 24 Juillet 2015 15:20:06<br>
Objet: Re: [pve-devel] [PATCH] tap_plug : add support for vlan aware linux bridge<br>
<br>
On Fri, Jul 24, 2015 at 01:52:59PM +0200, Alexandre Derumier wrote:<br>
> - $newbridge = &$create_firewall_bridge_linux($iface, $newbridge) if $firewall;<br>
> + if (!$vlan_aware) {<br>
> + my $newbridge = activate_bridge_vlan($bridge, $tag);<br>
> + copy_bridge_config($bridge, $newbridge) if $bridge ne $newbridge;<br>
> + $tag = undef;<br>
> + }<br>
> +<br>
> + if ($firewall) {<br>
> + &$create_firewall_bridge_linux($iface, $bridge, $tag);<br>
> + } else {<br>
> + &$bridge_add_interface($bridge, $iface, $tag);<br>
> + }<br>
><br>
> - &$bridge_add_interface($newbridge, $iface);<br>
<br>
<br>
Why is `bridge_add_interface` now restricted to the firewall-else<br>
branch?<br>
_______________________________________________<br>
pve-devel mailing list<br>
<a href="mailto:pve-devel@pve.proxmox.com">pve-devel@pve.proxmox.com</a><br>
<a href="http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel" rel="noreferrer" target="_blank">http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel</a><br>
<br>
_______________________________________________<br>
pve-devel mailing list<br>
<a href="mailto:pve-devel@pve.proxmox.com">pve-devel@pve.proxmox.com</a><br>
<a href="http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel" rel="noreferrer" target="_blank">http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel</a><br>
<br>
<br>
<br>
_______________________________________________<br>
pve-devel mailing list<br>
<a href="mailto:pve-devel@pve.proxmox.com">pve-devel@pve.proxmox.com</a><br>
<a href="http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel" rel="noreferrer" target="_blank">http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel</a><br>
_______________________________________________<br>
pve-devel mailing list<br>
<a href="mailto:pve-devel@pve.proxmox.com">pve-devel@pve.proxmox.com</a><br>
<a href="http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel" rel="noreferrer" target="_blank">http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel</a><br>
<br>
</blockquote></div>