Partial IPv6 neighbor discovery and various performance tweaks #242
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I added a new app apps/ipv6/nd_light that performs rudimentary address resolution for a pre-configured next-hop address. It expects IPv6 packets on its "northbound" link, adds an Ethernet header with the discovered MAC address of the next hop and sends the packet out its "southbound" interface. Packets received from "south" are sent "north" unaltered (i.e. the Ethernet header is not stripped).
This set of commits also includes a few performance boosts. I also changed the semantics of the datagram class' push() method. Headers are now pushed in the "natural" order, i.e. inner-to-outer. This implies that the buffer holding the headers grows downwards. This has the added benefit that now new buffer has to be allocated as long as there is room at the bottom of iovec #0.