On Tue, Mar 17, 2026 at 10:35:27AM +1000, David Gwynne wrote:
>On Sat, Mar 14, 2026 at 12:43:44PM +0100, Maurice Janssen wrote:
>> Hi,
>> 
>> I have a router running 7.8 with an interface (igc1) with several tagged 
>> VLANs:
>> # cat /etc/hostname.igc1
>> up
>> # cat /etc/hostname.vlan101
>> vnetid 101 parent igc1
>> inet 192.168.1.1 255.255.255.0
>> # cat /etc/hostname.vlan102
>> vnetid 102 parent igc1
>> inet 192.168.2.1 255.255.255.0
>> 
>> igc1 is connected to a switch with the rest of my internal network.
>> This works as expected, filering in pf on vlan101, etc.
>> 
>> Now I would like to connect a second switch to this router, expanding the
>> network with the same VLANs to another room.  Connecting to the first
>> switch is not preferred due to the routing of the physical cabling.
>> 
>> If I understand correctly, this can be done by hooking up the cable to
>> igc2 and changing my configuration as follows:
>> 
>> # cat /etc/hostname.igc1
>> up
>> # cat /etc/hostname.igc2
>> up
>> # cat /etc/hostname.vport0
>> up
>> # cat /etc/hostname.veb0
>> add igc1
>> add igc2
>> add vport0
>> link0
>> up
>> # cat /etc/hostname.vlan101
>> vnetid 101 parent vport0
>> inet 192.168.1.1 255.255.255.0
>> # cat /etc/hostname.vlan102
>> vnetid 102 parent vport0
>> inet 192.168.2.1 255.255.255.0
>> 
>> Or do I need multiple vport interfaces, one for each VLAN?
>
>veb is vlan unaware in 7.8 and before. this means it only uses the mac
>addresses in the packet to figure out which port that packet should go
>to. technically, a "vlan" is supposed to be completely isolated from
>another one, so sharing the one veb instance with multiple vlans breaks
>this isolation because the mac address topology is shared between them.
>
>my advice previously was to create a veb per vlan, ie:
>
># cat /etc/hostname.igc1
>up
># cat /etc/hostname.vlan1011
>parent igc1 vnetid 101
>up
># cat /etc/hostname.vlan1021
>parent igc1 vnetid 102
>up
># cat /etc/hostname.igc2
>up
># cat /etc/hostname.vlan1012
>parent igc2 vnetid 101
>up
># cat /etc/hostname.vlan1022
>parent igc2 vnetid 102
>up
># cat /etc/hostname.vport101
>inet 192.168.1.1 255.255.255.0
>up
># cat /etc/hostname.vport102
>inet 192.168.2.1 255.255.255.0
>up
># cat /etc/hostname.veb101
>add vlan1011
>add vlan1012
>add vport101
>up
># cat /etc/hostname.veb102
>add vlan1021
>add vlan1022
>add vport102
>up
>
>this is obviously... a lot.
>
>> In pf nothing changes, filtering on the VLAN interfaces.  Correct?
>> 
>> 
>> And after upgrading to 7.9 (with the new, VLAN aware veb), I understand that
>> this can (or must?) be changed into this:
>
>you can still configure vlan interfaces on top of vport interfaces. the
>config you had above should work if you add "tagged PORT 101,102" to
>igc1, igc2, and vport0, with the benefit that veb now knows to keep the
>mac addresses inside each vlan separate.
>
>however, the vlan interfaces are unecessary and you can just use a vport
>to talk to each isolated lan on the veb. this is exactly what your
>config below implements, with some minor syntax issues.
>
>> # cat /etc/hostname.igc1
>> up
>> # cat /etc/hostname.igc2
>> up
>> # cat /etc/hostname.veb0
>> add igc1
>> -untagged igc1
>> +tagged igc1 101
>> +tagged igc1 102
>> add igc2
>> -untagged igc2
>> +tagged igc2 101
>> +tagged igc2 102
>> add vport0
>> untagged vport0 101
>> add vport1
>> untagged vport1 102
>> up
>> # cat /etc/hostname.vport0
>> inet 192.168.1.1 255.255.255.0
>> # cat /etc/hostname.vport1
>> inet 192.168.2.1 255.255.255.0
>> 
>> and of course modifying pf.conf to use vport0 instead of vlan101 and
>> vport1 instead of vlan102
>> 
>> Is this correct?
>
>you want "tagged" instead of "+tagged", and you need "up" in
>hostname.vport0 and vport1, but yes.

Thank you for your detailed response. For now, I’ve added a simple managed
switch and will get started on the bridge setup after the 7.9 release.

Maurice

Reply via email to