LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   strange ethernet issue - route -n doesn't correspond to actual interface availability (http://www.linuxquestions.org/questions/slackware-14/strange-ethernet-issue-route-n-doesnt-correspond-to-actual-interface-availability-523383/)

echowarpt 01-27-2007 09:14 PM

strange ethernet issue - route -n doesn't correspond to actual interface availability
 
hey guys, I just moved over to slackware this week. gotta say I'm loving it :).
Having a strange problem though... I have two built-in ethernet interfaces and both of them show up in ifconfig so I'm assuming the kernel can talk to them correctly, however one of them refuses to talk to any address but its own (and conditionally the LAN, see below).

Crux of the problem:
eth0 will not communicate outside (pinging localhost works fine) -- pinging LAN sort of works -- see below.
eth1 works correctly

I thought that perhaps it was a route problem, but the really odd thing is that the route table seems to be saying the the interface that cannot communicate outside should be the only interface than can communicate.

here is my routing table:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.0.1 0.0.0.0 UG 1 0 0 eth0

as you can see according to this eth0 (the one that doesn't work) should be the only one that can communicate outside my network, however what I'm getting is opposite.

more strangeness -- eth0 will not ping my LAN until I run `ifconfig eth0 up/down`:
before up/down:
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.176 icmp_seq=2 Destination Host Unreachable

Not sure how if it matters, but after I run up/down and can ping my lan the routing table no longer has that last entry (destination=0.0.0.0...), however the rest is the same.

Heres my rc.inet1.conf:
# Config information for eth0:
IPADDR[0]="192.168.0.176"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

# Config information for eth1:
IPADDR[1]="192.168.0.166"
NETMASK[1]="255.255.255.0"
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""

# Default gateway IP address:
GATEWAY="192.168.0.1"

Here's the lspci output for the two cards (not sure how to map this output to eth0/1 ?)
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 15)
00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)

Could the fact that its a gigabit controller have anything to do with it? guessing not, but...

Using: Slackware 11
uname -a: Linux slack 2.6.19-beyond2 #1 SMP Fri Jan 26 14:21:34 PST 2007 i686 athlon-4 i386 GNU/Linux
note: this is my re-compiled kernel:
on the base slackware 2.4 and 2.6 kernels though:
2.4: eth0 is only one that works, kernel doesn't recognize eth1 (makes me think its the marvel gigabit)
2.6: eth0 is only one that works, eth1 is recognized, but display same behaviour eth0 does on my recompiled kernel...


And here's my ifconfig for the two interfaces:

eth0 Link encap:Ethernet HWaddr 00:11:09:8A:5A:6F
inet addr:192.168.0.176 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:16

eth1 Link encap:Ethernet HWaddr 00:11:09:ED:7B:EE
inet addr:192.168.0.166 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::211:9ff:feed:7bee/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:945 errors:0 dropped:0 overruns:0 frame:0
TX packets:101 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:298868 (291.8 KiB) TX bytes:16862 (16.4 KiB)
Interrupt:20 Base address:0xa000


I'm either missing something stupid, or there's something weird going on internally, any ideas?

thanks!
jon

MensaWater 01-28-2007 09:24 AM

The entry that begins 0.0.0.0 is your "default" route. Run route without the -n and you'll see it labled as such. You should always have a default route.

If both NICs are in the same network range then the default gateway should be fine for both. However if they are in different network ranges you need to use the "route add" to add a route between the one using the default gateway and the one that is not using it.


All times are GMT -5. The time now is 01:38 AM.