John P. Eisenmenger wrote:

On Thu, 14 Nov 2002, Lars Braeuer wrote:


>I heared from someone else (the programer of heartbeat), that this
>doesn't happen on his suse 7.3/8.0 boxes.


I for one don't believe it.

An interface with no associated route in the routing table is useless,
except under special circumstances.  A routing table entry is necessary
for the system to select the proper interface (or next hop) for
transmission.  Ifconfig adds the routing entry on all UNIX platforms with
which I've dealt (SunOS, Solaris, AIX, HP/UX, BSD, and Linux).  If you
really don't want the route to be added, then you need to remove the route
after performing the ifconfig.

I also think it's normal, but I was a little confused by the answer of the heartbeat programmer, stating that the behaviour of my system is wrong, but after talking to several people I found out that it's just the way it should be.

Now if the assigned IP/netmask combines into a network that is already in
the routing table, then the route might not be added. Perhaps this is the
scenario being seen by the heartbeat developer.
well, this is the scenario it should be, but it isn't. when adding an interface and a route is already present, another route is added. you can only see differences when looking at ip route, it shows: "proto kernel src link" on the new route.
looking at the kernel routing table shows no differences.

>is anyone else of you experiencing the same.
>
>does anyone happen to know if this a kernel related problem?


Well, I kind of object to this being called a problem.  It is how things
have worked for a long time in many implementations.  A route table entry
is necessary for the system to know where to send packets destined for (in
your example) the 10.0.0.x network.
I agree, but somehow it should be possible to turn off that a route is added.

Perhaps if I understood what exactly you were trying to do...

* add a route on system start
* no ip is assigned on boot
* when heartbeat is actived it assigns an ip address
and looks for the right interface by checking the
present routes in the routing table
* then it adds the ip address on the interface found
* this also adds "exactly" the same route as already present
* pinging an address in that net is impossible, as long as the
two routes are present.
* removing one of the helps

I finally changed the sourcecode of the script that finds the interface, so that it's able to also find interfaces using routes with different metrics.

thanks for your answer.


lars

Reply via email to