Repository navigation
(17b) net: model the optional LLDP TLVs - #1920
daniel-noland merged 1 commit into
Conversation
18c3a91 to
acc9d42
Compare
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
3407761 to
f922347
Compare
acc9d42 to
8ad4269
Compare
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
8ad4269 to
7897c2f
Compare
25480aa to
9cf234a
Compare
02506de to
abac097
Compare
6f7d9c4 to
c5e9535
Compare
008279a to
7ac70e9
Compare
c5e9535 to
9133570
Compare
mvachhar
left a comment
There was a problem hiding this comment.
Note
AI-assisted review: This review was drafted with Claude and reviewed by @mvachhar.
Approving. The nested length fields (management address, VLAN name) are all checked before use, so malformed TLVs from a neighbour can't panic, and unknown TLVs round-trip verbatim. Same spec-citation gap as noted on #1906.
9133570 to
7588f96
Compare
133e3f0 to
0233907
Compare
7588f96 to
1cbf332
Compare
1cbf332 to
e051ba4
Compare
872b12a to
e2135c1
Compare
e051ba4 to
0831d7b
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>
e2135c1 to
c5f2178
Compare
0831d7b to
6a28f65
Compare
6a28f65
into
pr/daniel-noland/dpdk-init
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