[OpenAFS] Re: Ubik trouble
Jeffrey Hutzelman
jhutz@cmu.edu
Mon, 13 Jan 2014 20:01:22 -0500
On Tue, 2014-01-14 at 00:55 +0100, Harald Barth wrote:
> > The sad truth is that in order to properly support multi-homed hosts, Rx
> > needs to be fixed so that it identifies all available interfaces, binds
> > a separate socket for each interface, and keeps track of to which
> > interface an incoming connection belongs, so that it can send responses
> > out the same interface.
>
> I don't know if it has to be sent out that interface (normally it
> probaby will) but the responses need to have that source adress if I
> understand that right.
Yup. The usual approach is to bind a socket per interface address, and
send using the socket with the address you want to use. You're right
that the packet might not actually go out that interface, depending on
how the kernel is doing route selection. Classically, only the
destination address was considered when selecting a route, but these
days there are many more options available.
> Currently I have no multihomed Ubik servers (besides from the one that
> should not have been, see above) and very few multihomed file servers.
> So I can not say if the "rx breaks when routing is asymetric"
> behaviour has given us any trouble for fileservers. At least not as
> notable as this Ubik problem where I have shot myself in the foot real
> good ;-)
It's not as noticeable for fileservers, because in the name of
supporting multihoming, fileservers and cache managers flip a switch
that makes Rx ignore the source address on incoming packets in certain
cases (and depending on which version you're running).
-- Jeff