1. 13
  1. 2

    I actually did something very similar for Yggdrasil - except I didn’t use external libraries, I stuck with Go’s own ICMPv6 packages. We needed to be able to respond to NDP requests for Yggdrasil-destined traffic when using a layer 2 interface, and we needed to be able to generate a couple of informational ICMPv6 packets too.

    Most of the complication tends to come from the fact that I was dealing with TUN/TAP, so having to manipulate either IPv6 or Ethernet+IPv6 headers as well, but the ICMPv6 portion was actually incredibly easy.