LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: icmp-redirects, hung connection, tcpdump

To: Joseph Mack <mack@xxxxxxxxxxx>
Subject: Re: icmp-redirects, hung connection, tcpdump
Cc: <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>, Joseph Mack <mack.joseph@xxxxxxx>, "Justin M. Mahoney" <justin@xxxxxxxxxxxxxxxxxxxx>, <michael_e_brown@xxxxxxxx>
From: Julian Anastasov <ja@xxxxxx>
Date: Mon, 15 Jan 2001 09:20:20 +0000 (GMT)
        Hello,

On Sun, 14 Jan 2001, Joseph Mack wrote:

> On Sun, 14 Jan 2001, Julian Anastasov wrote:
>
> > > Is this the problem being addressed here? i.e.
> > > so that people can have their real-servers and client on the same network.
>
> hmm, I tested this way back in the stone age of LVS and found that turning
> off redirects didn't work (I put it in the HOWTO even). Of course I didn't
> record exactly what I did. Maybe I only turned off redirects for each
> device, rather than running the separate instructions for all, default and
> eth0.
>
> What's the difference between all, default and eth0?

http://marc.theaimsgroup.com/?l=linux-virtual-server&m=97932487110806&w=2

When the kernel needs to check for one feature (send_redirects for
example) it uses such calls: if (IN_DEV_TX_REDIRECTS(in_dev)) ...
These macros are defined in /usr/src/linux/include/linux/inetdevice.h
The macro returns a value using expression from all/<var> and <dev>/<var>
So, these macros check for example for:

all/send_redirects || eth0/send_redirects
or
all/hidden && eth0/hidden

when you create eth0 for first time using ifconfig eth0 ... up
default/send_redirects is copied to eth0/send_redirects from the
kernel, internally. I.e. default/ contains the initial values
the device inherits when it is created. This is the safest way a
device to appear with correct conf/<dev>/ values.

When we put value in all/<var> you can assume that we set the <var>
for all devices in this way:

                all/<var>       the macro returns:
for &&          0               0
for &&          1               the value from <dev>/<var>
for ||          0               the value from <dev>/<var>
for ||          1               1


This scheme allows the different devices to have different values
for their vars. For example, if we set 0 to all/send_redirects, the 3th
line applies to the values, i.e. the result from the macro is the real
value in <dev>/send_redirects. If we set 1 to all/send_redirects
according to the 4th line, the macro always returns 1 regardless
of the <dev>/send_redirects

> Joe
>
> --
> Joseph Mack mack@xxxxxxxxxxx


Regards

--
Julian Anastasov <ja@xxxxxx>



<Prev in Thread] Current Thread [Next in Thread>