Skip to content

fix(hip): three BitField namespaces leave reserved bits unnamed, so they rebuild as zero #1417

Closed

Description

@JarryShaw

Describe the bug
Three HIP BitField namespaces leave bits unnamed, and the unnamed bits are packed as zero on rebuild. #1416's invariant test found them (start, length):

  • HIP.ver: (4, 3)
  • RouteDstParameter.flags: (2, 14)
  • RouteViaParameter.flags: (2, 14)

To Reproduce
Set those bits non-zero in a raw HIP packet, parse it, and rebuild with HIP.from_data(p.info).data. The bits come back as zero.

Expected behavior
Byte-exact, per the every-round-trip ruling. Name a reserved sub-field at each site (the #654 policy) and carry it through the reader, data model and make(), as #1253 did. Then delete the three entries from KNOWN_GAPS in tests/protocols/schema/test_bitfield_coverage_unit.py.

Part of #1288.

Activity

  1. added
    fixPull requests that fix a defect (fix: subject prefix)
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 8, 2026
  2. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 8, 2026
  3. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    fixPull requests that fix a defect (fix: subject prefix)

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions