core/packet.lua: Enable overflow check when allocating packets #884
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.
Enable a really important assertion that the packet freelist does not overflow when we allocate a new batch of packets.
This should not be a performance issue: the check is on a slow-path where we are allocating a thousand new packets.
This is actually very important. I found a bug that packetblaster would crash with heap corruption / segfault when you run it with more than 3 network interfaces at the same time. This is because it allocated too many packets for transmit/receive buffers and that error was not caught unless "developer debug" mode was enabled.
(That problem is separately alleviated by #883 that reduces the descriptor queues from 32K packets to 2K packets each.)