-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge max-next into next #998
Conversation
…y error" and "replayed"
# Conflicts: # src/lib/ipsec/esp.lua
@kbara @eugeneia There are some more implications to consider with
The thing is that If we want to support a Some options:
Or the default option would be stick with the status quo and say that the only way to get a Somehow resolving this issue is a blocker to merging |
Interesting points. As currently implemented, the code this is being used for does not satisfy those invariants. (The use case is hardened reassembly, where a large, predetermined number of packets are getting reassembled in a ctable at the same time, as fragments come in.) The underlying ctable is large enough (around half a gigabyte with the default parameters I've set - but the same applies down to surprisingly small sizes) that hugetlb mmap fails and we fall back to using non-hugetlb mmap. Specifically, the value of the ctable includes an embedded struct packet, which is used for in-place reassembly, then cloned to a normal packet when that is complete. (The logic of how clone_to_memory came to be is documented in Igalia#393 - but basically, Igalia is using a more complicated struct packet, that needs to have book-keeping done, the right place to do the book-keeping is in packet.lua, and upstreaming the APi makes the fragmentation reassembly code closer to neutral with regards to the struct packet implementation being used). What would be your preferred approach to dealing with hundreds of thousands of packets at a time, since in the case of fragmentation their lifecycle can be quite long? Would you simply dispense with using a 'struct packet' at all during reassembly, and use an identical struct without the special semantics? |
I think the simplest solution would be to have two separate data structures:
The custom format need not be the same as (Generally speaking it is okay for |
Agreed. In that case, let's forget this API ever existed. :-) |
This reverts commit bb9b3c2. See discussion at #998 (comment)
Groovy! Merged now with that API reverted in commit 54ac86d. Thanks everybody! |
Excellent. I've gotten rid of it downstream, too. :-) |
Make "snabbvmx top" print out only counters that are defined
This includes: #966 #985 #984 #986 #990 #991 #988