Skip to content

feat(const): ARPHRD declares __proto_dest__ so ARPHRD codes register on LinuxSLL - #2598

Merged
JarryShaw merged 1 commit into
mainfrom
feat/2533-arphrd-proto-dest
Nov 2, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
feat/2533-arphrd-proto-dest

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

What is the purpose of your pull request?

  • feat — adds a feature

Description of your pull request and other information

ARPHRD now declares __proto_dest__, naming LinuxSLL, so register_protocol_code(code=ARPHRD.X, ...) finds LinuxSLL's registry by itself. On main it raised "no destination registry is known for enum type 'ARPHRD'".

  • Generated module: the crawler declares PROTO_DEST, and pcapkit.const.linux.arphrd is regenerated from it. The generated diff adds only __proto_dest__ and its import, and regenerating again changes nothing.
  • Reachability audit: it now checks FRAD, GRE, Netlink and Radiotap against LinuxSLL.__proto__. Its floor is raised to the measured count; the old floor was already below main's.
  • Docs: the const page documents __proto_dest__, now the only place ARPHRD is documented (docs(pcapkit): give every undocumented shipped module a page #2584). The docs build's warning set is identical to main's.

LinuxSLL has never been released, so there is no versionchanged.

Closes #2533

…inuxSLL (#2533)

- vendor/linux/arphrd: the crawler declares PROTO_DEST naming LinuxSLL.
- const/linux/arphrd: regenerated by the crawler; the diff adds only the
  __proto_dest__ declaration and its ModuleDescriptor import.
- register_protocol_code's docstring lists ARPHRD -> LinuxSLL, and the
  ARPHRD entry on the const page documents __proto_dest__ as the other
  registries' do.
- tests: both EXPECTED tables gain ARPHRD; new tests pin inference to
  LinuxSLL.register, a code=ARPHRD.NETROM class reached by LinuxSLL2
  dispatch, and the committed const module equalling the crawler's render
  (a regeneration pin, so its docstring says it is not the fail-before
  proof). The reachability audit now covers the ARPHRD-keyed classes, so
  its floor is re-measured and its comment states no count.
@JarryShaw JarryShaw added feat Pull requests that add a new capability (feat: subject prefix) review: good-to-go Cross-review at the current head says ready; CI state is separate labels Nov 1, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 4911c7d36. A Sonnet review covered the crawler and the regeneration, and I checked the rebase delta myself. The generated diff is __proto_dest__ only, and the const page documents it with a warning set identical to main's. The reachability floor is raised to the measured count. The pin docstring says it is a regeneration pin, while EXPECTED and the inference tests are what fail without the declaration.

@JarryShaw JarryShaw moved this to In review in PyPCAPKit Nov 1, 2026
@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Coverage: 94.04% (unit tier, Python 3.15, 4911c7d36, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 20095 144 2712 125 98.78%
pcapkit/corekit 2605 74 818 37 96.52%
pcapkit/dumpkit 281 3 100 3 98.43%
pcapkit/foundation 3360 27 1186 32 98.70%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 20346 220 5370 204 98.34%
pcapkit/toolkit 961 28 342 10 96.32%
pcapkit/utilities 506 7 144 5 98.15%
pcapkit/vendor 5011 2213 1148 182 52.51%

Per-file detail: the coverage-html artifact of this run.

@JarryShaw
JarryShaw merged commit 6084716 into main Nov 2, 2026
65 checks passed
@JarryShaw
JarryShaw deleted the feat/2533-arphrd-proto-dest branch November 2, 2026 02:20
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Nov 2, 2026
@github-actions github-actions Bot added this to the PyPCAPKit v1.6 milestone Nov 2, 2026
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Nov 2, 2026
JarryShaw added a commit that referenced this pull request Nov 2, 2026
…1.6.0 (#2449)

- Added: DCCP, its checksum over the IP pseudo-header, register_dccp and
  register_dccp_option, and the pcapkit.const.dccp registries (#2593).
- Folded into unreleased entries: LinuxSLL's stop on its ARPHRD path
  (#2587) and ARPHRD's __proto_dest__ (#2598), SSLv2 records chained in a
  segment (#2585), the checksum's move to pcapkit.corekit.checksum.internet
  (#2586), and IGMPv2's and IGMPv3's versioned name (#2590).
- Breaking: InARP moves to pcapkit.protocols.link.inarp with no re-export,
  joining the DRARP entry (#2596).
- Changed: the conventions' new rulings (#2599), the milestone workflow's
  next-open-milestone lookup (#2591), the PyPy protocols shards (#2604).
  Fixed: a handled next-layer refusal is quiet under beholder (#2597); the
  IPX crawlers restore sys.path (#2601).
- CHANGELOG.md regenerated; util/changelog_md.py --check passes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat Pull requests that add a new capability (feat: subject prefix)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat(const): ARPHRD declares __proto_dest__ so code=ARPHRD.X infers LinuxSLL

1 participant