nasa / bplib

Apache License 2.0
27 stars 13 forks source link

Update bundle identification to include timestamp field #257

Open jphickey opened 11 months ago

jphickey commented 11 months ago

Is your feature request related to a problem? Please describe. Currently, duplicate detection is only done on the sequence number. While this works well when both ends of the connection are based on bplib, other implementations may reset the counter to zero whenever the timestamp changes (as allowed by the RFC).

This means that all bundles with sequence number 0 are rejected as duplicate.

Describe the solution you'd like Include timestamp as part of duplicate matching.

Additional context Duplicate matching is currently done using EID + sequence number. This needs to become EID + timestamp + sequence number. As a result things like DACS will become bigger (nominally 2x size) due to this extra field.

Requester Info Joseph Hickey, Vantage Systems, Inc.

jphickey commented 11 months ago

Note that the DACS signal and the duplicate detection on incoming bundles uses the same underlying method/info to locate an existing bundle. So while the observed issue was related to incoming bundles, the custody acknowledgement signal also needs to be updated accordingly as well.