Host Engineering Forum

General Category => ECOMs and ECOM100s => Topic started by: keith on May 08, 2011, 02:01:45 AM

Title: ecom100 icmp ttl problem
Post by: keith on May 08, 2011, 02:01:45 AM
I discovered a bug in the ecom100.  When replying to an icmp echo packet,
it does not reset the ttl in the reply packet.

This makes things like traceroute (using the icmp option) not work right.

You only decrease ttl when forwarding a packet.  When replying to a packet, ttl
should be reset to a high starting value.

boot 4.0.165
os 4.0.1473

$ ping -t 5 192.168.22.1
PING 192.168.22.1 (192.168.22.1) 56(84) bytes of data.
64 bytes from 192.168.22.1: icmp_seq=1 ttl=1 time=69.6 ms

$ ping -t 15 192.168.22.1
PING 192.168.22.1 (192.168.22.1) 56(84) bytes of data.
64 bytes from 192.168.22.1: icmp_seq=1 ttl=11 time=70.1 ms

[ -t sets the ttl in the outgoing packet.  Note that the ttl in the
reply is dependent on the ttl in the outgoing packet.  Actually, it
just uses the remaining ttl for the reply, which is wrong ]

# traceroute --icmp 192.168.22.1
traceroute to 192.168.22.1 (192.168.22.1), 30 hops max, 60 byte packets
 1  (192.168.225.254)  0.856 ms  0.857 ms  0.913 ms
 2  (192.168.227.237)  68.157 ms  73.306 ms  77.479 ms
 3  * * *
 4  * * *
 5  (192.168.22.1)  91.714 ms  93.531 ms  97.067 ms

See how is interacts wrongly with traceroute.
Other host engineering ethernet devices such as EBCs handle this properly.
I think that H2-ECOMs also handle this properly.
Perhaps it is just a feature of this version, or it is specific to H2-ECOM100s.

I could do more testing on other devices, but I will wait and see how you respond.
Keith
Title: Re: ecom100 icmp ttl problem
Post by: Greg on June 08, 2011, 09:45:13 AM
keith, sorry to miss this post.  :o I have forwarded this info to our ECOM/ECOM100 engineers and I'll let you know the response ASAP.
Title: Re: ecom100 icmp ttl problem
Post by: Greg on June 15, 2011, 01:07:12 PM
keith, this was an issue that had been found & fixed i a newer release of the 3rd-party stack code we utilize. We're quite hesitant to switch to the new release at this point, so we basically copied what should be the fix for this issue from that code into our ECOM100 firmware code.

Also, our Windows implementation of ping uses the -i instead of the -t for the TTL time.

I sent you some BETA firmware for you to try. Did you get it?