Connection sharing

Juri Haberland haberland@altus.de
Tue, 02 Oct 2001 14:12:55 +0200


Brad Chapman wrote:
> 
> Mr. Tang,
> 
> --- Johnny Tang <johnnytang24@hotmail.com> wrote:
> > Hi
> >
> > I was wondering if there exists a module/app which passes connection
> > statuses from one machine to another.  What I was thinking was something
> > like:  primary router is keeping track of the connections and running vrrp
> > (rfc2338), then when it dies and the backup router picks up as the gateway,
> > it will be able to keep the current connections.
> >
> > If there isn't already a way to do this, perhaps someone can suggest what I
> > should read to learn more about the connection tracking?  Or about how this
> > should be implemented?  Perhaps as part of vrrp?  Seperate application?
> 
>         No. Now that ctnetlink is available, thanks to Jay Schulist, implementing
> it requires these steps:
> 
> 1. Patch the primary and secondary router kernels with ctnetlink.
> 2. Read the ctnetlink display app written by Jay Schulist.
> 3. Hack together a network daemon which can be run simultaneously on both hosts.

FWIW, the guys from the LVS project have something similar done for
their ipvs tables, but they seem to have it done mostly in kernel space.

> 4. Set up the network daemon on the secondary to read keepalive messages sent
>    over a TCP connection by the primary router's daemon.
> 5. Every 30 sec or so, send a complete, updated map of the current connection list
>    to the secondary, who stores it on disk, memory, etc...
> 6. When the primary stops responding, use ctnetlink to install the new entries
>    into the kernel conntrack code.
> 
>         It's not simple, but it can be done.

Cheers,
Juri

-- 
  If each of us have one object, and we exchange them,
     then each of us still has one object.
  If each of us have one idea,   and we exchange them,
     then each of us now has two ideas.