From: "Barry A Rich" <barich@trisectrix.com>
To: netfilter@vger.kernel.org
Cc: 'Billy Crook' <billycrook@gmail.com>
Subject: RE: UDP stream load balancing across multiple uplinks
Date: Fri, 25 Jul 2008 11:10:19 -0400 [thread overview]
Message-ID: <001901c8ee68$8da4dae0$a8ee90a0$@com> (raw)
In-Reply-To: <a43edf1b0807250755s32268b93mcd3227a7f364203b@mail.gmail.com>
My research came to the same conclusion. Conntrack tracks the UDP stream and puts all related packets to the same interface. The UDP stream shows up in /proc/net/ip_conntrack.
Unfortunately, I cannot test without loading conntrack. The UDP stream producer uses TCP connections to coordinate with the other end. The TCP connections require conntrack.
It appears my only option is to modify conntrack. Any other opinions?
> I'm not an expert in this area, but i believe the per-stream affinity
> to a given interface is because of conntrack. You could test this
> before expending a great deal of energy by not loading conntrack, and
> seeing it it still sticks to one nic.
>
> Sofar as dynamically bypassing a loaded module for some traffic (UDP)
> but not all, good luck. I've never even thought of that before just
> now.
>
> On Fri, Jul 25, 2008 at 08:22, Barry A Rich <barich@trisectrix.com> wrote:
> > Bonding is not required in this case. The system that receives the UDP
> stream does not care if the UDP packets have different source IP addresses.
> NAT would not be required in this case, but the ISP might drop packets if the
> source address does not match the uplink address.
> >
> > Given those assumptions, what's the best way to load balance across the
> uplinks? If netfilter cannot be configured to do this, can I change
> ip_conntrack to ignore UDP packets?
> >
> >>
> >> Why would it need to be tracked? Are you using NAT? NAT necessarily
> >> must assign one public address to the outgoing connection as it
> >> traverses the router. Therefore, unless all three uplinks can be
> >> bonded together to have the same IP address, you can not do that.
> >>
> >> On Thu, Jul 24, 2008 at 20:23, Barry A Rich <barich@trisectrix.com> wrote:
> >> > I've configured a kubuntu 8.04 PC as router with one LAN interface and
> three
> >> > Internet uplinks. A UDP stream is being produced on the LAN. I'd like the
> >> > UPD packets from the stream to be load balanced across the uplinks.
> >> > Currently, the UDP stream is tracked as a single connection and all the
> UPD
> >> > packets are sent to the same uplink. What's the best way to accomplish
> this?
prev parent reply other threads:[~2008-07-25 15:10 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-25 1:23 UDP stream load balancing across multiple uplinks Barry A Rich
[not found] ` <a43edf1b0807241837n7e6dceb4id5a16dd56c6344a9@mail.gmail.com>
2008-07-25 14:19 ` Barry A Rich
2008-07-25 15:09 ` Grant Taylor
2008-07-26 21:36 ` Barry A Rich
2008-07-28 13:33 ` Barry A Rich
2008-08-04 7:26 ` Покотиленко Костик
2008-08-04 13:57 ` Barry A Rich
2008-08-04 14:41 ` Покотиленко Костик
2008-08-04 15:48 ` Barry A Rich
2008-08-04 17:46 ` Покотиленко Костик
[not found] ` <000001c8ee59$6e86fee0$4b94fca0$@com>
[not found] ` <a43edf1b0807250755s32268b93mcd3227a7f364203b@mail.gmail.com>
2008-07-25 15:10 ` Barry A Rich [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='001901c8ee68$8da4dae0$a8ee90a0$@com' \
--to=barich@trisectrix.com \
--cc=billycrook@gmail.com \
--cc=netfilter@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox