ifconfig changing a routing table?

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
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!


-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
ifconfig changing a routing table?, Dan Stromberg, (Thu Aug 30, 8:55 pm)
Re: ifconfig changing a routing table?, David Miller, (Thu Aug 30, 9:41 pm)
Re: ifconfig changing a routing table?, Ross Vandegrift, (Sat Sep 1, 9:33 am)