5.1. Primary Block
The fields of the encapsulating bundle's primary block (Section 4.3.1 of [RFC9171]) are populated as for any newly created bundle, subject to the following:¶
- Destination EID:
-
SHALL be the decapsulation endpoint ID toward which the encapsulated bundle is being forwarded. When the payload is a segment payload, every encapsulating bundle of the transfer SHALL bear the same destination EID: the destination is one element of the scope that identifies the transfer (Section 4.3).¶
- Source node ID:
-
SHOULD be a node ID of the encapsulating node — the EID of any singleton endpoint in which that node is registered (Section 4.2.5.2 of [RFC9171]): anonymous (dtn:none) sourcing defeats the peer authentication measures described in Section 7. Note that a node may legitimately hold many node IDs; which of them is used is a matter of policy. When the payload is a segment payload, however, the source node ID MUST NOT be dtn:none, and every encapsulating bundle of the transfer SHALL bear the same source node ID: a decapsulation element identifies a transfer by literal comparison of source node IDs (Section 4.5), without resolving which node an EID names, so a node holding several node IDs must use one of them consistently throughout a transfer.¶
- Report-to EID:
-
Set according to the policy of the encapsulating node.¶
- Bundle processing control flags:
-
Set according to the policy of the encapsulating node; the flags of the encapsulated bundle have no bearing on them. The "bundle's payload is an administrative record" flag MUST NOT be set.¶
- Creation timestamp:
-
Set as for any newly created bundle (Section 4.2.7 of [RFC9171]); it is unrelated to the creation timestamp of the encapsulated bundle.¶
- Lifetime:
-
SHALL be set such that the expiry time of the encapsulating bundle (creation time plus lifetime) is no later than the expiry time of the encapsulated bundle: the tunnel can never extend the transmission opportunity of the encapsulated bundle — an encapsulating bundle that outlived it would waste network resources carrying a bundle already expired at decapsulation — and this bound underpins the transfer machinery of Section 4.3 and Section 4.6. The expiry time MAY be earlier than that of the encapsulated bundle, deliberately curtailing the tunnel transit: for example, where it is known that a bundle failing to complete the tunnel sub-path within a certain duration cannot achieve onward delivery within its own lifetime.¶
For a segmented transfer, every encapsulating bundle of the transfer SHALL share a single expiry time — the transfer's expiry — regardless of when each is created, so that the expiry of a transfer is well defined at both the encapsulating and decapsulating nodes. Since a bundle's expiry is a quantity derived from its creation time and lifetime (Section 5.5 of [RFC9171]), this is achieved by a rolling calculation: each encapsulating bundle is created with its natural creation timestamp, and its lifetime is set to the interval remaining between its creation and the transfer's expiry. A node without an accurate clock performs the same calculation against locally elapsed time, setting each encapsulating bundle's lifetime to the transfer duration remaining at that bundle's creation and carrying a Bundle Age block as usual (Section 4.4.2 of [RFC9171]).¶
Assigning every encapsulating bundle of a transfer an identical creation timestamp, and hence an identical lifetime, is not an alternative. The creation timestamp is a property of the BPA's timestamp mechanism (Section 4.2.7 of [RFC9171]), not a per-transfer parameter, and together with the source node ID it identifies a bundle: bundle status reports identify their subject bundle by exactly that pair (Section 6.1.1 of [RFC9171]), so encapsulating bundles sharing a creation timestamp would render the per-segment delivery reports of Section 6.1 indistinguishable.¶
Selection of all other parameters governing the forwarding of encapsulating bundles (priority, security policy, etc.) is likewise a matter for the encapsulating node; the corresponding parameters of the encapsulated bundle MAY be consulted where they are known.¶