[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-devel] RFC3542 ICMPv6 Checksum Computation for Raw Sockets
From: |
Grant Erickson |
Subject: |
Re: [lwip-devel] RFC3542 ICMPv6 Checksum Computation for Raw Sockets |
Date: |
Thu, 20 Dec 2012 08:38:04 -0800 |
On Dec 19, 2012, at 3:30 PM, Ivan Delamer wrote:
> There hasn't been a discussion about this yet. Feel free to propose one,
> or even better, a patch that implements it. I can review it and work it
> into the code if suitable.
Ivan,
Patches 7904 <https://savannah.nongnu.org/patch/index.php?7904> and 7905
<https://savannah.nongnu.org/patch/index.php?7905> have been submitted. With
these in place, a rudimentary ping6 to a link-local address works:
> ping6 -c 4 fe80::ea06:88ff:fecc:a9f4
PING fe80::ea06:88ff:fecc:a9f4 (FE80::EA06:88FF:FECC:A9F4): 56(104)
bytes of data
64 bytes from fe80::ea06:88ff:fecc:a9f4 (FE80::EA06:88FF:FECC:A9F4):
icmp_seq=1 ttl=64 time=0.000 ms
64 bytes from fe80::ea06:88ff:fecc:a9f4 (FE80::EA06:88FF:FECC:A9F4):
icmp_seq=2 ttl=64 time=0.000 ms
64 bytes from fe80::ea06:88ff:fecc:a9f4 (FE80::EA06:88FF:FECC:A9F4):
icmp_seq=3 ttl=64 time=0.000 ms
64 bytes from fe80::ea06:88ff:fecc:a9f4 (FE80::EA06:88FF:FECC:A9F4):
icmp_seq=4 ttl=64 time=0.000 ms
--- fe80::ea06:88ff:fecc:a9f4 ping statistics ---
4 packets transmitted, 4 received, 0 duplicates, 0 errors 0% packet
loss, time 6042ms
round-trip min/avg/max = 0.000/0.000/0.000 ms
-Grant
> On Wed, December 19, 2012 10:21, Grant Erickson wrote:
>> I am implementing a basic ping6 test application for LwIP using a:
>>
>> socket = lwip_socket(AF_INET6, SOCK_RAW, IP6_NEXTH_ICMP6);
>>
>> raw LWIP socket and it's mostly working, with checksum computation
>> excepted. Per RFC3542 <http://www.ietf.org/rfc/rfc3542.txt>, "3.1.
>> Checksums", outside of link-local addresses, for which a priori knowledge
>> is fairly straightforward, the source address for pseudo-header checksum
>> computation isn't easily derived from the application socket.
>>
>> Have there been any strong opinions or directions toward supporting a raw
>> IPv6 checksum computation ala a socket option?