net - #1752
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
0ea0d48 to
5b72388
Compare
f5188c3 to
75fbc59
Compare
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
75fbc59 to
8086c9c
Compare
671b989 to
b687ddd
Compare
dd9b98e to
83d440b
Compare
069153b to
d80fe2d
Compare
83d440b to
bbcc339
Compare
3d5b3de to
a2e4e51
Compare
bbcc339 to
73933c6
Compare
a2e4e51 to
046ea6b
Compare
73933c6 to
493afc8
Compare
8bd7e1c to
e7119dc
Compare
mvachhar
left a comment
There was a problem hiding this comment.
I think we need one extra test regarding checksums. Might as well fix the wierd licensing verbiage while you're at it.
|
|
||
| /// Eight words to fold, over a UDP pseudo-header. | ||
| #[test] | ||
| fn a_v6_address_change_matches_a_fresh_udp_checksum() { |
There was a problem hiding this comment.
We need a test for the incremental checksum update where the quoted packet header is truncated below the required 128 bytes. We won't ever generate such a packet but we can receive one. What happens in that case when we try to update the checksum?
There was a problem hiding this comment.
Nothing happens tho. The truncated quote ships exactly as received.
I can write a test to assert that if you like
98d9cda to
b760312
Compare
9b64d3b to
24551ab
Compare
dd860c4 to
8bf6ba3
Compare
24551ab to
3230698
Compare
8bf6ba3 to
4262cba
Compare
`EmbeddedTransport::update_checksum` dropped the checksum returned by `increment_update_checksum`. Store it so NAT port rewrites update checksums inside quoted packets. Fold quoted address changes into TCP, UDP, and ICMPv6 pseudo-header checksums. ICMPv4 is unchanged; incremental updates work with truncated quotes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
`HeadersView` licenses unchecked extraction through a separately generated shape walk. Compare its decisions and selected layer addresses with the safe matcher over VLAN and extension-header layouts. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
Compare the licensing decision with the separate mutable matcher traversal. Exercise returned mutable references under Miri with stacked borrows, and make the Miri budget and borrow check configurable through the environment. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
Exercise the separately generated match and extraction paths at every supported arity. Fail nontrivial properties whose generated shape never matches. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
Generate varied outer and quoted-packet layouts, including VLANs, extensions, family mismatches, and truncated transports. Compare embedded matching and extraction at every reachable arity and exercise mutable splits under Miri. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
Check that optional matchers are never stricter than their required forms, then cover absent, wrong-variant, and cursor-advancing behavior directly. Pin the embedded combinators' inner-accumulator semantics. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
Derive each type-level shape from its matcher chain, then compare returned layer addresses across all arities. Add explicit VXLAN and first-step rejection cases. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
Scramble parent protocol fields before stacking header chains, then deparse and reparse to verify that `Within::conform` names the actual child. Exercise VLAN and extension-header transitions throughout the conformance graph. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
Exercise every ICMP subtype builder and verify that caller customization survives installation. Cover ICMP quoted inside ICMP errors and assert the quoted IP protocol field directly. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
Lower the minimum case count so coverage-instrumented runs still execute the guard while deliberately short Miri runs skip it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
4262cba to
cfaa23b
Compare
No description provided.