shell>ifconfig bridge0 create
shell>ifconfig tap0 create
shell>ifconfig tap1 create
shell>ifconfig tap2 create
shell>ifconfig tap3 create
shell>ifconfig tap4 create
shell>ifconfig tap5 create
shell>ifconfig bridge0 addm tap0 addm tap1 addm tap3 addm tap4 addm tap5 up
By now you have exact setup like what is shown in the diagram above, to make it permanent/persistent you need to add the following lines to /etc/rc.conf -
cloned_interfaces="bridge0 tap0 tap1 tap2 tap3 tap4 tap5"
ifconfig_bridge0="addm tap0 addm tap1 addm tap2 addm tap3 addm tap4 addm tap5 up"
Also add the following lines to /etc/sysctl.conf -
net.link.tap.up_on_open=1
net.link.tap.user_open=1
Once you have everything done, you can check if it is setup properly -
shell>ifconfig bridge0
bridge0: flags=8843
ether 0e:a5:28:73:f9:3b
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
member: tap5 flags=143
ifmaxaddr 0 port 9 priority 128 path cost 2000000
member: tap4 flags=143
ifmaxaddr 0 port 8 priority 128 path cost 2000000
member: tap3 flags=143
ifmaxaddr 0 port 7 priority 128 path cost 2000000
member: tap2 flags=143
ifmaxaddr 0 port 6 priority 128 path cost 2000000
member: tap1 flags=143
ifmaxaddr 0 port 5 priority 128 path cost 2000000
member: tap0 flags=143
ifmaxaddr 0 port 4 priority 128 path cost 2000000
To undo everything, just run
shell>ifconfig bridge0 deletem tap0 deletem tap1 deletem tap2 deletem tap3 deletem tap4 deletem tap5
shell>ifconfig tap0 destroy
shell>ifconfig tap1 destroy
shell>ifconfig tap2 destroy
shell>ifconfig tap3 destroy
shell>ifconfig tap4 destroy
shell>ifconfig tap5 destroy
The setup is complete, in the next blog post, I will talk about how you can setup similar virtual switch using FreeBSD ng_bridge implementation. Plus releasing the FreeBSD VM for you to try out the setup yourself.
Enjoy (;])
No comments:
Post a Comment