Damien Fleuriot
2011-Feb-04 12:14 UTC
link aggregation - bundling 2 lagg interfaces together
Hello list, I have a firewall with 2x Intel pro dual port cards. On Intel A , port 1 goes to switch 1, port 2 goes to switch 2 On Intel B , port 1 goes to switch 1, port 2 goes to switch 2 I have created the following 2 lagg devices using LACP: lagg0 = A1 + B1 lagg1 = A2 + B2 This works fine. Now, what I had in mind was creating a lagg2 device using lagg0 and lagg1 with failover. That would provide redundancy in case of a switch failure. ifconfig won't let me though: # ifconfig lagg2 laggproto failover laggport lagg0 laggport lagg1 ifconfig: SIOCSLAGGPORT: Invalid argument I suppose it's not possible to aggregate lagg interfaces ? That would shatter my dreams :(
If you want failover using lagg then your best bet is to get lagg between two ports on different switches. If you have a pair of switches which will present as a single device then you can use LACP to do this, else use simple failover. I do this for all our servers and it works very nicely. In your setup I am not sure why you are originally lagging the pairs of interfaces to the same switch. Is that to try and increase capacity ? If so then I have never found it to work - all the traffic goes over one interface for me. -pete.
Bernhard Schmidt
2011-Feb-04 12:45 UTC
link aggregation - bundling 2 lagg interfaces together
On Friday 04 February 2011 13:13:52 Damien Fleuriot wrote:> Hello list, > > > > I have a firewall with 2x Intel pro dual port cards. > > On Intel A , port 1 goes to switch 1, port 2 goes to switch 2 > On Intel B , port 1 goes to switch 1, port 2 goes to switch 2 > > > I have created the following 2 lagg devices using LACP: > > lagg0 = A1 + B1 > lagg1 = A2 + B2 > > This works fine. > > > Now, what I had in mind was creating a lagg2 device using lagg0 and > lagg1 with failover. > > That would provide redundancy in case of a switch failure. > > ifconfig won't let me though: > > # ifconfig lagg2 laggproto failover laggport lagg0 laggport lagg1 > ifconfig: SIOCSLAGGPORT: Invalid argument > > > > I suppose it's not possible to aggregate lagg interfaces ? > > That would shatter my dreams :(I have no clue if that is at all possible, or makes any sense at all, but can't you just add all 4 ports one lagg interface? -- Bernhard
On Fri, Feb 4, 2011 at 4:13 AM, Damien Fleuriot <ml@my.gd> wrote:> I have a firewall with 2x Intel pro dual port cards. > > On Intel A , port 1 goes to switch 1, port 2 goes to switch 2 > On Intel B , port 1 goes to switch 1, port 2 goes to switch 2 > > I have created the following 2 lagg devices using LACP: > > lagg0 = A1 + B1 > lagg1 = A2 + B2 > > This works fine. > > Now, what I had in mind was creating a lagg2 device using lagg0 and > lagg1 with failover. > > That would provide redundancy in case of a switch failure.Couple different options: - create a single lagg0 device using all port NIC ports - create your lagg0 using A1 + B2, and your lagg1 using A2+B1 Both of those will give you fail-over support for losing a single NIC port, an entire NIC, or an entire switch. Of course, if your switched aren't stacked to support LACP across them, then you will be limited to a single links bandwidth. But you will be extremely safe. :) -- Freddie Cash fjwcash@gmail.com
In the last episode (Feb 04), Damien Fleuriot said:> I have a firewall with 2x Intel pro dual port cards. > > On Intel A , port 1 goes to switch 1, port 2 goes to switch 2 > On Intel B , port 1 goes to switch 1, port 2 goes to switch 2 > > I have created the following 2 lagg devices using LACP: > > lagg0 = A1 + B1 > lagg1 = A2 + B2 > > This works fine. > > Now, what I had in mind was creating a lagg2 device using lagg0 and > lagg1 with failover. > > That would provide redundancy in case of a switch failure. > > ifconfig won't let me though: > > # ifconfig lagg2 laggproto failover laggport lagg0 laggport lagg1 > ifconfig: SIOCSLAGGPORT: Invalid argument > > I suppose it's not possible to aggregate lagg interfaces ?Apparently not: http://fxr.watson.org/fxr/source/net/if_lagg.c#L516 It looks like there is preliminary code under #ifdef LAGG_PORT_STACKING, but it claims to be untested. -- Dan Nelson dnelson@allantgroup.com