You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(ipv6): reserved bits not named in a BitField are written back as zero (Frag, RPL routing, MPL, IP_DFF, Quick-Start) #1235
Describe the bug
The BitField namespaces name only some bits, so the rest are zeroed on rebuild: schema/internet/ipv6_frag.py:38-41 (2 bits after the offset), schema/internet/ipv6_route.py:206-208 (20 reserved bits of the RPL header, RFC 6554), schema/internet/hopopt.py:706-710 (MPL rsv), :791-795 (IP_DFF), :653,:669 (Quick-Start nonce R bits). #1199 fixed only the RPL option; #1211 and #1212 are the TCP counterparts.
Every remaining site already round-trips on main (ec2ba13a4). #1307 fixed Frag and RPL routing; #1310 named reserved sub-fields for MPL, IP_DFF and the Quick-Start nonce R bits (schema/internet/hopopt.py, mirrored in ipv6_opts.py).
Measured with parse → from_data(...).data through both HOPOPT and IPv6_Opts. All of these are byte-exact:
MPL rsv=0xf: 3b006d044f05abcd
IP_DFF reserved=0xf: 3b00ee034f123400
Quick-Start request, nonce R=1 and R=2
Quick-Start report, nonce R=1
tests/protocols/internet/test_ipv6_options_roundtrip_unit.py already pins these cases.
The IP_DFF repro in the body declares Opt Data Len 2; IP_DFF needs 3, and the reader correctly rejects it. Closing.
Activity
JarryShaw commentedon Oct 7, 2026
A worker is on it now.
fix(ipv6): IPv6 core headers rebuild byte-exactly (#1230, #1231, #1236,
fix(ipv6-opts): rebuild HOPOPT and IPv6-Opts option areas byte-exactly (
JarryShaw commentedon Oct 8, 2026
Every remaining site already round-trips on
main(ec2ba13a4). #1307 fixed Frag and RPL routing; #1310 namedreservedsub-fields for MPL, IP_DFF and the Quick-Start nonce R bits (schema/internet/hopopt.py, mirrored inipv6_opts.py).Measured with parse →
from_data(...).datathrough bothHOPOPTandIPv6_Opts. All of these are byte-exact:rsv=0xf:3b006d044f05abcdreserved=0xf:3b00ee034f123400tests/protocols/internet/test_ipv6_options_roundtrip_unit.pyalready pins these cases.The IP_DFF repro in the body declares Opt Data Len 2; IP_DFF needs 3, and the reader correctly rejects it. Closing.
docs(protocols): second pass over the IPv6 extension headers (#1103) (#…