Repository navigation
fix(internet): align IGMP id() with the family-grouping ruling (#2512) - #2518
Merged
Merged
Conversation
- IGMPv3.id() is ('IGMPv3',), narrowed to self; RFC 3376 names it with a
version.
- IGMP.id() is ('IGMP', 'IGMPv2', 'IGMPv3'): each member's canonical name,
so no id() carries 'IGMPv1'. Annotations and docstrings follow.
- protocol-family-grouping.rst: IGMPv3 joins the member-shapes table's
narrow row and the Canonical Names IGMP paragraph.
- test_igmp_unit.py: pins all four id() tuples, and the selector
semantics on parsed layers -- in, [] and protochain by key and class,
and string ==.
Owner
Author
|
Cross-review (Sonnet) at One pre-existing gap will be folded in as a follow-up commit here. The |
This was referenced Nov 1, 2026
JarryShaw
added a commit
that referenced
this pull request
Nov 1, 2026
…#2449) - IGMP: add IGMPv3.id() ('IGMPv3',) and the base's ('IGMP', 'IGMPv2', 'IGMPv3') from #2518; version selection is by message type, except a Membership Query, split by length and, at 8 octets, by Max Resp Time. - LinuxSLL: ARPHRD names only the <linux/if_arp.h> values its crawler's table lists; any other, ARPHRD_ETHER included, reads as Unassigned. - IPv6 extension-header walk: the library no longer passes IPv6_Ext.read() an error=, so IPv6_Ext.error is None unless a caller supplies one; the Raw layer's info.error holds the failure. - 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 defectDescription of your pull request and other information
Closes #2512. #2465 and #2506 both edited
igmp.py, and the merge left main contradictingprotocol-family-grouping.rst.IGMPv3.id():('IGMP', 'IGMPv3')→('IGMPv3',), narrowed to itself (RFC 3376 names it with a version).IGMP.id():('IGMP', 'IGMPv1', 'IGMPv2', 'IGMPv3')→('IGMP', 'IGMPv2', 'IGMPv3'). No member'sid()is'IGMPv1'since fix(internet): narrow IGMP's id() to self, per owner's post-merge ruling #2506; that selector still works through its registry key.protocol-family-grouping.rst: IGMPv3 is added to Member Shapes and Canonical Names.id()of all four classes, plus the selector semantics on parsed v1/v2/v3 layers. 13 of them fail without the fix.Ran
test_igmp_unit.py(68 passed), the dispatch-registry and conventions-doc-claims tests, and the plain-unittest ordering run.