netdev
[Top] [All Lists]

Re: socket(PF_INET6, SOCK_RAW, IPPROTO_ICMPV6)

To: maxiu@xxxxxxxxxxxxx
Subject: Re: socket(PF_INET6, SOCK_RAW, IPPROTO_ICMPV6)
From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxxxxxx>
Date: Wed, 12 Mar 2003 21:39:03 +0900 (JST)
Cc: netdev@xxxxxxxxxxx
In-reply-to: <Pine.GSO.4.44.0303121313240.17866-100000@xxxxxxxxxxxxxxxxxx>
Organization: USAGI Project
References: <Pine.GSO.4.44.0303121313240.17866-100000@xxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
In article <Pine.GSO.4.44.0303121313240.17866-100000@xxxxxxxxxxxxxxxxxx> (at 
Wed, 12 Mar 2003 13:17:47 +0100 (CET)), Marcin Kaminski <maxiu@xxxxxxxxxxxxx> 
says:

> When I create socket like:
>     interfaceSocket = socket(PF_INET, SOCK_RAW, IPPROTO_ICMP);
> I receive ICMPv4 packets with IP header, but when I use
>     interfaceSocket = socket(PF_INET6, SOCK_RAW, IPPROTO_ICMPV6);
> I receive ICMPv6 packets WITHOUT IPv6 header.

It is because of the specification (RFC2292).


> What should I do in order to get full packet?
> Man pages of raw(7) tell:

There're no portable way to send/receive whole packet including 
IPv6 header (and possible extension header(s)).

> What should I do in order to get full packet?
> Man pages of raw(7) tell:
> 
> For receiving the IP header is always included in the packet.
> 
> But it is not true for IPv6 :(

It is an error of that manpage.

-- 
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@xxxxxxxxxxxxxx>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA

<Prev in Thread] Current Thread [Next in Thread>