NDNLPv2: NACK, Fragmentation, NextHopFaceId, CachePolicy, IncomingFaceId
Write spec for initial batch of NDNLPv2 features:
- network NACK
#10 Updated by Junxiao Shi over 4 years ago
Answer to #2841 note-13:
Can we call "NdnlpHeaderExtension" a "Feature"?
No, they are distinct concepts.
A feature can have zero or more header extensions (and trailer extensions).
For example, indexed fragmentation feature defines two HeaderExtensions:
Why don't we call "Nack" as "NackReason" or just "Reason". The description already calls it this way. For "DuplicataNack" and "GiveUpNack" I would lose "Nack" suffix. Why NACK reason should have "Nack" in it's name?
Why NdnlpPacket is assigned code 100 (0x64)?
#11 Updated by Junxiao Shi over 4 years ago
20150608 conference call reviewed revision 213b5818fefc773902728e66d5685cebf883f106.
Some comments are:
Ndnlpprefix on all types are unnecessary, because the design is in NDN context. However,
Lpprefix should appear on some types, because the "namespace" of TLV-TYPE declarations is flat, and
Lpis necessary to distinguish the type as part of NDNLPv2.
- Currently there are only 21 TLV-TYPEs reserved for link protocols, which would be insufficient according to the roadmap of NDNLPv2. We decide to reserve a block of TLV-TYPEs in 3-octet range for link protocols, and assign 3-octet codes to less common fields.
- The concept of
HeaderExtensionis confusing. It shall be renamed as
- It's unnecessary to let
Sequencestand out. Instead, it could be one choice of HeaderField.
HeaderFields under a header should be sorted in increasing TLV-TYPE order, so that there's only one way to encode a packet.
NdnlpTrailerwrappers are wasting octets. Those wrappers should be dropped, in favor of letting header and trailer fields appear directly under
#13 Updated by Junxiao Shi over 4 years ago
- Description updated (diff)
Document is updated according to note-11.
#14 Updated by Junxiao Shi over 4 years ago
- Status changed from Resolved to Closed
20150610 conference call approved this portion of the design.
#19 Updated by Junxiao Shi about 4 years ago
- Status changed from In Progress to Resolved
- % Done changed from 80 to 100
This revision takes some design from https://gist.github.com/cawka/f8bb5f558568f06c78ca/f552c86630eb07579b85849f3108d32bfa2340e6, with the following differences:
- "NackReason-specific TLVs" is not defined, because Duplicate and GiveUp don't need this.
- TLV-TYPE code assignments are updated with NackReason element.
#22 Updated by Junxiao Shi about 4 years ago
Answer to #2841 note-33:
I don't really like that you completely removed NackReason-specific elements in the spec. Why do you want to modify core parts of the specification (i.e., suddenly adding rules that Nack can actually contain multiple elements and define rules how to process those elements) instead of defining it just once upfront?
It's pointless to define something that won't be used.
We have decided not to define
LpTrailerField until it's first used.
For the same reason, NackReason-specific elements won't be defined until it's first used.
#25 Updated by Junxiao Shi about 4 years ago
- Status changed from In Progress to Closed
- % Done changed from 90 to 100
note-20 is fulfilled.
I also renamed CachingPolicy to CachePolicy to reduce the length.