In Scapy, when you use the /
operator the operand on the left encapsulates or places the operand on the right as it's data, or underlayer. It's what will come next in the packet.
Your problem is your sending line -
send(request/ip)
You have them reversed. This produces a packet where the IP Layer is the data of the ICMPv6 layer. This is why you are getting the error WARNING: No IPv6 underlayer to compute checksum. Leaving null,
because you aren't actually putting anything there since your layers are in the wrong order.
This is what you meant to do.
send(ip/request)
Changing that one send line and you should see the results you expect.