ifconfig changing a routing table?

Previous thread: [PATCH 2.6.23-rc4][reRESEND] i2c-i801: SMBus patch for Intel Tolapai by Jason Gaston on Thursday, August 30, 2007 - 8:42 pm. (4 messages)

Next thread: [PATCH 2.6.23-rc4][reRESEND] ahci: RAID mode SATA patch for Intel Tolapai by Jason Gaston on Thursday, August 30, 2007 - 9:27 pm. (4 messages)
From: Dan Stromberg
Date: Thursday, August 30, 2007 - 8:55 pm

If I "ifconfig eth1 down", a rogue route disappears.

If I "ifconfig eth1 up" or "ip link set dev eth1 up", the rogue route 
comes back.

The route in question is for 10.3/16, and it's breaking some of my 
communications that should be handled by my default route.

I'm not accustomed to ifconfig changing the routing table.  Is this 
normal?

The kernel in question is 2.6.9-42.0.8.plus.c4smp.  It's a CentOSplus 
kernel.

The relevant syscalls in an strace of the above ip link command (which a 
very short strace, BTW) appear to be:

9992  socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
9992  ioctl(3, SIOCGIFFLAGS, {ifr_name="eth1", ifr_flags=IFF_BROADCAST|
IFF_MULTICAST}) = 0
9992  ioctl(3, SIOCSIFFLAGS, 0x7fbffff510) = 0
9992  close(3)                          = 0

The strace of ifconfig eth1 up is pretty similar, albeit with a slightly 
different 3rd argument to the SIOCSIFFLAGS.

I tracked the call chain to dev_change_flags(), but then things seemed to 
start branching out pretty fast, so I thought it might be more productive 
to ask around before continuing.

Is anyone on the list familiar with ifconfig up and/or ip link up 
changing a routing table?  How does the kernel decide what route to add 
in such a circumstance?

Thanks!


-

From: David Miller
Date: Thursday, August 30, 2007 - 9:41 pm

From: Dan Stromberg <dstromberglists@gmail.com>

Every time you enable an IP address on an interface, the
kernel creates a route to that subnet which gets likewise
deleted when you remove that IP address.

This is why you can ping hosts on your local subnet even
before you add any explicit routes.

It's been like this since ancient times and it's correct.
-

From: Ross Vandegrift
Date: Saturday, September 1, 2007 - 9:33 am

By the parameteres you supplied for the interface configuration.

So, if you're getting a connected route for 10.3.0.0/16 out of dev
eth0, it's because you assigned some IP in that subnet to that device,
with a netmask of 255.255.0.0

Check that your netmask is correct.


-- 
Ross Vandegrift
ross@kallisti.us

"The good Christian should beware of mathematicians, and all those who
make empty prophecies. The danger already exists that the mathematicians
have made a covenant with the devil to darken the spirit and to confine
man in the bonds of Hell."
	--St. Augustine, De Genesi ad Litteram, Book II, xviii, 37
-

Previous thread: [PATCH 2.6.23-rc4][reRESEND] i2c-i801: SMBus patch for Intel Tolapai by Jason Gaston on Thursday, August 30, 2007 - 8:42 pm. (4 messages)

Next thread: [PATCH 2.6.23-rc4][reRESEND] ahci: RAID mode SATA patch for Intel Tolapai by Jason Gaston on Thursday, August 30, 2007 - 9:27 pm. (4 messages)