Repository navigation
(17b) net: model the optional LLDP TLVs - #1920
Draft
daniel-noland wants to merge 1 commit into
Draft
daniel-noland wants to merge 1 commit into
daniel-noland wants to merge 1 commit into
Conversation
daniel-noland
force-pushed
the
pr/daniel-noland/lldp
branch
from
October 16, 2026 04:23
18c3a91 to
acc9d42
Compare
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Comment |
This was referenced Oct 16, 2026
daniel-noland
force-pushed
the
pr/daniel-noland/lldp-optional-tlvs
branch
from
October 16, 2026 05:47
3407761 to
f922347
Compare
daniel-noland
force-pushed
the
pr/daniel-noland/lldp
branch
from
October 16, 2026 05:47
acc9d42 to
8ad4269
Compare
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
daniel-noland
force-pushed
the
pr/daniel-noland/lldp
branch
from
October 16, 2026 08:43
8ad4269 to
7897c2f
Compare
daniel-noland
force-pushed
the
pr/daniel-noland/lldp-optional-tlvs
branch
2 times, most recently
from
October 17, 2026 03:26
25480aa to
9cf234a
Compare
daniel-noland
force-pushed
the
pr/daniel-noland/lldp
branch
2 times, most recently
from
October 17, 2026 05:59
02506de to
abac097
Compare
daniel-noland
force-pushed
the
pr/daniel-noland/lldp-optional-tlvs
branch
from
October 17, 2026 05:59
9cf234a to
6f7d9c4
Compare
The second of three changes adding `net::lldp`: the TLVs which may follow the mandatory three. Port and system description, system name, system capabilities and management address each get a type, as do the IEEE 802.1 and IEEE 802.3 extensions carried in the organizationally specific TLV. As with the mandatory TLVs, the subtypes this dataplane has a use for are decoded and everything else is kept verbatim: an unknown TLV type, OUI or 802.1/802.3 subtype round trips octet for octet. The escape hatches for unmodelled TLVs refuse anything with a structured representation, which is what keeps the mapping between octets and values one to one. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
daniel-noland
force-pushed
the
pr/daniel-noland/lldp-optional-tlvs
branch
from
October 17, 2026 06:17
6f7d9c4 to
c5e9535
Compare
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.
Native LLDP for the gateway. The dataplane owns its NICs, so nothing else can speak LLDP for them, and
lldpd/lldpadare hostile to automation. LLDP itself is small, so the dataplane transmits and receives it.This used to be one PR. It is now a stack of seven, each building on the one before:
net: TLV framing and the mandatory TLVsnet: the optional TLVs ← this PRnet: the LLDPDU andHeaders::parselldp: the transmitter and the neighbour tabledataplane: advertise on every portdataplane: hear neighbours,show lldp neighbors, all-multicastStacked on (16) #1905, capture. (18) #1907, rate limiting, and (19) #1919, traffic protection, build on top.
This PR: the optional TLVs
The second of three PRs adding
net::lldp: the TLVs that may follow the mandatory three.Text).Anything not modelled round-trips verbatim: unknown TLV types, OUIs and subtypes. The escape hatches for unmodelled TLVs refuse anything that has a structured representation, which keeps the mapping between octets and values one to one.
Testing
Property tests per TLV, as in the first PR.
🤖 Generated with Claude Code