vlan taggging on etherchannel

Tom Judge tom at tomjudge.com
Tue Aug 21 04:17:42 PDT 2007

Mohacsi Janos wrote:
> Dear All,
>     What is the recommended way to configure vlan interfaces on 
> etherchannel bonded interfaces in a failure mode. I found, that 
> etherchannel is supported by ng_fec(4) (but not exactly what I want) and 
> also found that there two? way of configuring vlans: vlan(4) and 
> ng_vlan(4). But I did not found any description or configuration snippet 
> to configure both preferentially via /etc/rc.conf neither in FreeBSD 
> 6.x-stable, neither in FreeBSD-7.0-current. What I want to achieve:
>   [switch1]-----GE---bge0----\    /----vlan100
>                               }=={-----vlan101
>   [switch2]-----FE---bge1----/    \----vlan102
>                                    \---vlan103
> I would like to  prefer all the vlans via bge0 with GE towards switch1. 
> And use only bge1 in case of switch1 or bge0 link failure.
> I could use bond on Linux for this purpose. How to achieve similar setup?

You may want to take a look at if_lagg, it supports EtherChannel (AKA 
fec), LACP and failover modes (Which is what you would need).  It is 
available in RELENG_6 and Current.

You may wish to take a look at:


rc.conf entries for the example might look like (not tried this):
ifconfig_lagg0="laggproto lacp laggport fxp0 laggport fxp1"

As for the vlan interfaces we use if_vlan and rc.conf snippets look as 

cloned_interfaces="vlan1 vlan2"
ifconfig_vlan1="inet x.x.x.x/24 vlan 1 vlandev bge1"
ifconfig_vlan2="inet x.x.x.x/24 vlan 2 vlandev bge1"

Putting these to together for you use might look like this:

cloned_interfaces="lagg0 vlan100 vlan101 vlan102 vlan103"
ifconfig_lagg0="laggproto failover laggport bge0 laggport bge1"
ifconfig_vlan100="inet x.x.x.x/24 vlan 100 vlandev lagg0"
ifconfig_vlan101="inet x.x.x.x/24 vlan 101 vlandev lagg0"
ifconfig_vlan102="inet x.x.x.x/24 vlan 102 vlandev lagg0"
ifconfig_vlan103="inet x.x.x.x/24 vlan 103 vlandev lagg0"


More information about the freebsd-hackers mailing list