Repository navigation
refactor(internet): name IGMP member classes after their modules (#2529) - #2542
Merged
Merged
Conversation
- Rename igmpv1/igmpv2/igmpv3.IGMP to IGMPv1/IGMPv2/IGMPv3, and the igmpv3 schema and data classes to IGMPv3; id(), alias, registry keys and package exports are unchanged, and info_name now follows the class name. - Update the dispatch imports, docstrings, API pages, ext.rst rows and the Mermaid click anchors to the new names. - Merge igmp.py's two versionadded directives into one bare tag and drop igmpv3.py's restating body (#2530). - Record the rulings: a protocol class takes its module's name and a module holds one protocol class (protocol-family-grouping), and the versionadded rule (documentation). A new test pins the class names, __all__ and info_name.
…ys (#2529) - Reachability audit: accept a class that inherits its family base's __index__ (new _inherits_index()), not a shared module or __name__; IGMPv1/2/3 now pass through IGMP's entry. Same hunk as the DRARP move. - igmp.rst: key the shared IGMPv1/v2 table as igmpv1.*, noting IGMPv2's keys start igmpv2. - igmpv3.rst and the igmpv3 module docstring: key both tables as igmpv3.* on the flat Query/Report data fields; split the flags octet into resv, s_flag and qrv; leave Number of Sources unkeyed, as it is not output. - protocol-family-grouping.rst: the name match ignores case and underscores; schema/ and data/ modules follow the same layout; list the classes still pending under #2529.
Owner
Author
|
Cross-review (Sonnet) at |
This was referenced Nov 1, 2026
Contributor
|
Coverage: 93.94% (unit tier, Python 3.15,
Per-file detail: the |
4 of 14 tasks
JarryShaw
added a commit
that referenced
this pull request
Nov 1, 2026
#2490, #2575) #2541's exception table was built on a base without #2528 and #2542, so main fails the member-order guard: #2528 put DTLS back in order, and #2542 renamed the IGMP classes to IGMPv3. Drop DTLS and re-key the IGMP entries. #2509 merged before #2521 required a wrapper for every class-level map, so Radiotap.__proto__ has none. Nothing dispatches by it yet; excuse it until #2575 adds Radiotap.register and register_radiotap.
JarryShaw
added a commit
that referenced
this pull request
Nov 1, 2026
- Added: one's-complement checksum verification and computation (#2543), and the IPX and SCTP registration wrappers (#2521). - Folded into unreleased entries: LinuxSLL/FRAD/Netlink registries (#2527), the IGMP class names (#2542), TLS record chaining and the SSLv2 trial's warnings (#2537), DTLS reassembly via Extractor and toolkit (#2528), and IP_Pseudo's walk at any depth (#2543). ICMP drops its stale checksum line. - Breaking: make() checksums, DRARP's module (#2540), IPv6 overlapping fragments (#2569), TCP_GAP_LIMIT replacing TCP.__window__ (#2579), and Extractor/extract's positional dtls (#2528). - Changed: member order (#2490), conventions (#2542, #2521, #2570), CI -n logical (#2572). Fixed: AppType.get (#2568), trial warnings (#2519, #2577). - CHANGELOG.md regenerated; util/changelog_md.py --check passes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
make pylint,make mypy,make isort)make testpasses, and a test case covers the changeWhat is the purpose of your pull request?
fix— corrects a defectfeat— adds a featureperf— changes performance, not behaviourrefactor— changes neither behaviour nor performancetest— tests onlydocs— documentation onlyci— workflows or build toolingrelease— bumps the version or rolls up a distributionchore— anything elseconst— regenerates constant or registry tables, members keeping their numeric valuesDescription of your pull request and other information
Part of #2529, closes #2530.
igmpv1/igmpv2/igmpv3.IGMPbecomeIGMPv1/IGMPv2/IGMPv3, and the IGMPv3 schema and data classesIGMPv3.id(), aliases, registry keys and package exports are unchanged, andinfo_namefollows the class (igmpv1/igmpv2/igmpv3). The classes are unreleased, so nothing shipped breaks.versionaddedrule (docs: one versionadded per version per block, with no body that only restates and cites #2530).__index__, with the same change as refactor(application)!: move DRARP into its own module (#2529) #2540. The IGMP output tables use the per-version keys.