IETF-OPSAWG-WG / draft-ietf-opsawg-pcap

PCAP next generation file format specification
Other
272 stars 62 forks source link

Additional RF information options for EPBs #56

Open ryankurte opened 5 years ago

ryankurte commented 5 years ago

Following from #48, this PR is to add per-packet options for capture information to the EPB, alongside the per-interface options introduced in #51.

This PR is a work in progress and requires further discussion, opening now so there is a clear delineation between this and #51.

TODO:

Options:

The updated RFC can be viewed here

Please read the RFC or check out the diff for an up to date view of the changes

jkcko commented 5 years ago

Please include the following EPBs options for time-slotted radios.

Start of slot timestamp. The start of slot timestamp for this packet. The start of slot preceeds the start of frame timestamp in the EPB header. Format and resolution follows that used for the EPB timestamp.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      epb_startofslot_ts       |                8              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Start of slot timestamp (high)                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Start of slot timestamp (low)                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Timeslot size. Duration of active timeslot from the start of slot timestamp. Resolution is the same as timestamps.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      epb_timeslot_size        |                4              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Timeslot size                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

End of Frame Timestamp. The end of frame timestamp marks the completion of a received packet. Useful for tracking packets that overrun a timeslot or where there are timing constraints on the ACK sent in response to a data frame.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      epb_endofframe_ts        |                8              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  End of frame timestamp (high)                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  End of frame timestamp (low)                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Absolute Slot number The absolute slot number is a monotonically increasing number for each timeslot. The ASN may be used in the nonce for packet decrytion.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         epb_slot_number       |                8              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Slot number (high)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Slot number (low)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
jkcko commented 5 years ago

I would also like to see standardized options for. Channel center frequency and Bit-rate.

ryankurte commented 5 years ago

Those seem like good options to me! Any thoughts @guyharris @packetfoo ? Otherwise I will add them when I can.

guyharris commented 5 years ago

Absolute Slot number The absolute slot number is a monotonically increasing number for each timeslot. The ASN may be used in the nonce for packet decrytion.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         epb_slot_number       |                8              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Slot number (high)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Slot number (low)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

I presume from the "monotonically increasing" and the 64-bit size that the slot number doesn't cycle around, i.e. it's not as if you have a fixed number of slots like the time slots in a TDM network.

jkcko commented 5 years ago

I presume from the "monotonically increasing" and the 64-bit size that the slot number doesn't cycle around, i.e. it's not as if you have a fixed number of slots like the time slots in a TDM network.

Right. This could be called "absolute slot number" instead so "slot number" in a "timeslot set" could be used for relative timeslots.

packetfoo commented 5 years ago

I presume from the "monotonically increasing" and the 64-bit size that the slot number doesn't cycle around, i.e. it's not as if you have a fixed number of slots like the time slots in a TDM network.

Right. This could be called "absolute slot number" instead so "slot number" in a "timeslot set" could be used for relative timeslots.

Sounds good to me.

jkcko commented 5 years ago

It has become apparent that extrapolating the start of frame timestamp from the epb timestamp is not an accurate reference for computing relative times from the start of slot and end of frame timestamps. The timestamps for comparison should all reference the same monotonically increasing clock. So it is worth also including a Start of Frame timestamp in the same format as the End of Frame timestamp.

guyharris commented 3 years ago

This should probably be converted to a change to the extended Markdown version of the spec at pcapng/draft-tuexen-opsawg-pcapng.md, as that's now the source for the spec. See cabo/kramdown-rfc2629 for the extensions.

ryankurte commented 3 years ago

(sorry i should have tested that on one of my own repos)

mcr commented 1 year ago

@ryankurte please rebase.