fix(iface): invalidate pending output with neighbor cache - #27
Merged
Merged
Conversation
Drop an in-progress fragmentation sequence whenever dynamic neighbor resolution state is flushed, because it may retain a link-layer destination selected before a link transition. Keep neighbor discovery mode unchanged, preserve idempotent empty-state behavior, and cover stale pending IPv4 output with a regression test. Signed-off-by: longjin <longjin@dragonos.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
flush_neighbor_cache()invalidate both dynamic neighbor entries/rate limits and pending fragmented output that may retain a stale link-layer destinationValidation
cargo fmt --all -- --checkcargo test(634 unit tests and 7 doc tests)cargo check --no-default-features --features "proto-ipv4 medium-ip socket-udp"cargo check --no-default-features --features "proto-ipv4 proto-dhcpv4 medium-ethernet socket-dhcpv4"cargo check --no-default-features --features "proto-ipv6 medium-ethernet socket-udp"