Subject: Mysteriously broken tcp: =?iso-8859-1?Q?=22Can't?= assign requested =?iso-8859-1?Q?address=22?=
To: None <tech-net@netbsd.org>
From: James Thomas <jim@andalustech.com>
List: tech-net
Date: 09/08/2001 03:03:21
I'm attempting to set up a nat box with netbsd 1.5.1.  Before I replace
the current netgear router, I want to sup the kernel source and install 
various packages.  Only one nic (sip0) is currently in use, and it's getting 
its ip via dhcp from the router. 

This box can ping outside the lan: 

koukotsu: {3} ping soulcalibur.com
PING soulcalibur.com (216.22.201.45): 56 data bytes
64 bytes from 216.22.201.45: icmp_seq=0 ttl=114 time=42.025 ms
64 bytes from 216.22.201.45: icmp_seq=1 ttl=114 time=28.092 ms
^C
 ----soulcalibur.com PING Statistics----
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 28.092/35.059/42.025/9.852 ms 

It can traceroute just as easily:
koukotsu: {6} traceroute soulcalibur.com
traceroute: Warning: Multiple interfaces found; using 192.168.0.2 @ sip0
traceroute to soulcalibur.com (216.22.201.45), 30 hops max, 40 byte packets
1  routar (192.168.0.1)  2.006 ms  1.789 ms  1.652 ms
2  10.28.192.17 (10.28.192.17)  381.512 ms  244.396 ms  160.051 ms
3  ffaxvamf-7507-pos600.cox.rr.com (24.28.223.18)  104.935 ms  83.756 ms  
212.531 ms
 -etc- 


It can telnet and ssh inside the lan: 

koukotsu: {7} ssh 192.168.0.101
drake@192.168.0.101's password:
Last login: Fri Sep  7 20:32:22 2001 from 24-28-196-224.c
 -etc- 

But it can't telnet, ssh, sup, or do anything with TCP outside the lan: 

koukotsu: {8} telnet non-euclidean.org
Trying 198.144.201.82...
telnet: Unable to connect to remote host: Can't assign requested address
koukotsu: {9} sup /etc/sup.netbsd.org
SUP 8.26 (4.3 BSD) for file /etc/sup.netbsd.org at Jan 10 16:32:36
SUP: Can't connect to server for supfilesrv: Can't assign requested address
SUP: Will retry in 112 seconds
^C
koukotsu: {10} 


ifconfig -a says this:
sip0: 
flags=fbff<UP,BROADCAST,DEBUG,LOOPBACK,POINTOPOINT,NOTRAILERS,RUNNING,NOARP, 
PROMISC,ALLMULTI,SIMPLEX,LINK0,LINK1,LINK2,MULTICAST> mtu 1500
       address: 0a:66:97:fb:98:a8
       media: Ethernet autoselect (100baseTX full-duplex)
       status: active
       inet 192.168.0.2 -> 192.168.0.255 netmask 0xffffff00 broadcast 
192.168.0.255
       inet6 fe80::866:97ff:fefb:98a8%sip0 -> :: prefixlen 64 scopeid 0x1
       inet6 ::1 -> ::1 prefixlen 128
sip1: 
flags=fbff<UP,BROADCAST,DEBUG,LOOPBACK,POINTOPOINT,NOTRAILERS,RUNNING,NOARP, 
PROMISC,ALLMULTI,SIMPLEX,LINK0,LINK1,LINK2,MULTICAST> mtu 1500
       address: 0b:66:dd:1a:98:a8
       media: Ethernet autoselect
       status: no carrier
       inet 10.0.0.1 -> 10.0.0.255 netmask 0xffffff00 broadcast 10.0.0.255
       inet6 fe80::1%sip1 -> :: prefixlen 64 scopeid 0x2
       inet6 ::1 -> ::1 prefixlen 128
lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 33228
       inet 127.0.0.1 netmask 0xff000000
       inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
       inet6 ::1 prefixlen 128
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
ppp1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
sl1: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
strip0: flags=0<> mtu 1100
strip1: flags=0<> mtu 1100
tun0: flags=10<POINTOPOINT> mtu 1500
tun1: flags=10<POINTOPOINT> mtu 1500
gre0: flags=8010<POINTOPOINT,MULTICAST> mtu 1450
gre1: flags=8010<POINTOPOINT,MULTICAST> mtu 1450
ipip0: flags=8010<POINTOPOINT,MULTICAST>
ipip1: flags=8010<POINTOPOINT,MULTICAST>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
gif1: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
gif2: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
gif3: flags=8010<POINTOPOINT,MULTICAST> mtu 1280 

dmesg says this:
sip0 at pci0 dev 14 function 0: NatSemi DP83815 10/100 Ethernet
sip0: interrupting at irq 10
sip0: Ethernet address 0a:66:97:fb:98:a8
ukphy0 at sip0 phy 0: Generic IEEE 802.3u media interface
sip1 at pci0 dev 15 function 0: NatSemi DP83815 10/100 Ethernet
sip1: interrupting at irq 11
sip1: Ethernet address 0b:66:dd:1a:98:a8
ukphy1 at sip1 phy 0: Generic IEEE 802.3u media interface
sip0: excessive deferral
sip0: excessive collisions
sip0: transmit FIFO underrun; increasing Tx drain threshold to 544 bytes
sip0: excessive deferral
sip0: excessive collisions
sip0: transmit FIFO underrun; increasing Tx drain threshold to 576 bytes
sip0: excessive deferral
sip0: excessive collisions
sip0: transmit FIFO underrun; increasing Tx drain threshold to 608 bytes 

The last three dmesg lines repeat themselves quite a bit, with the "Tx drain 
threshold" increasing each time. 

Here's what tcpdump shows while attempting to telnet to non-euclidean.org:
koukotsu: {3} tcpdump -i sip0 -n not host 192.168.0.101
tcpdump: listening on sip0
16:30:41.318118 192.168.0.2.65511 > 192.168.0.1.53:  33548+ AAAA? 
non-euclidean.org. (35)
16:30:41.632564 arp who-has 192.168.0.2 tell 192.168.0.1
16:30:41.632698 arp reply 192.168.0.2 is-at a:66:97:fb:98:a8
16:30:41.633835 192.168.0.1.53 > 192.168.0.2.65511:  33548* 0/1/0 (94) (DF)
16:30:41.635504 192.168.0.2.65510 > 192.168.0.1.53:  33549+ A? 
non-euclidean.org. (35)
16:30:41.821759 192.168.0.1.53 > 192.168.0.2.65510:  33549 1/3/3 A 
198.144.201.82 (173) (DF)
16:30:43.114504 192.168.0.1.520 > 192.168.0.255.520:  rip-resp 2: 0.0.0.0(1) 
66.61.56.0(1) [ttl 1]
^C
49 packets received by filter
0 packets dropped by kernel 

netstat reveals nothing weird, too, as far as i can tell:
koukotsu: {10} netstat -rn
Routing tables 

Internet:
Destination        Gateway            Flags     Refs     Use    Mtu  
Interface
0                  link#1             UC          0        0   1500  sip0 =>
default            192.168.0.1        UGS         0       47   1500  sip0
10/24              link#2             UC          0        0   1500  sip1
127                127.0.0.1          UGRS        0        0  33228  lo0
127.0.0.1          127.0.0.1          UH          2        2  33228  lo0
192.168            link#1             UC          0        0   1500  sip0
192.168.0.1        00:a0:c5:e3:3f:e2  UHL         1       24   1500  sip0
192.168.0.2        127.0.0.1          UGHS        0        0  33228  lo0
192.168.0.101      00:03:93:03:12:8e  UHL         3      605   1500  sip0 

 -XNS, ISO, X.25, AppleTalk, and inet6 stuff snipped- 


/etc/myname contains koukotsu, /etc/mygate contains 192.168.0.1
/etc/hosts contains the following: 

::1                     localhost
127.0.0.1               localhost
192.168.0.1             routar
192.168.0.2             koukotsu
192.168.0.101           replicant 

/etc/resolv.conf has this (set by dhclient):
search cox.rr.com
nameserver 192.168.0.1 

This problem seems to be very similar to one described in
http://mail-index.netbsd.org/netbsd-help/2001/01/14/0005.html 

Does anyone know a solution to this? 

Thank you,
 --
James Thomas <jim@andalustech.com>