[Sis-dtn] First draft LTP protocol element naming

Sanchez Net, Marc (US 332H) marc.sanchez.net at jpl.nasa.gov
Tue Nov 16 20:07:46 UTC 2021


My view on your open items:

  *   Wrap checkpoint_serial_number and report_serial_number? Keep it consistent with rest of CCSDS. If wrapping is allowed for transfer frames, then I don't see why LTP would need to be more constrained.
  *   I would rather do indexing at the reception_claim level to avoid having to do implicit association of indexes between claims, offsets and lengths.

Thanks,
-----------------------------------------------------------------------------------------------------------------------
Marc Sanchez Net
Telecommunications Engineer
Jet Propulsion Laboratory
Office: (818) 354-1650<tel:(818)%20393-5840> | Email: marc.sanchez.net at jpl.nasa.gov<mailto:marc.sanchez.net at jpl.nasa.gov>
-----------------------------------------------------------------------------------------------------------------------

From: SIS-DTN <sis-dtn-bounces at mailman.ccsds.org> On Behalf Of Dr. Keith L Scott
Sent: Wednesday, November 10, 2021 6:02 AM
To: sis-dtn at mailman.ccsds.org
Cc: Barkley, Erik J (US 3970) <erik.j.barkley at jpl.nasa.gov>
Subject: [EXTERNAL] [Sis-dtn] First draft LTP protocol element naming

OK, I took a cut at a hierarchical LTP protocol naming (this is really just lifted from the Draft Red Book).  I specifically stayed away from specifying on-the-wire encoding (field lengths) for this.

I have a bit of a question around report segment reception claims, whether it's better to do array indexing at the reception_claim level or the offset/length level.

It would seem, except for the complexity of indexing off the field_length_identifer to determine all the relevant field lengths, that this could be expressed in TSN.1 pretty easily.

Thoughts?

                                --keith


Term

Data Type

Units

Range



Description

segment_header

version_number

unsigned integer

N/A

0-15

ltp.segment_header.version_number



type_control

flag

N/A

[0|1]

ltp.segment_header.type_control



type_exc

flag

N/A

[0|1]

ltp.segment_header.type_exc



type_flag1

flag

N/A

[0|1]

ltp.segment_header.type_flag1



type_flag0

flag

N/A

[0|1]

ltp.segment_header.type_flag0



type_code

flag

N/A

[0|1]

ltp.segment_header.type_code



field_length_identifier

unsigned integer

N/A

0-255

ltp.segment_header.field_length_identifier



session_originator

unsigned integer

N/A

Determined by ltp.segment_header.field_length_identifier

ltp.segment_header.session_originator



session_number

unsigned integer

N/A

Determined by ltp.segment_header.field_length_identifier

ltp.segment_header.session_number

















data_segment

client_service_id

unsigned integer

N/A

Determined by ltp.segment_header.field_length_identifier

ltp.data_segment.client_service_id



offset

unsigned integer

bytes

Determined by ltp.segment_header.field_length_identifier

ltp.data_segment.offset



length

unsigned integer

bytes

Determined by ltp.segment_header.field_length_identifier

ltp.data_segment.length



checkpoint_serial_number

unsigned integer

N/A

Determined by ltp.segment_header.field_length_identifier

ltp.data_segment.checkpoint_serial_number

Should we specify that these wrap at the end?  I think the current spec says to abort if you run out of sequence space.

report_serial_number

unsigned integer

N/A

Determined by ltp.segment_header.field_length_identifier

ltp.data_segment.report_serial_number

Should we specify that these wrap at the end?  I think the current spec says to abort if you run out of sequence space.

client_service_data

 Blob of octets

N/A

Determined by ltp.segment_header.field_length_identifier

ltp.data_segment.client_service_data

















report_segment

report_serial_number

unsigned integer

N/A

Determined by ltp.segment_header.field_length_identifier

ltp.report_segment.report_serial_number

Should we specify that these wrap at the end?  I think the current spec says to abort if you run out of sequence space.

checkpoint_serial_number

unsigned integer

N/A

Determined by ltp.segment_header.field_length_identifier

ltp.report_segment.checkpoint_serial_number

Should we specify that these wrap at the end?  I think the current spec says to abort if you run out of sequence space.

upper_bound

unsigned integer

bytes

Determined by ltp.segment_header.field_length_identifier

ltp.report_segment.upper_bound



lower_bound

unsigned integer

bytes

Determined by ltp.segment_header.field_length_identifier

ltp.report_segment.lower_bound



reception_claim_count

unsigned integer

N/A

Determined by ltp.segment_header.field_length_identifier

ltp.report_segment.reception_claim_count



    reception_claim_offset

unsigned integer

bytes

Determined by ltp.segment_header.field_length_identifier

ltp.report_segment.reception_claim_offset[x]

What's the right way to deal with arrays?  We could do ltp.report_segment.reception_claim[x].[offset, count] instead.

    reception_claim_length

unsigned integer

bytes

Determined by ltp.segment_header.field_length_identifier

ltp.report_segment.reception_claim_length[x]

What's the right way to deal with arrays?  We could do ltp.report_segment.reception_claim[x].[offset, count] instead.















report_acknowledgement_segment

report_serial_number

unsigned integer

N/A

Determined by ltp.segment_header.field_length_identifier

ltp.report_acknowledgement_segment.report_serial_number




cancel_segment

reason_code

unsigned integer

 N/A

0-255

ltp.cancel_segment.reason_code





cancel_acknowledgement_segment

<no payload>







ltp.cancel_acknowledgement_segment




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/sis-dtn/attachments/20211116/12c123d9/attachment-0001.htm>


More information about the SIS-DTN mailing list