ICMP in RTEMS

Ian Caddy ianc at microsol.iinet.net.au
Thu Dec 2 06:14:06 UTC 2004


Hi,

Is the Ethernet driver your own driver or a standard working driver?

ICMP support is standard with the RTEMS stack, there is no configuration 
required as it is an integral part of the stack.

If the driver is standard, are you sure your PC is actually sending teh 
ICMP packet.  It will send the ARP packet first, once it gets the ARP 
reply, it will send the ICMP packet.

If you wrote your driver there may be a problem with support of multiple 
mbufs linked together to form a packet for transmission.

Also, the low level driver that you are using is not filling in the 
statistics for the number of transmit and recieve packets and so it is 
hard to say whether it is not receiving or not trasmitting the packet 
properly.

Also, if you look at your stats, all the packets you have received are 
broadcast packets, this does sound like the problem Chris was 
describing.  With your packet sniffer, can you validate that your MAC 
address is set correctly on the wire coming out of your board?

I hope this helps.

Ian Caddy


Yanjun Luo wrote:
> Hi Chris,
> 
> 
>>This is typical of the MAC on your board seeing only broadcast 
>>packets and no MAC frames with a unique MAC address programmed into 
>>your hardware.
> 
> 
> I set MAC address to 00:01:02:03:04:05 before init network part.
>  
> 
>>Check you have a valid MAC address setup in your hardware (valid OUI
>>etc) and it matches what is being sent in the ARP response to the 
>>PC. On the PC check the arp cache with the arp command.
> 
> 
> My board get the right MAC I think, I can catch the ARP reply packet
> which send by my board with sniffer, and also I can see my PC get
> the MAC address correctly. I can see my board IP and MAC in my PC 
> with arp -a.
> 
> It seems that everything is OK, but my board only reply the ARP
> request, refuse to reply ping request.
> With RTEMS' netdemo test code, I can see below message.
> I think my board also get my PC's IP and MAC,but why it don't 
> reply my ping request? I guess maybe my board don't have ICMP support,
> I need to re-config RTEMS? But how to config with ICMP support?
> 
> Regards,
> Yanjun Luo.
> 
> -------------------------------------------------------------------------
> 
> s
> Destination     Gateway/Mask/Hw    Flags     Refs     Use Expire Interface
> default         192.168.0.1        UGS         0        0      0 eth0
> 192.168.0.0     255.255.255.0      U           0        0      8 eth0
> 192.168.0.1     00:0A:EB:52:8E:F4  UHL         1        0  10184 eth0
> 192.168.0.149   00:11:09:40:17:20  UHL         0     2008  10050 eth0
> 192.168.0.255   FF:FF:FF:FF:FF:FF  UHL         0       18      0 eth0
> ************ MBUF STATISTICS ************
> mbufs:2048    clusters: 256    free: 256
> drops:   0       waits:   0  drains:   0
>       free:2047          data:1           header:0           socket:0       
>        pcb:0           rtable:0           htable:0           atable:0       
>     soname:0           soopts:0           ftable:0           rights:0       
>     ifaddr:0          control:0          oobdata:0       
> 
> ************ INTERFACE STATISTICS ************
> ***** eth0 *****
> Ethernet Address: 00:01:02:03:04:08
> Address:192.168.0.144   Broadcast Address:192.168.0.255   Net 
> mask:255.255.255.0   
> Flags: Up Broadcast Running
> Send queue limit:50   length:0    Dropped:0       
>  Total Interrupts:0           Rx Interrupts:0                   
> Giant:0               Non-octet:0       
>           Bad CRC:0               Collision:0                  Missed:0       
>     Tx Interrupts:0                  Deferred:0               Lost 
> Carrier:0       
> Single Collisions:0       Multiple Collisions:0       Excessive 
> Collisions:0       
>  Total Collisions:0            Late Collision:0                   
> Underrun:0       
>   Raw output wait:0       
> 
> ************ IP Statistics ************
>              total packets received        5158
>  datagrams delivered to upper level        5158
>     total ip packets generated here        3035
>   datagrams successfully fragmented          12
>            output fragments created          72
> 
> ************ ICMP Statistics ************
> 
> ************ UDP Statistics ************
>                 total input packets        5158
>      of above, arrived as broadcast        5158
>                total output packets        3030
> 
> ************ TCP Statistics ************
>               connections initiated           1
>       embryonic connections dropped           1
>       conn. closed (includes drops)           1
>      segs where we tried to get rtt           1
>                 retransmit timeouts           4
>                  keepalive timeouts           1
>    connections dropped in keepalive           1
>                  total packets sent           5
>               ack-only packets sent           4
>  control (SYN|FIN|RST) packets sent           1
> 
> --------------------------------------------------------------------------
> 
> 



More information about the users mailing list