Expand description
HelloPayload — NDN neighbor discovery hello packet TLV codec.
Both EtherNeighborDiscovery and UdpNeighborDiscovery encode their
Data Content using this shared format.
§Wire format
HelloPayload ::= NODE-NAME TLV
(SERVED-PREFIX TLV)*
CAPABILITIES TLV?
(NEIGHBOR-DIFF TLV)*
NODE-NAME ::= 0xC1 length Name
SERVED-PREFIX ::= 0xC2 length Name
CAPABILITIES ::= 0xC3 length FLAGS-BYTE*
NEIGHBOR-DIFF ::= 0xC4 length (ADD-ENTRY | REMOVE-ENTRY)*
ADD-ENTRY ::= 0xC5 length Name
REMOVE-ENTRY ::= 0xC6 length NameTLV types use the application-specific range (≥ 0xC0) to avoid collisions with NDN packet-level types.
§Hello Interest / Data names
Interest: /ndn/local/nd/hello/<nonce-u32>
Data: /ndn/local/nd/hello/<nonce-u32>
Content = HelloPayload TLV (this module)The Interest carries no AppParams. The sender’s link-layer address is
obtained from the socket (recv_with_source) and never embedded in the
NDN packet.
Structs§
- Hello
Payload - Payload carried in the Content of a hello Data packet.
- Neighbor
Diff - SWIM gossip piggyback carried in hello Data Content.
Enums§
- Diff
Entry - A single entry inside a
NeighborDiff: add or remove a neighbor name.
Constants§
- CAP_
CONTENT_ STORE - Capability flag: this node has an active content store.
- CAP_
FRAGMENTATION - Capability flag: this node can reassemble NDN fragments.
- CAP_SVS
- Capability flag: this node supports State Vector Sync (SVS).
- CAP_
VALIDATION - Capability flag: this node validates signatures on forwarded data.
- T_
ADD_ ENTRY ADD-ENTRYwithin aNEIGHBOR-DIFF: a newly discovered neighbor.- T_
CAPABILITIES CAPABILITIESTLV type: advisory capability flags byte.- T_
NEIGHBOR_ DIFF NEIGHBOR-DIFFTLV type: SWIM gossip piggyback.- T_
NODE_ NAME NODE-NAMETLV type: the sender’s NDN node name.- T_
PUBLIC_ KEY PUBLIC-KEYTLV type: raw 32-byte Ed25519 public key for self-attesting signed hellos.- T_
REMOVE_ ENTRY REMOVE-ENTRYwithin aNEIGHBOR-DIFF: a departed neighbor.- T_
SERVED_ PREFIX SERVED-PREFIXTLV type: a prefix the sender can serve.- T_
UNICAST_ PORT UNICAST-PORTTLV type: the sender’s UDP unicast listen port.