[Sis-dtn] Some thoughts to the current HPRP draft (Section 1 - 4)

Jeremy.Mayer at dlr.de Jeremy.Mayer at dlr.de
Mon Jul 29 12:26:26 UTC 2024


Hi Cheol,
Comments inlined ☺

Thanks,
Jeremy

From: 구철회 <chkoo at kari.re.kr>
Sent: Dienstag, 23. Juli 2024 04:38
To: Felix Flentge <Felix.Flentge at esa.int>
Cc: sis-dtn at mailman.ccsds.org; sburleig.sb at gmail.com; Mayer, Jeremy <Jeremy.Mayer at dlr.de>
Subject: Some thoughts to the current HPRP draft (Section 1 - 4)

Hi, colleagues.

I just read the current HPRP draft and let me share some thoughts from me on the contents of Section 1 to 4.

1) 4.1 HPRP Segment
It could be informative if we add a ‘Data Segment Section (Optional, variable)’ after ‘Header Extensions’ field.
Refer the figure on page. 10 of RFC 5326 “LTP – Specification”.
JPM: Added “segment body”
2) 4.1 HPRP Segment
Segment Type ID (bit field of 4 – 5) could be extended to ‘bit field of 4 – 7’ to hold an indication of the ‘end of reliable data transmission in current session’ like EORP or EOB in LTP (RFC-5326). Why are the EORP and EOB field deprecated in HPRP? Unlikely CP (Checkpoint), these are useful for space saving and good match with FPGA, e.g., a fastest way of generating an interrupt for this event.
IMO, removing the descriptor of the ‘EORP’ or ‘EOB’ does not bring much benefit. Sending the DAR (Data Acknowledgement Request) at the edge of the data transmission may not be efficient although DAR is quite good message scheme for asynchronous state check of data reception. I think DAR is better way than ‘CP’ in LTP spec for this purpose.
JPM: Those fields are deprecated to simplify the interfaces required for hardware acceleration; We made a simplifying assumption that, in an FPGA-accelerated implementation, the user would implement all the complex state-keeping stuff within a CPU instead of an FPGA fabric. Therefore, we aimed to optimize the transfer of real-time signaling data between the CPU and FPGA. By simply copying the entire extension field (if it exists, and optionally only if it’s a system extension), you facilitate use of DMA for transfers and allow a single interrupt (DMA transfer completed) to signal any and all protocol signaling.
3) 4.1.8.3
The value session number length --> The value of the session number
(Q) The session number can be 0? I think it should be non-zero because 0 means, generally, the first index of an array or indicator that means no actions required.
JPM: It can be, or randomly generated. In the existing implementation, we basically just used whatever was available (e.g. a potentially uninitialized variable)
4) 4.2.8.2.2.1
  Data Acknowledgement extensions must be acknowledged by the receiving (--> sending) engine via a metadata acknowledgment message.
JPM: Updated text to clarify.
5) 4.3.2.2 Client Service ID
It could be informative if we add a description about how this field relate RFC-7116. Also, we may need to update this RFC-7116 document for adapting HPRP.
JPM: I think this needs to be discussed.
6) 5.2.3
 Upon the end of reception --> Upon the reception of un-successful data acknowledgement
JPM; Minor update bade
7) 5.2.4 Transmit Acknowledgement Request
 IMO, ‘Timeout’ could be more semantically appropriate word than ‘Interval’ in this context.
JPM: We’re using the same value as the transmission interval on the Tx side, so I think this can stay unless someone has strong opinions about it.
Best,
Cheol


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/sis-dtn/attachments/20240729/9f1a7251/attachment.htm>


More information about the SIS-DTN mailing list