This is a discussion on Link aggregation for dumb 10/100 switches within the Linux Networking forums, part of the Linux Forums category; Hi, I'm wondering if Linux has any support for anything like this (or if anyone's ever thought of ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hi,
I'm wondering if Linux has any support for anything like this (or if anyone's ever thought of something like this before!): In my hypothetical situation I've got a gigabit switch, a 10/100 switch which has no link aggregation support and a linux box with a gigabit NIC and 2 100mb nics. I want the 10/100 switch to have a greater uplink bandwidth than 100mbit/sec but it's got no gigabit ports and no aggregation support, so I was thinking that by plugging both my linux box's 100mbit nics into it and plugging its gigabit nic into the gigabit switch it's possible to set up some kind of bridge that makes the switch think that some MAC addresses exist on one port and some on the other. What would happen is that when a frame arrives on the gigabit interface that is destined for the 100mb switch, it is forwarded onto either of the 2 100mbit interfaces, depending on its mac. The linux box would need to remember which mac address is sent to which interface. It would create a pseudo-aggregated link without needing any real intelligence in the 100mb switch. Although the maximum bandwidth to any one mac address would be 100mbit, the other nic would be available for traffic to (half of the) other macs. Broadcast packets would have to be completely ignored by one nic to prevent duplicate broadcasts, but that's about the only real issue I can see with this setup. Is there a way to do this under linux that doesn't involve iptables? Or do I need to get my hands dirty and write it myself :) Thanks in advance, - Chris. |
|
|||
|
Would ebtables allow me to do this?
"Chris Adams" <rocket@extremelan.net> wrote in message news:3faf77d3$0$3789$afc38c87@news.optusnet.com.au ... > Hi, > > I'm wondering if Linux has any support for anything like this (or if > anyone's ever thought of something like this before!): > > In my hypothetical situation I've got a gigabit switch, a 10/100 switch > which has no link aggregation support and a linux box with a gigabit NIC and > 2 100mb nics. I want the 10/100 switch to have a greater uplink bandwidth > than 100mbit/sec but it's got no gigabit ports and no aggregation support, > so I was thinking that by plugging both my linux box's 100mbit nics into it > and plugging its gigabit nic into the gigabit switch it's possible to set up > some kind of bridge that makes the switch think that some MAC addresses > exist on one port and some on the other. > > What would happen is that when a frame arrives on the gigabit interface that > is destined for the 100mb switch, it is forwarded onto either of the 2 > 100mbit interfaces, depending on its mac. The linux box would need to > remember which mac address is sent to which interface. It would create a > pseudo-aggregated link without needing any real intelligence in the 100mb > switch. Although the maximum bandwidth to any one mac address would be > 100mbit, the other nic would be available for traffic to (half of the) other > macs. > > Broadcast packets would have to be completely ignored by one nic to prevent > duplicate broadcasts, but that's about the only real issue I can see with > this setup. > > Is there a way to do this under linux that doesn't involve iptables? Or do I > need to get my hands dirty and write it myself :) > > Thanks in advance, > - Chris. > > |
|
|||
|
On Mon, 10 Nov 2003 22:34:39 +1100, Chris Adams wrote:
> Hi, > > I'm wondering if Linux has any support for anything like this (or if > anyone's ever thought of something like this before!): > Some information deleted > What would happen is that when a frame arrives on the gigabit interface that > is destined for the 100mb switch, it is forwarded onto either of the 2 > 100mbit interfaces, depending on its mac. The linux box would need to > remember which mac address is sent to which interface. It would create a > pseudo-aggregated link without needing any real intelligence in the 100mb > switch. Although the maximum bandwidth to any one mac address would be > 100mbit, the other nic would be available for traffic to (half of the) other > macs. > > Broadcast packets would have to be completely ignored by one nic to prevent > duplicate broadcasts, but that's about the only real issue I can see with > this setup. > > Is there a way to do this under linux that doesn't involve iptables? Or do I > need to get my hands dirty and write it myself :) > > Thanks in advance, > - Chris. Without aggregation being supported in both machines, it won't work. Etherent has a problem with looping when there are active loops in the physical topology, that is where Transparent Spanning Tree Protocol (STP) comes into play. In aggreagation the two links are treated as one so they have one mac filter table with load sharing usually based on simle XoR on the least significant bits of the source and destination Mac addresses. With out aggregation, STP would see the loop (If enabled) and place one of the links in standby. If you weren't running STP the first broadcast frame would start looping and us all available Bandwidth till you shutdown an Interface. I have been using the bridging tools on Linux for a while but havent tried aggreagation of links... but the other device needs to support this as well for the topology you desire. Jay R. Hickman |
|
|||
|
Never tried, but...
take a look at http://www.tldp.org/HOWTO/Adv-Routing-HOWTO/index.html It talks about aggregating two internet links. Actually it involves iproute, not iptables. Jay R. Hickman wrote: > On Mon, 10 Nov 2003 22:34:39 +1100, Chris Adams wrote: > > >>Hi, >> >>I'm wondering if Linux has any support for anything like this (or if >>anyone's ever thought of something like this before!): >> > > > Some information deleted > > >>What would happen is that when a frame arrives on the gigabit interface that >>is destined for the 100mb switch, it is forwarded onto either of the 2 >>100mbit interfaces, depending on its mac. The linux box would need to >>remember which mac address is sent to which interface. It would create a >>pseudo-aggregated link without needing any real intelligence in the 100mb >>switch. Although the maximum bandwidth to any one mac address would be >>100mbit, the other nic would be available for traffic to (half of the) other >>macs. >> >>Broadcast packets would have to be completely ignored by one nic to prevent >>duplicate broadcasts, but that's about the only real issue I can see with >>this setup. >> >>Is there a way to do this under linux that doesn't involve iptables? Or do I >>need to get my hands dirty and write it myself :) >> >>Thanks in advance, >>- Chris. > > > Without aggregation being supported in both machines, it won't work. > Etherent has a problem with looping when there are active loops in the > physical topology, that is where Transparent Spanning Tree Protocol (STP) comes > into play. In aggreagation the two links are treated as one so they have > one mac filter table with load sharing usually based on simle XoR on the > least significant bits of the source and destination Mac addresses. With > out aggregation, STP would see the loop (If enabled) and place one of the > links in standby. If you weren't running STP the first broadcast frame > would start looping and us all available Bandwidth till you shutdown an > Interface. > > I have been using the bridging tools on Linux for a while but havent > tried aggreagation of links... but the other device needs to support this > as well for the topology you desire. > > > Jay R. Hickman |