Discussion:
cdce: arpresolve: can't allocate llinfo on cdce0
(too old to reply)
Pierre Pronchery
2006-12-15 19:06:39 UTC
Permalink
Hi,

I currently have a Zaurus connected to my NetBSD 4.0_BETA2 (december 9)
machine over USB. As expected, the cdce driver automatically sees the
device:

cdce0 at uhub2 port 1 configuration 1 interface 0
cdce0: Sharp SL-C3200, rev 2.00/0.00, addr 2
cdce0: faking address
cdce0: address 2a:71:7b:0a:00:00

which looks normal to me. When trying to ping the two devices however,
nothing gets through. The following error message occurs over and over:

arpresolve: can't allocate llinfo on cdce0 for 192.168.3.7
(netinet/if_arp.c:699)

where 192.168.3.7 is the zaurus. tcpdump tells me:

17:19:18.360897 arp who-has 192.168.3.33 tell 192.168.3.7
17:19:18.360936 arp reply 192.168.3.33 is-at 2a:71:7b:0a:00:00
17:19:18.362898 IP 192.168.3.7 > 192.168.3.33: icmp 64: echo request seq 0
17:19:19.350897 IP 192.168.3.7 > 192.168.3.33: icmp 64: echo request seq 256

where 192.168.3.33 is the NetBSD host. If I get it correctly, there is a
problem on the NetBSD side, which fails to register the Zaurus' MAC
address. I'll try to fix this on my side as well, and please tell me if
you need anything more.

Cheers,
--
khorben


--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
David Young
2006-12-15 19:31:29 UTC
Permalink
Post by Pierre Pronchery
Hi,
I currently have a Zaurus connected to my NetBSD 4.0_BETA2 (december 9)
machine over USB. As expected, the cdce driver automatically sees the
cdce0 at uhub2 port 1 configuration 1 interface 0
cdce0: Sharp SL-C3200, rev 2.00/0.00, addr 2
cdce0: faking address
cdce0: address 2a:71:7b:0a:00:00
which looks normal to me. When trying to ping the two devices however,
arpresolve: can't allocate llinfo on cdce0 for 192.168.3.7
(netinet/if_arp.c:699)
17:19:18.360897 arp who-has 192.168.3.33 tell 192.168.3.7
17:19:18.360936 arp reply 192.168.3.33 is-at 2a:71:7b:0a:00:00
17:19:18.362898 IP 192.168.3.7 > 192.168.3.33: icmp 64: echo request seq 0
17:19:19.350897 IP 192.168.3.7 > 192.168.3.33: icmp 64: echo request seq 256
where 192.168.3.33 is the NetBSD host. If I get it correctly, there is a
problem on the NetBSD side, which fails to register the Zaurus' MAC
address. I'll try to fix this on my side as well, and please tell me if
you need anything more.
I have seen the exact same error message before, but now I forget why.
Reading the code, it is possible that you have another route to
192.168.3.7 installed, but there can be other explanations.

What does 'route -n get 192.168.3.7' say? Send us netstat -rn -f inet.

Dave
--
David Young OJC Technologies
***@ojctech.com Urbana, IL * (217) 278-3933

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Pierre Pronchery
2006-12-15 21:34:35 UTC
Permalink
Post by David Young
What does 'route -n get 192.168.3.7' say? Send us netstat -rn -f inet.
Sure:

***@syn:~$ route -n get 192.168.3.7
route to: 192.168.3.7
destination: 192.168.3.0
mask: 255.255.255.0
local addr: 192.168.3.33
interface: cdce0
flags: <UP,DONE>
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu
expire
0 0 0 0 0 0 0
0
***@syn:~$ netstat -rn -f inet
Routing tables

Internet:
Destination Gateway Flags Refs Use Mtu
Interface
default 192.168.2.1 UGS 7 13164 - wm0
127/8 127.0.0.1 UGRS 0 0 - lo0
127.0.0.1 127.0.0.1 UH 2 47 - lo0
192.168.2/24 link#1 UC 1 0 - wm0
192.168.2.1 00:00:24:c7:48:84 UHLc 2 395 - wm0
192.168.2.33 127.0.0.1 UGHS 0 0 - lo0
192.168.3/24 192.168.3.33 U 0 12 - cdce0

Thanks!
--
khorben


--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Pierre Pronchery
2006-12-15 22:10:37 UTC
Permalink
Post by David Young
What does 'route -n get 192.168.3.7' say? Send us netstat -rn -f inet.
The following command output may also be interesting:

***@syn:~$ sudo arp -s 192.168.3.7 40:00:01:00:00:01
cannot intuit interface index and type for 192.168.3.7

From src/usr.sbin/arp/arp.c (NetBSD 3.0.1_PATCH):

301 overwrite:
302 if (sdl->sdl_family != AF_LINK) {
303 warnx("cannot intuit interface index and type for %s",
304 host);
305 return (1);

which is reached if:

286 if (sina->sin_addr.s_addr == sin_m.sin_addr.s_addr) {
287 if (is_llinfo(sdl, rtm->rtm_flags))
288 goto overwrite;

which proves it returned non-zero there:

340 switch (sdl->sdl_type) {
341 case IFT_ETHER:
342 case IFT_FDDI:
343 case IFT_ISO88023:
344 case IFT_ISO88024:
345 case IFT_ISO88025:
346 case IFT_ARCNET:
347 return 1;

Then, the way sdl is filled up is not intuitive at all.

I also noticed this in CVS:

src/sys/dev/usb/if_cdce.c, 3 months, 1 week ago:
Revision 1.10 "remove more vestiges of CCITT, LLC, HDLC, NS, and NSIP."

But I am not familiar enough with the code to tell if it could be
related or not.

HTH,
--
khorben


--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Pierre Pronchery
2006-12-15 22:16:43 UTC
Permalink
Sorry for the noise, but I forgot a case; it's sometimes difficult to
describe code paths by hand...
Post by Pierre Pronchery
302 if (sdl->sdl_family != AF_LINK) {
303 warnx("cannot intuit interface index and type for %s",
304 host);
305 return (1);
286 if (sina->sin_addr.s_addr == sin_m.sin_addr.s_addr) {
287 if (is_llinfo(sdl, rtm->rtm_flags))
288 goto overwrite;
or if (sina->sin_addr.s_addr != sin_m.sin_addr.s_addr) of course.

Cheers,
--
khorben


--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Daniel Carosone
2006-12-15 23:02:03 UTC
Permalink
Post by Pierre Pronchery
Destination Gateway Flags Refs Use Mtu
Interface
default 192.168.2.1 UGS 7 13164 - wm0
127/8 127.0.0.1 UGRS 0 0 - lo0
127.0.0.1 127.0.0.1 UH 2 47 - lo0
192.168.2/24 link#1 UC 1 0 - wm0
192.168.2.1 00:00:24:c7:48:84 UHLc 2 395 - wm0
192.168.2.33 127.0.0.1 UGHS 0 0 - lo0
192.168.3/24 192.168.3.33 U 0 12 - cdce0
No link route for the segment, and no self-address loopback, which
should normally have been added by ifconfig.

first, how did you configure cdce0 initially?

then, try:
route delete 192.168.3.0/24
route add -net 192.168.3.0/24 192.168.3.33 -iface
route add -host 192.168.3.33 127.0.0.1

--
Dan.
Pierre Pronchery
2006-12-15 23:38:01 UTC
Permalink
Post by Daniel Carosone
No link route for the segment, and no self-address loopback, which
should normally have been added by ifconfig.
first, how did you configure cdce0 initially?
I simply did "ifconfig cdce0 192.168.3.33"
Post by Daniel Carosone
route delete 192.168.3.0/24
route add -net 192.168.3.0/24 192.168.3.33 -iface
route add -host 192.168.3.33 127.0.0.1
I now obtain:

***@syn:~$ netstat -rn -f inet
Routing tables

Internet:
Destination Gateway Flags Refs Use Mtu
Interface
default 192.168.2.1 UGS 7 14505 - wm0
127/8 127.0.0.1 UGRS 0 0 - lo0
127.0.0.1 127.0.0.1 UH 3 47 - lo0
192.168.2/24 link#1 UC 1 0 - wm0
192.168.2.1 00:00:24:c7:48:84 UHLc 1 9 - wm0
192.168.2.33 127.0.0.1 UGHS 0 0 - lo0
192.168.3/24 192.168.3.33 US 0 47 - cdce0
192.168.3.33 127.0.0.1 UGHS 0 0 - lo0

I still have the same issues however :/
If I understand correctly 192.168.3/24 should show link#2 right?

Cheers,
--
khorben


--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Loading...