It just occured to me why we don't nominally count OutEchos: Its because the
kernel doesn't send them. User space applications send them using raw or udp
sockets in which the hdrincl bit is set for outgoing messages. The kernel just
sees these as raw data, and there is no code path through which we can acurately
count on all the outgoing echos to pass. I'm going to see if I can come up with
something, but this may have to be a CANTFIX issue.

Jan, I've got a patch that could use some testing. kernels are build in brew under:
brewroot/scratch/nhorman/task_1006335
They should implement ICMPOUTECHOS
If you could test and confrim, I would appreciate it. Thanks!

By comment #5 I had in my mind that you do not need to care about this bug
anymore and close it when bug #253278 is fixed, but I checked the patch in
comment #6 and it works. Thank you very much.
I noticed slightly strange results - if I ping link-local IPv6 address, I get
outgoing echo requests counted on eth0, but incoming echo requests on loopback:
$ ifconfig
eth0 inet6 addr: fe80::216:3eff:fe74:fd65/64 Scope:Link
$ ping -I eth0 fe80::216:3eff:fe74:fd65/64
64 bytes from fe80::216:3eff:fe74:fd65: icmp_seq=0 ttl=64 time=0.357 ms
64 bytes from fe80::216:3eff:fe74:fd65: icmp_seq=1 ttl=64 time=0.070 ms
$ grep Echo /proc/net/dev_snmp6/*
/proc/net/dev_snmp6/eth0:Icmp6InEchos 0
/proc/net/dev_snmp6/eth0:Icmp6InEchoReplies 0
/proc/net/dev_snmp6/eth0:Icmp6OutEchos 2
/proc/net/dev_snmp6/eth0:Icmp6OutEchoReplies 0
/proc/net/dev_snmp6/lo:Icmp6InEchos 2
/proc/net/dev_snmp6/lo:Icmp6InEchoReplies 2
/proc/net/dev_snmp6/lo:Icmp6OutEchos 0
/proc/net/dev_snmp6/lo:Icmp6OutEchoReplies 2
I would expect that all packets go through the same interface, eth0 in this
case. I do not necessarily mean it is a bug, the results are just a little
surprising.