Possible kernel bug with routes

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

I have a problem with a duplicate route entry, when using a pre-installed route
and automatic take-over by the "heartbeat" daemon, which adds an address and
the kernel adds an route automatically.

PLEASE!!! Can anybody try this yourself and give me an explanation!
I think this a kernel bug...


> ip addr
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1514 qdisc pfifo_fast qlen 1000
    inet 10.10.20.100/32 scope global eth0
> ip route
127.0.0.0 dev lo  scope link
10.10.20.0/24 dev eth0  scope link
default via 10.10.20.1 dev eth0

-- Now I add a route for my ha net:

> ip route add 10.100.0.0/24 dev eth0 proto kernel scope link
> ip route
127.0.0.0 dev lo  scope link
10.10.20.0/24 dev eth0  scope link
10.100.0.0/24 dev eth0  proto kernel  scope link
default via 10.10.20.1 dev eth0

-- The 'heartbeat' will add an address on switch-over:
> ip addr add 10.100.0.1/24 brd 10.100.0.255 dev eth0
ip addr
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1514 qdisc pfifo_fast qlen 1000
    inet 10.10.20.100/32 scope global eth0
    inet 10.100.0.1/24 brd 10.100.0.255 scope global eth0
> ip route
127.0.0.0 dev lo  scope link
10.10.20.0/24 dev eth0  scope link
10.100.0.0/24 dev eth0  proto kernel  scope link
10.100.0.0/24 dev eth0  proto kernel  scope link  src 10.100.0.1
default via 10.10.20.1 dev eth0

My question is:
 Why did the kernel add a duplicate routing entry, shouldn't it notice the
 existance and avoid this??
 Is this a bug of the kernel?


| "Radoslaw Horodniczy" answered:
|
| This is not a bug, as you see there are 2 different routes


Ok, then try this:

> ip route del 10.100.0.0/24 dev eth0  proto kernel  scope link
> ip route
127.0.0.0 dev lo  scope link
10.10.20.0/24 dev eth0  scope link
10.100.0.0/24 dev eth0  proto kernel  scope link  src 10.100.0.1
default via 10.10.20.1 dev eth0

Now I removed my manually set route. It succeeds.

If I then try to readd it, it fails. But why?

> ip route add 10.100.0.0/24 dev eth0 proto kernel scope link
RTNETLINK answers: File exists

I thought they are different!?!
Is here any difference I did not see?
If they are not different, why does the kernel not recognize it
(see above) and avoid the duplicate entry?

--------

Another question:

 Why can't I set a route on an interface that is down?
 I can set an address, so why not a route?
 I there a reason for that?
 As far as I understand routing should be handled independed from
 the addresses...

Example:
> ip link set down dev eth0
> ip addr add 10.100.0.1/24 dev eth0
> ip route add 10.100.0.0/24 dev eth0  proto kernel  scope link
RTNETLINK answers: Network is down

--------

PS: I'm running Linux 2.6.15.1
PPS: Why is ANYBODY still ignoring this e-mail for over 3 weeks?????

Regards
 Sven Anders

-- 
 Sven Anders <anders@xxxxxxxxxx>                 () Ascii Ribbon Campaign
                                                 /\ Support plain text e-mail
 ANDURAS service solutions AG
 Innstraße 71 - 94036 Passau - Germany
 Web: www.anduras.de - Tel: +49 (0)851-4 90 50-0 - Fax: +49 (0)851-4 90 50-55
begin:vcard
fn:Sven Anders
n:Anders;Sven
org:ANDURAS AG;Research and Development
adr;quoted-printable:;;Innstra=C3=9Fe 71;Passau;Bavaria;94036;Germany
email;internet:anders@xxxxxxxxxx
title:Dipl. Inf.
tel;work:++49 (0)851 / 490 50 - 0
tel;fax:+49 (0)851 / 4 90 50 - 55
x-mozilla-html:FALSE
url:http://www.anduras.de
version:2.1
end:vcard

_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux