Yeah !

Using your third suggested configuration on my old cisco 2950, I now
have a very responsive system...
Thank you for your fantastic work on trunk and these information (the
need for a switch configuration (etherchannel, HP trunking, etc.)
should be somewhere in manpages, in my mind...)

Best regards,

Bruno.

On 2/1/06, Reyk Floeter <[EMAIL PROTECTED]> wrote:
> hi,
>
> On Wed, Feb 01, 2006 at 06:42:47PM +0400, Bruno Carnazzi wrote:
> > I use OpenBSD/i386 3.8 with GENERIC.MP.
>
> trunk(4) support in OpenBSD 3.8 was quite new and there were some
> bugfixes and improvements during the last development cycle. these
> fixes, like trunkproto failover and multicast support for things like
> pfsync or carp, will be available in OpenBSD 3.9.
>
> > I use a trunk interface based on 2 physical devices as you can see here :
> >
> -//-
> > trunk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         lladdr 00:02:a5:29:15:f0
> >         trunk: trunkproto roundrobin
> >                 trunkport xl0
> >                 trunkport fxp0 master
> >         groups: trunk egress
> >         media: Ethernet autoselect
> >         status: active
> >         inet 172.20.3.100 netmask 0xfffffe00 broadcast 172.20.3.255
> >
> -//-
> > fxp0 at pci0 dev 2 function 0 "Intel 82557" rev 0x08, i82559: apic 8
> > int 11 (irq 11), address 00:02:a5:29:15:f0
> > inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
> -//-
> > xl0 at pci0 dev 5 function 0 "3Com 3c905C 100Base-TX" rev 0x78: apic 8
> > int 5 (irq 5)xl0: reset didn't complete
> > , address 00:0a:5e:5a:c9:a4
> > exphy0 at xl0 phy 24: 3Com internal media interface
> > xl0: reset didn't complete
>
> there's a problem with your 3com nic which is not related to trunk,
> you should replace the nic ie. with a second fxp(4).
>
> > With this configuration, I can see small network pauses  (1s) when
> > SSHing or downloading something through the local running squid. I
> > figure the trunk works this way : packet are sent through the member
> > interfaces with the trunk IP address and with the master NIC MAC@ and
> > packet are received on all trunk members thanks to the promiscuous
> > mode. As my NIC are plugged on the same L2 switch (for testing
> > purpose, maybe I'll use 2 different switch on a production
> > configuration), I suggest it bothers the switch with the same MAC@ on
> > 2 ports. All error counters are null on this switch. I didn't
> > configure something like etherchannel or 802.3ad on these interface.
> >
>
> trunk(4) operates on layer 2, it is (not yet) related to any IP stuff.
> it uses one MAC address borrowed from the master interface (currently
> the first trunkport you add). in roundrobin mode, it distributes the
> outgoing packets through all attached and active interfaces and
> receives packets for this MAC from any active port. as you noticed,
> your switch will get confused if you don't configure a trunk group
> (cizzco calls it etherchannel or port group; hp procurve calls it
> trunk).
>
> OpenBSD 3.8 only supported trunk(4) in roundrobin mode, but i added a
> failover mode in 3.8-current for the next release. failover mode only
> uses the first active interface (primarily the master interface) for
> packet distribution and does a failover to the next active interface
> if the port's state link goes down. this works with "stupid" switches
> or even hubs. the switch will probably take some time to learn the mac
> address on a new port but only once in case of a failover.
>
> IEEE 802.3ad is not supported at the moment, it just works fine in
> simple roundrobin or in failover mode without any dynamic link
> aggregation protocols (i don't really see the point for 802.3ad at the
> moment, it adds no benefit just some dynamic "plug and play" foo).
>
> > Does trunk operate this way ? Is there a way to avoid this phenomenon ?
> >
>
> - try again with enabling a trunk group on your switch
> - try again with 3.9-beta
> - try again in failover mode
>
> my development is focussed on hp procurve switches because their trunk
> implementation works pretty well and i can probably play with
> 802.3ad/LACP later (and they use openssh in their switches ;-)).
>
> examples:
>
> (1) openbsd trunkproto roundrobin <-> hp trunk
>
> HPswitch(config)# no interface c4-c5 lacp
> HPswitch(config)# interface c4-c5 trk1 trunk
>
> openbsd# ifconfig trunk0
> trunk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         lladdr 00:00:5a:9f:31:d6
>         trunk: trunkproto roundrobin
>                 trunkport sk1
>                 trunkport sk0 master
>         groups: trunk
>         media: Ethernet autoselect
>         status: active
>         inet6 fe80::200:5aff:fe9f:31d6%trunk0 prefixlen 64 scopeid 0x9
>         inet 172.23.5.70 netmask 0xffffff00 broadcast 172.23.5.255
>
> the cizzco world is a bit more complex, ie.:
>
> (2) openbsd trunkproto failover <-> plain cizzco 3750 switch
>
> cizzco's 'trunk' is not related to port trunking, it's the description
> for interfaces with multiple tagged and untagged vlans... don't get
> confused by these terms! cizzco's trunk mode is _not_ required for
> openbsd trunk(4) operation, but it's required for using tagged and
> untagged 802.1q vlan(4)s on the switch ports.
>
> cizzco3750#
> interface GigabitEthernet2/0/19
>  description openbsdtrunkmaster
>  switchport trunk encapsulation dot1q
>  switchport trunk native vlan 300
>  switchport trunk allowed vlan 300-699
>  switchport mode trunk
>  spanning-tree portfast trunk
> !
> interface GigabitEthernet2/0/20
>  description openbsdtrunkfailover
>  switchport trunk encapsulation dot1q
>  switchport trunk native vlan 300
>  switchport trunk allowed vlan 300-699
>  switchport mode trunk
>  spanning-tree portfast trunk
> !
>
> openbsd# ifconfig trunk0
> trunk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         lladdr 00:00:5a:9f:31:d6
>         trunk: trunkproto failover
>                 trunkport sk1
>                 trunkport sk0 master
>         groups: trunk
>         media: Ethernet autoselect
>         status: active
>         inet6 fe80::200:5aff:fe9f:31d6%trunk0 prefixlen 64 scopeid 0x9
>         inet 172.23.5.70 netmask 0xffffff00 broadcast 172.23.5.255
> openbsd# ifconfig vlan301
> vlan301: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         lladdr 00:00:5a:9f:31:d6
>         vlan: 300 parent interface: trunk0
>         groups: vlan
>         inet6 fe80::200:5aff:fe9f:31d6%vlan300 prefixlen 64 scopeid 0xc
>
> (3) openbsd trunkproto roundrobin <-> cizzco 3512xl (old IOS 12.0)
>
> cizzco3512#
> interface FastEthernet0/1
>  port group 1
>  switchport access vlan 2
>  spanning-tree portfast
> !
> interface FastEthernet0/2
>  port group 1
>  switchport access vlan 2
>  spanning-tree portfast
> !
>
> openbsd# ifconfig trunk0
> trunk0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
>         lladdr 00:03:1d:01:a3:4e
>         trunk: trunkproto roundrobin
>                 trunkport fxp1 active
>                 trunkport fxp0 master,active
>         groups: trunk
>         media: Ethernet autoselect
>         status: active
>         inet 172.23.6.252 netmask 0xffffff00 broadcast 172.23.6.255
>         inet6 fe80::203:1dff:fe01:a34e%trunk0 prefixlen 64 scopeid 0x9
>
> easy stuff!
>
> i didn't test any other vendors. switch donations are welcome! ;)
>
> i'll eventually add some new trunkprotos after the lock (like MAC
> SA/DA, IP SA/DA, IP port) for load balancing issues. and probably
> 802.3ad/LACP in the far future... nevertheless, trunk(4) support in
> OpenBSD 3.9 will work very well especially as a layer 2 addition for
> failover scenarios with CARP+pfsync.
>
> reyk
>
> --
> /* .vantronix|secure systems - (research & development)
>  * reyk floeter - friendly known free software engineer
>  * [EMAIL PROTECTED] - http://team.vantronix.net/reyk/
>  */

Reply via email to