Thanks a lot Tom for your response.
Perhaps I wasn't quite clear in what I am trying to achieve?
When I say trunk, I meant from a switch perspective as in a 802.1Q trunk
port on a switch.
I think I got mixed up with the OpenBSD terminology since it is slightly
different:
TRUNK(4) Device Drivers Manual
TRUNK(4)
NAME
trunk - link aggregation and link failover interface
Of course different vendors call this differently and would be more like
EtherChannel in Cisco terminology.
So now I just need to find out how the switch interface works in OpenBSD
and see if I can get it working with 802.1q tagging and the rest of the
L2 networking protocols.
Regards,
Kaya
On 1/25/21 10:51 PM, Tom Smyth wrote:
Hi Kaya
you need to create a bridge interface and add the interfaces you
want to switch packets between into the bridge,
man bridge
man switch
man ifconfig
will give you the information you need,
trunk is a bonding / team / fail over interface and not for switching
because you are using a virtualisation platform you need to be wary of
hypervisor / virtualisation network stack Security features / hacks /
shortcuts
some hypervisors filter traffic comming from a vm which has a
different source mac to the mac assigned to the vm network card by
the hyper-visor and somehypervispors will only switch traffic to a vm
if the destination mac is the same as the mac of the virtual machine
network card
all the best
On Mon, 25 Jan 2021 at 22:06, Kaya Saman <kayasa...@gmail.com
<mailto:kayasa...@gmail.com>> wrote:
Hi,
I'm wondering if it's possible to get OpenBSD to make the NIC
ports act
like a layer 2 switch?
I made a quick test in VirtualBox (unfortunately I don't have any
bare
bones systems free to test with) and tried the following:
create two systems, one called router , the other called client
create vlans: vlan1, vlan2, vlan3
create trunk interfaces on 3x virtual NIC's: trunk0 (em0), trunk1
(em1),
trunk2 (em2)
I then added the vlans to trunk0 by setting the vlandev to trunk0
in the
hostname.if files.
Of course a basic router-on-a-stick method like the above works
fine but
if I wanted the 3 vlans to also be on the trunk1 interface in a
similar
way to provisioning an L2 switch how would I go about it?
I attempted to bridge trunk0 and trunk1. The result I got was that
dhcp
worked and the client was able to get an IPv4 address, I also had
multicast traffic working when dynamically sending the client routes
through OpenOSPF, as in I could see OSPFv2-hello and OSPFv2-dd
packets
being sent to 224.0.0.5 .
What didn't work was ICMP packets were not being seen on the router
systems NIC when I tried to use the ping command and in addition the
OSPF routes would not propagate either.
If I changed the virtual configuration back to trunk0 then everything
worked as expected. It may just be a limitation of Vbox....?
In the meantime I have been looking at the docs:
https://www.openbsd.org/papers/bsdcan2016-switchd.pdf
<https://www.openbsd.org/papers/bsdcan2016-switchd.pdf>
https://man.openbsd.org/switch <https://man.openbsd.org/switch>
for the switch interface but is this really what I need here?
Has anyone tried and succeeded with this kind of config?
My main reason for wanting to use something like this is that I
want to
add a 10GbE NIC and switch into my production router platform while
still keeping the same setup going to the 1GbE switch which is
running
in a 4-port LACP trunk.
Of course an alternate would be to link the 1GbE switch to the 10GbE
switch and do things that way, but the above would be more practical
from a cabling sense.
Has anyone got any ideas?
Thanks a lot!
Kaya
--
Kindest regards,
Tom Smyth.