Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jan 2003 17:22:13 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        John David Duncan <jdd@greatschools.net>
Cc:        freebsd-current@freebsd.org, freebsd-net@freebsd.org
Subject:   Re: Direct Server Return and FreeBSD 5
Message-ID:  <3E35DB45.4B429192@mindspring.com>
References:  <Pine.BSF.4.52.0301271651080.6700@great4.greatschools.net>

next in thread | previous in thread | raw e-mail | index | archive | help
John David Duncan wrote:
> There's a load balancing configuration known as direct server return
> (DSR), in which packets pass from the client through the load balancer to
> the server, but then the replies from the server go directly to the client
> (bypassing the load balancer).  The way this works is that the load
> balancer sends the server an IP packet with the virtual IP address as its
> destination addr, inside an ethernet frame whose destination is the real
> MAC addr of the server. The server replies with a normal packet using the
> VIP as the source addr.
> 
> The usual way to configure a BSD box to work this way is to bring up the
> VIP as an alias on the loopback address, like this:
>    ifconfig lo0 add 1.2.3.4 netmask 0xffffff00
> 
> As far as I can tell from my testing, this trick just doesn't work on my
> box running -CURRENT.  In tcpdump I see packets coming in but none
> going out.
> 
> Does anybody know why, or what I would have to do to change the behavior?

Rather than actually fixing the routing code, FreeBSD did a
hack to save the inbound route for outbound responses, do the
response goes out on the same interface the request came in on.

It does not check for equivalency, when it does this.

See the discussion in the -current list archives, a month or so
ago.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E35DB45.4B429192>