Hi Russel,<div><br></div><div>That&#39;s helpful - thanks. The instructions I found were <a href="http://www.cyberciti.biz/tips/linux-bond-or-team-multiple-network-interfaces-nic-into-single-interface.html">http://www.cyberciti.biz/tips/linux-bond-or-team-multiple-network-interfaces-nic-into-single-interface.html</a> and created a virtual interface, and seemed to have very low level control over the upstream links - interacting with MII messages (which enable it to detect when a link is down). One of the modes stripes per packet, and therefore I understand that this would be impossible unless the links being bonded where configured for this (as the Cable and ADSL are from two ISPs this is far from possible). Other modes may be possible, but your suggestion of using iproute and iptables looks like the most likely choice. I see that a TCP stream would need to stay linked to a single channel (except for fail over).</div>

<div><br></div><div>The iptables look good for redirecting all RDP traffic automatically.</div><div><br></div><div>As for spill-over the ultimate setup would:</div><div>* Watch throughput on eth0 (being the ADSL2+ link with heaps of volume in the plan)</div>

<div>    * May also watch the number of TCP sessions - and maybe limit eth0 to 50 TCP sessions or 80% of bandwidth, which ever comes first</div><div>* Most traffic would be HTTP and therefore TCP sessions would be short</div>

<div>* When throughput reaches say 80% of a predefined limit for eth0, redirect new streams to eth1</div><div>* The &quot;spill over&quot; would be a rare occurance, maybe totalling one minute of traffic a day</div><div>
<br>
</div><div>I&#39;m not sure if Linux has such scope for that functionality out-of-the-box, or whether a custom/third-party application or driver would be required.</div><div><br></div><div>Regards,</div><div>Todd<br><br>
<div class="gmail_quote">
On Mon, Oct 26, 2009 at 1:22 PM, Russell Smith <span dir="ltr">&lt;<a href="mailto:mr-russ@pws.com.au">mr-russ@pws.com.au</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div><div></div><div class="h5">Todd Hubers wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; I&#39;m going to be working from home with programmers and want to make<br>
&gt; sure we have fast enough internet. I&#39;ve already got ADSL2+ where I get<br>
&gt; 25GB on peak and 60GB off peak for $50, for the second connection, I<br>
&gt; want to get cable which although has very low volume allowance has<br>
&gt; great speed and latency. I looked up channel bonding and found that<br>
&gt; Linux can achieve this very easily. But I want to know if there are<br>
&gt; more advanced bonding modes / configurations which can achieve the<br>
&gt; following:<br>
&gt;<br>
&gt; 1. I don&#39;t want it bonded in round-robin mode as this would result in<br>
&gt; my cable volume running out first.<br>
&gt; * Always favour the ADSL2+ link<br>
&gt; * Use the cable link as &quot;spill over&quot;<br>
&gt;<br>
&gt; 2. When I need to remote desktop, I want to use the cable link<br>
&gt; exclusively for the session.<br>
&gt;<br>
&gt; Is this possible with out of the box Linux kernel features? Maybe I<br>
&gt; can achieve this easier with router board?<br>
</div></div>I&#39;ve done this with iproute on linux.  I didn&#39;t use channel bonding, as<br>
to make &quot;real&quot; bonding you need the other end to be co-operating.<br>
iproute you can use iptables to tag traffic and then route that traffic<br>
out a particular link.  Which is basically what you appear to want to do.<br>
<br>
I&#39;m not sure I understand the &quot;spill over&quot; idea, as you need to decide<br>
when to spill to the second link.  You can&#39;t do it mid TCP stream.  And<br>
you can&#39;t predict the speed at which the TCP stream will operate all the<br>
time.  The easier route is to do things like you have for (2) remote<br>
desktop.  Specify exactly what you want to go out on the Cable link, and<br>
by default route everything else down the ADSL2+ link.  With that setup,<br>
you can add and remove the types of traffic by altering iptables.  If<br>
one link goes down, you can just update IP tables and it will direct all<br>
traffic down 1 specific link.<br>
<br>
Regards<br>
<br>
Russell<br>
&gt;<br>
&gt; Regards,<br>
&gt; Todd Hubers<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Melbwireless mailing list<br>
&gt; <a href="mailto:Melbwireless@wireless.org.au">Melbwireless@wireless.org.au</a><br>
&gt; <a href="http://wireless.org.au/mailman/listinfo/melbwireless" target="_blank">http://wireless.org.au/mailman/listinfo/melbwireless</a><br>
&gt;<br>
<br>
</blockquote></div><br></div>