The IPv6 payload may like the following:

IPv6 Header -> ExtHeader -> ... -> UpperLayer Header

I use Scapy to make a packet such that:

IPv6 -> Hop-by-Hop-Option -> Neighbor Solicitation [1]

However from Sniffer, I don't see the Neighbor Advertisement response. So I try with this kind of packet:

IPv6 -> Neighbor Solicitation [2].

Then It's work!

Just wondering, the packet format I make in [1] is invalid? So the opposite station doesn't honor it??


1 Answer 1


The other station might not understand your extension headers, in which case it can not reply to them. But in general extension headers are allowed in all packets, even Neighbour Discovery.

  • So on the implementation view, if we got NS as the last UpperLayer payload, we shall all reply with NA? Sep 10, 2015 at 8:32
  • Is there any reference I can refer? RFC4861 does not write about this part. Sep 10, 2015 at 8:35
  • RFC4861 doesn't mention extension headers because it doesn't have to. They are specified in tools.ietf.org/html/rfc2460#section-4 and apply to all packets. Sep 10, 2015 at 8:39
  • There is also an RFC about fragmentation headers and ND: tools.ietf.org/html/rfc6980 Sep 10, 2015 at 8:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.