Skip to content

fix(const): LLACode.Wilcard misspells RFC 5568's code 0, and LLACode.MH names code 2 differently from the RFC #1848

Closed

Description

@JarryShaw

pcapkit/vendor/mh/lla_code.py:25-30 hand-writes the table.

  • Code 0 is 'Wilcard', a typo: its own comment and RFC 5568 §6.4.3 say Wildcard.
  • Code 2 is 'MH', where the comment and the RFC say Link-Layer Address of the MN. This one is a naming judgement rather than a typo: the library's only use of it is the MH link-layer address option.

The generated LLACode.Wilcard = 0 and LLACode.MH = 2 have shipped since 1.0.1.post1 (55cde1b33) and are in 1.4.1, so a rename is breaking. In-tree users of LLACode.MH are protocols/internet/mh.py:3257,8105 and tests/protocols/internet/test_mh_unit.py:367,801,1301. #1845's probe also names LLACode.Wilcard.

Options:

  1. Rename Wilcard to Wildcard with versionchanged:: 1.5.0, and decide whether MH becomes MN. This follows the earlier rulings that renamed without a deprecated alias (fix(protocols)!: rename OSPF_CrytographicAuthentication and group OSPF under the application layer #1090, refactor(corekit)!: move the byte-order field helpers into corekit (#1711) #1715).
  2. Fix only the comments, and keep the shipped names.

Activity

  1. added
    fixPull requests that fix a defect (fix: subject prefix)
    breakingBreaks public-facing behaviour or API (apply alongside the type label)
    constRegenerated IANA or vendor constant tables; members keep their numeric values
    needs: decisionWaiting on the maintainer to decide — not blocked by other work
    on Oct 16, 2026
  2. moved this to Needs decision in PyPCAPKiton Oct 16, 2026
  3. JarryShaw commented on Oct 16, 2026

    @JarryShaw
    OwnerAuthor

    take option 1 - rename the typo and for Code 2, keep what the IETF/IANA/RFC says, as it may actually be a historical choice by the writers.

  4. JarryShaw commented on Oct 16, 2026

    @JarryShaw
    OwnerAuthor

    Recorded: option 1, for the typo. LLACode.Wilcard becomes LLACode.Wildcard, with a breaking-change versionchanged:: 1.5.0 and no deprecated alias, as in #1090. A worker is on that part.

    To confirm code 2: RFC 5568 §6.4.3 (as RFC 4068 did before it) names it Link-Layer Address of the MN, and IANA keeps no separate registry for these codes. Following the RFC therefore means renaming LLACode.MH to LLACode.MN as well, which touches protocols/internet/mh.py:3257,8105. Shall it become MN, or stay MH as shipped?

  5. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 16, 2026
  6. JarryShaw commented on Oct 16, 2026

    @JarryShaw
    OwnerAuthor

    MN then.

  7. JarryShaw commented on Oct 16, 2026

    @JarryShaw
    OwnerAuthor

    Recorded: LLACode.MH becomes LLACode.MN, following RFC 5568, alongside the Wildcard fix. Both go in the same breaking-change PR, with versionchanged:: 1.5.0 and no deprecated alias. The in-tree users (protocols/internet/mh.py:3257,8105 and tests/protocols/internet/test_mh_unit.py) are updated with them.

  8. removed
    needs: decisionWaiting on the maintainer to decide — not blocked by other work
    on Oct 16, 2026
  9. moved this from Needs decision to WIP in PyPCAPKiton Oct 16, 2026
  10. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 17, 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

    breakingBreaks public-facing behaviour or API (apply alongside the type label)constRegenerated IANA or vendor constant tables; members keep their numeric valuesfixPull requests that fix a defect (fix: subject prefix)

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions