Ipv6 support #15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ipv6-support"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This pull-request is a toy to add IPv6 support.
Compare with #14 , this closes #12.
I believe this is complete, tested, and working now:
Will merge tomorrow unless there are any surprising results.
I'll test this out sometime today...
For my own curiosity, what would it take to get unicast to work fro IPv6? It wasn't obvious to me why v6 is harder to implement than v4.
@skx : ☝️
A detailed explanation would take longer time than I have to spare.
But you need to think about routing and IP-headers. For IPv4 you get the MAC address of the source and the destination in the packet. Using those you can lookup the appropriate socket and write the whole packet down the correct socket.
For IPv6 if you want to do it properly you need to do that, but you'd also want to handle other things such as router advertisements and neighbour solications.
In short think of IPv4 and think about how ARP requests are handled; here we cheat and don't handle them. If you want to do "stuff properly" you should. And that's whats missing for the IPv6 side. (Only ARP isn't involved, instead it's neighbour solicatation and RA.)
Feel free to experiment in your fork. It'll be fiddly and annoying, but also educational.