From: Lars Braeuer (lbraeuer_at_mpex.net)
Date: Wed 20 Nov 2002 - 18:12:13 GMT
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