[ECOS] FW: [ECOS] ECOS: Free BSD - Default gateway entry , duplicate ARP//llinfo entries -

Alok Singh aloks@broadcom.com
Fri Aug 31 15:54:00 GMT 2007


Gary,

We had some communication regarding an issue I raised some time back.
The issue was resolved then. But you asked for a patch(that I was using)
to dump the ARP table on FreeBSD stack. I'm sending this now. I
understand that we have sysctl hooks in current code to dump the
routing/arp table, but in case one is new to stack, this primitive ARP
table dump utility will prove useful. Have a look.    
Can these be integrated to ecos FreeBSD stack?

Package - packages/net/bsd_tcpip/current


regards,
Alok

-----Original Message-----
From: Gary Thomas [mailto:gary@mlbassoc.com] 
Sent: Tuesday, July 31, 2007 11:36 PM
To: Alok Singh
Cc: ecos-discuss@ecos.sourceware.org
Subject: Re: [ECOS] FW: [ECOS] ECOS: Free BSD - Default gateway entry ,
duplicate ARP//llinfo entries -

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Alok Singh wrote:
> I ported it to FreeBSD( just copied actually ) from OpenBSD for
> debugging purposes.

If you send a patch, I'll try it; I don't have time to mess with
porting old code...

> -----Original Message-----
> From: Gary Thomas [mailto:gary@mlbassoc.com] 
> Sent: Tuesday, July 31, 2007 11:25 PM
> To: Alok Singh
> Cc: ecos-discuss@ecos.sourceware.org
> Subject: Re: [ECOS] FW: [ECOS] ECOS: Free BSD - Default gateway entry
,
> duplicate ARP//llinfo entries -
> 
> Alok Singh wrote:
>> Gary,
>> Is it possible for you to send me a dump of arp table (using
>> db_show_arptab() or through some other means) before pinging to
>> 204.133.123.27, and after pinging to
>> 204.133.123.27 please!!
> 
> That function is only in the old (OpenBSD) stack.
> [gthomas@hermes packages]$ find net -name "*.c" | xargs grep show_arp
> net/tcpip/current/src/sys/netinet/if_ether.c: * Use this from ddb:
> "call db_show_arptab"
> net/tcpip/current/src/sys/netinet/if_ether.c:db_show_arptab()
> 
> Aren't you using the FreeBSD stack (the default and indeed, the only
> supported BSD stack)?
> 
>> regards,
>> Alok
> 
>> -----Original Message-----
>> From: ecos-discuss-owner@ecos.sourceware.org
>> [mailto:ecos-discuss-owner@ecos.sourceware.org] On Behalf Of Gary
> Thomas
>> Sent: Tuesday, July 31, 2007 8:38 PM
>> To: Alok Singh
>> Cc: ecos-discuss@ecos.sourceware.org
>> Subject: Re: [ECOS] FW: [ECOS] ECOS: Free BSD - Default gateway entry
> ,
>> duplicate ARP//llinfo entries -
> 
>> Alok Singh wrote:
>>> Laurie,
>>> When I ping to box IP (10.240.3.156), I see that the src mac address
>> in
>>> the echo reply from the box has the correct mac address. Also I'm
> able
>>> to access the DUT via all means(HTTP, telnet). The problem comes
only
>>> when the routing table search results in default route(10.240.3.1).
> I
>>> see duplicate arp entries in the routing table below. The one that
to
>>> which default rtentry points to (gwroute=0x805f8c40) has mac address
>> as
>>> 0 for 10.240.3.1. And at the same time, we have another mac entry
for
>>> 10.240.3.1 that has mac correctly installed(rtentry=0x805f89c0).
This
>> is
>>> creating problem. 
>>> I don't deny that it might be happening because of some wrong
>>> configuration from my side.  
>>> Can somebody give me a dump of the ECOS Free BSD routing table of a
>>> working box by using command "show_network_tables" please!!
> 
>> Here's the output from the standard ping test, modified to show
>> the network tables.  I also forced the second host to be one that
>> required going to a different network (via the gateway).  It all
>> seems to work just fine for me.  Note: the network tables look
>> pretty much as yours do.
> 
>> Start PING test
>> [eth_drv_ioctl] Warning: Driver can't set multi-cast mode
>> [eth_drv_ioctl] Warning: Driver can't set multi-cast mode
>> BOOTP[eth0] op: REQUEST
>>        htype: Ethernet
>>         hlen: 6
>>         hops: 0
>>          xid: 0x5ad53233
>>         secs: 0
>>        flags: 0x8000
>>        hw_addr: 00:08:e5:11:32:33
>>      client IP: 0.0.0.0
>>          my IP: 192.168.1.239
>>      server IP: 192.168.1.101
>>     gateway IP: 0.0.0.0
>>   options:
>>         DHCP message: 3 REQUEST
>>         DHCP server id: 192.168.1.101
>>         DHCP time 51: 3600
>>         DHCP time 58: 1800
>>         DHCP time 59: 3150
>>         subnet mask: 255.255.255.0
>>             gateway: 192.168.1.101
>>       domain server: 192.168.1.101, 204.133.123.27, 206.168.216.4
>>         domain name: chez-thomas.org
>>        IP broadcast: 192.168.1.255
>>         DHCP option: 37/55.9: 54 51 58 59 1 3 6 15 28
>>         DHCP option: 39/57.2: 576
>>         DHCP requested ip: 192.168.1.239
>> [eth_drv_ioctl] Warning: Driver can't set multi-cast mode
>> [eth_drv_ioctl] Warning: Driver can't set multi-cast mode
>> [eth_drv_ioctl] Warning: Driver can't set multi-cast mode
>> Routing tables
>> Destination     Gateway         Mask            Flags    Interface
>> 0.0.0.0         192.168.1.101   0.0.0.0         UG       eth0
>> 127.0.0.0       127.0.0.1       255.0.0.0       UG       lo0
>> 127.0.0.1       127.0.0.1                       UH       lo0
>> 192.168.1.0     192.168.1.0     255.255.255.0   U        eth0
>> Interface statistics
>> eth0    IP: 192.168.1.239, Broadcast: 192.168.1.255, Netmask:
>> 255.255.255.0
>>         UP BROADCAST RUNNING MULTICAST MTU: 1500, Metric: 0
>>         Rx - Packets: 0, Bytes: 0, Tx - Packets: 0, Bytes: 0
>> lo0     IP: 127.0.0.1, Broadcast: 127.0.0.1, Netmask: 255.0.0.0
>>         UP LOOPBACK RUNNING MULTICAST MTU: 16384, Metric: 0
>>         Rx - Packets: 0, Bytes: 0, Tx - Packets: 0, Bytes: 0
>> PING server 192.168.1.101 from 192.168.1.239
>> 64 bytes from 192.168.1.101: icmp_seq=0, time=0ms
>> 310 bytes from 192.168.1.101: icmp_seq=1, time=0ms
>> 556 bytes from 192.168.1.101: icmp_seq=2, time=0ms
>> 802 bytes from 192.168.1.101: icmp_seq=3, time=10ms
>> 1048 bytes from 192.168.1.101: icmp_seq=4, time=0ms
>> 1294 bytes from 192.168.1.101: icmp_seq=5, time=0ms
>> 1540 bytes from 192.168.1.101: icmp_seq=6, time=0ms
>> 1786 bytes from 192.168.1.101: icmp_seq=7, time=0ms
>> 2032 bytes from 192.168.1.101: icmp_seq=8, time=0ms
>> 2278 bytes from 192.168.1.101: icmp_seq=9, time=0ms
>> 2524 bytes from 192.168.1.101: icmp_seq=10, time=0ms
>> 2770 bytes from 192.168.1.101: icmp_seq=11, time=10ms
>> 3016 bytes from 192.168.1.101: icmp_seq=12, time=0ms
>> 3262 bytes from 192.168.1.101: icmp_seq=13, time=10ms
>> 3508 bytes from 192.168.1.101: icmp_seq=14, time=0ms
>> 3754 bytes from 192.168.1.101: icmp_seq=15, time=0ms
>> Sent 16 packets, received 16 OK, 0 bad
>> PING server 204.133.123.27 from 192.168.1.239
>> 64 bytes from 204.133.123.27: icmp_seq=0, time=0ms
>> 310 bytes from 204.133.123.27: icmp_seq=1, time=0ms
>> 556 bytes from 204.133.123.27: icmp_seq=2, time=0ms
>> 802 bytes from 204.133.123.27: icmp_seq=3, time=0ms
>> 1048 bytes from 204.133.123.27: icmp_seq=4, time=0ms
>> 1294 bytes from 204.133.123.27: icmp_seq=5, time=0ms
>> 1540 bytes from 204.133.123.27: icmp_seq=6, time=0ms
>> 1786 bytes from 204.133.123.27: icmp_seq=7, time=0ms
>> 2032 bytes from 204.133.123.27: icmp_seq=8, time=0ms
>> 2278 bytes from 204.133.123.27: icmp_seq=9, time=0ms
>> 2524 bytes from 204.133.123.27: icmp_seq=10, time=0ms
>> 2770 bytes from 204.133.123.27: icmp_seq=11, time=0ms
>> 3016 bytes from 204.133.123.27: icmp_seq=12, time=0ms
>> 3262 bytes from 204.133.123.27: icmp_seq=13, time=0ms
>> 3508 bytes from 204.133.123.27: icmp_seq=14, time=10ms
>> 3754 bytes from 204.133.123.27: icmp_seq=15, time=0ms
>> Sent 16 packets, received 16 OK, 0 bad
>> PASS:<Ping test OK>
>> EXIT:<done>
> 
>>> regards,
>>> Alok
>>> -----Original Message-----
>>> From: ecos-discuss-owner@ecos.sourceware.org
>>> [mailto:ecos-discuss-owner@ecos.sourceware.org] On Behalf Of Laurie
>>> Gellatly
>>> Sent: Tuesday, July 31, 2007 3:24 AM
>>> To: ecos-discuss@ecos.sourceware.org
>>> Subject: RE: [ECOS] FW: [ECOS] ECOS: Free BSD - Default gateway
entry
>> ,
>>> duplicate ARP//llinfo entries -
>>> Alok,
>>> I'm concerned at this:
>>> Destination     Gateway         Mask            Flags    Interface
>>> ..
>>> 10.240.3.0      10.240.3.0      255.255.255.0   U        eth0     
>>> ..
>>> To me that says that the gateway is 10.240.3.0 but with a 
>>> subnet of 255.255.255.0 that address is the network address and NOT
>>> a valid host address. In my books, either the address or the mask
>>> must be wrong.
>>> I'd also be worried if you have a 0 MAC address as well.
>>> They'd be the areas I'd look at.
>>> 			...Laurie:{)
>>> -----Original Message-----
>>> From: ecos-discuss-owner@ecos.sourceware.org
>>> [mailto:ecos-discuss-owner@ecos.sourceware.org]On Behalf Of Alok
> Singh
>>> Sent: Monday, 30 July 2007 9:31 PM
>>> To: ecos-discuss@ecos.sourceware.org
>>> Subject: [ECOS] FW: [ECOS] ECOS: Free BSD - Default gateway entry ,
>>> duplicate ARP//llinfo entries -
> 
>>> Hi,
>>> Any comments/hints/clues from routing experts out there!!
>>> regards,
>>> Alok
>>> -----Original Message-----
>>> From: ecos-discuss-owner@ecos.sourceware.org
>>> [mailto:ecos-discuss-owner@ecos.sourceware.org] On Behalf Of Alok
>> Singh
>>> Sent: Sunday, July 29, 2007 7:20 AM
>>> To: ecos-discuss@ecos.sourceware.org
>>> Subject: [ECOS] ECOS: Free BSD - Default gateway entry , duplicate
>>> ARP//llinfo entries -
>>> Hi,
>>> I'm using latest cvs code. This is the same issue I mentioned
> earlier,
>>> where I'm not able to access the box from a different subnet. I
>> debugged
>>> the issue further, and I see two llinfo entries corresponding to the
>>> default gateway. One is created as soon as the default routing entry
>> is
>>> configured.  This has mac address as "0".  Default gateway points to
>>> this entry. When I ping from other network, then arp of gateway is
>>> resolved. And this creates another entry in the routing table. But
>>> default gateway routing entry is still pointing to the old one that
>> ahs
>>> mac address as 0. Hence for every ping, I see an ARP request going
> out
>>> of the box. My GW is 10.240.3.1. I'm providing the ROUTE TREE dump
>>> below. Please have a look. Look for key field in the the dump to see
>> the
>>> duplication. I've verified that for IP addresses other than G/W,
only
>>> one ARP entry is present( 10.240.3.136). MY box IP address
>>> is:10.240.3.156. I've enabled the debugs in icmp_input, and I can
see
>>> that the imcp echo reply is being sent out to IP in different
subnet-
> 
>>> icmp_input from 10.240.10.236 to 10.240.3.156, len 40
>>> icmp_input, type 8 code 0
>>> icmp_send dst 10.240.10.236 src 10.240.3.156
>>> *********************************************
>>> Route tree for AF_INET
>>> rtentry=0x805f8d10 flags=0x10003 refcnt=0 use=7 expire=0
>>>  key=[16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
>>>  mask=[]
>>>  gw=[16,2,0,0,10,240,3,1,128,60,139,80,128,33,93,72]
>>>  ifp=0x805612d4 (dtl) ifa=0x805f8f30
>>>   ifa_addr=[16,2,0,0,10,240,3,156,0,0,0,0,0,0,0,0]
>>>   ifa_dsta=[16,2,0,0,10,240,3,255,0,0,0,0,0,0,0,0]
>>>   ifa_mask=[7,0,0,0,255,255,255]
>>>   flags=0x101, refcnt=5, metric=0
>>>  genmask=[NULL] gwroute=0x805f8c40 llinfo=0x00000000
>>> ------------
>>> rtentry=0x805f8e90 flags=0x101 refcnt=3 use=0 expire=30
>>>  key=[16,2,0,0,10,240,3,0,0,0,0,0,0,0,0,0]
>>>  mask=[7,255,255,255,255,255,255]
> 
>
gw=[54,18,0,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
>>> 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
>>>  ifp=0x805612d4 (dtl) ifa=0x805f8f30
>>>   ifa_addr=[16,2,0,0,10,240,3,156,0,0,0,0,0,0,0,0]
>>>   ifa_dsta=[16,2,0,0,10,240,3,255,0,0,0,0,0,0,0,0]
>>>   ifa_mask=[7,0,0,0,255,255,255]=
>>>   flags=0x101, refcnt=5, metric=0
>>>  genmask=[NULL] gwroute=0x00000000 llinfo=0x00000000
>>> --------------
>>> rtentry=0x805f89c0 flags=0x20405 refcnt=0 use=0 expire=4029
>>>  key=[16,2,0,0,10,240,3,1,0,0,0,0,0,0,0,0]
>>>  mask=[NULL]
> 
>
gw=[54,18,0,1,6,0,6,0,0,15,181,52,144,196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
>>> 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
>>>  ifp=0x805612d4 (dtl) ifa=0x805f8f30
>>>   ifa_addr=[16,2,0,0,10,240,3,156,0,0,0,0,0,0,0,0]
>>>   ifa_dsta=[16,2,0,0,10,240,3,255,0,0,0,0,0,0,0,0]
>>>   ifa_mask=[7,0,0,0,255,255,255]
>>>   flags=0x101, refcnt=5, metric=0
>>>  genmask=[NULL] gwroute=0x00000000 llinfo=0x805f8940
>>>   la_rt=0x805f89c0 la_hold=0x00000000, la_asked=0x0
>>> ----------------------
>>> rtentry=0x805f8c40 flags=0x2040d refcnt=1 use=0 expire=2999
>>>  key=[16,2,0,0,10,240,3,1,128,60,139,80,128,33,93,72]
>>>  mask=[NULL]
> 
>
gw=[54,18,0,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
>>> 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
>>>  ifp=0x805612d4 (dtl) ifa=0x805f8f30
>>>   ifa_addr=[16,2,0,0,10,240,3,156,0,0,0,0,0,0,0,0]
>>>   ifa_dsta=[16,2,0,0,10,240,3,255,0,0,0,0,0,0,0,0]
>>>   ifa_mask=[7,0,0,0,255,255,255]
>>>   flags=0x101, refcnt=5, metric=0
>>>  genmask=[NULL] gwroute=0x00000000 llinfo=0x805f8ba0
>>>   la_rt=0x805f8c40 la_hold=0x80605e80, la_asked=0x0
>>> ------------
>>> rtentry=0x805f8ae0 flags=0x20405 refcnt=0 use=5 expire=1233
>>>  key=[16,2,0,0,10,240,3,136,0,0,0,0,0,0,0,0]
>>>  mask=[NULL]
> 
>
gw=[54,18,0,1,6,0,6,0,0,20,42,44,68,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
>>> ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
>>>  ifp=0x805612d4 (dtl) ifa=0x805f8f30
>>>   ifa_addr=[16,2,0,0,10,240,3,156,0,0,0,0,0,0,0,0]
>>>   ifa_dsta=[16,2,0,0,10,240,3,255,0,0,0,0,0,0,0,0]
>>>   ifa_mask=[7,0,0,0,255,255,255]
>>>   flags=0x101, refcnt=5, metric=0
>>>  genmask=[NULL] gwroute=0x00000000 llinfo=0x805f8a60
>>>   la_rt=0x805f8ae0 la_hold=0x00000000, la_asked=0x0
> 
> 
>>> I'm getting the address/GW from DHCP server. My routing table after
>>> configuring the IP address and GW is provided below. 
>>> Routing tables
>>> Destination     Gateway         Mask            Flags    Interface
>>> 0.0.0.0         10.240.3.1      0.0.0.0         UG       eth0
>>> 10.240.3.0      10.240.3.0      255.255.255.0   U        eth0     
>>> 127.0.0.0       127.0.0.1       255.0.0.0       UG       lo0      
>>> 127.0.0.1       127.0.0.1                       UH       lo0      
>>> Interface statistics
>>> Eth0    IP: 10.240.3.156, Broadcast: 10.240.3.255, Netmask:
>>> 255.255.255.0
>>>         UP BROADCAST RUNNING MULTICAST MTU: 1500, Metric: 0
>>>         Rx - Packets: 100, Bytes: 19483, Tx - Packets: 12, Bytes:
720
>>> lo0     IP: 127.0.0.1, Broadcast: 127.0.0.1, Netmask: 255.0.0.0
>>>         UP LOOPBACK RUNNING MULTICAST MTU: 16384, Metric: 0
>>>         Rx - Packets: 0, Bytes: 0, Tx - Packets: 0, Bytes:
> 
> 
> 
>>> regards,
>>> Alok
> 
> 
> 
> 

- --
- ------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
- ------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFGr3oSmaKbSsQGV8ARAhknAJ9wITlqbtyPaYUnff0UQtgbkCWLagCgkHFA
afkNYjs3mTgkNEmHyFvFyHs=
=bTQb
-----END PGP SIGNATURE-----


-------------- next part --------------
A non-text attachment was scrubbed...
Name: if_ether.c.diff
Type: application/octet-stream
Size: 303 bytes
Desc: if_ether.c.diff
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20070831/7b811a6c/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: if_ether.h.diff
Type: application/octet-stream
Size: 313 bytes
Desc: if_ether.h.diff
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20070831/7b811a6c/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: support.c.diff
Type: application/octet-stream
Size: 2347 bytes
Desc: support.c.diff
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20070831/7b811a6c/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ChangeLog.diff
Type: application/octet-stream
Size: 380 bytes
Desc: ChangeLog.diff
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20070831/7b811a6c/attachment-0003.obj>
-------------- next part --------------
-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


More information about the Ecos-discuss mailing list