Knowledge base
Knowledge base:
XRA Header
Posted by Tom Ghyselinck, Last modified by Tom Ghyselinck on 08 August 2018 04:13 PM

Introduction

While developing the Excentis XRA-31 DOCSIS 3.1 RF sniffer, it became apparent that a pseudo-header was needed to store the packets in a pcap/pcapng format. At the moment, a link-layer header type for DOCSIS exists (30), but this is not sufficient for storing the XRA-31 captured packets:

  • Extra information (metadata) on the captured packets, like MER (Modulation Error Ratio), or the SID on which the packet was sniffed, cannot be stored.
  • There is no way to store new DOCSIS 3.1 frames, like PLC or NCP frames.

XRA format description

General XRA header format



  • XRA Version (1 byte): current version is 1
  • XRA Packet Type (1 byte): The XRA Packet Type defines what XRA Metadata is present and how the payload is decoded. By convention, the first two bits indicate direction
    • 00: Downstream
    • 01: Upstream
    • 10, 11: Reserved
  • Downstream Packet Types
    • 1: Downstream SC-QAM DOCSIS MAC Frame
    • 8: OFDM DOCSIS MAC Frame
    • 9: OFDM NCP
    • 10: OFDM PLC
  • Upstream Packet Types:
    • 65: A-TDMA Burst
    • 72: OFDMA Data Burst
    • 73: OFDMA Initial Ranging
    • 74: OFDMA Fine Ranging
    • 75: OFDMA REQ
    • 76: OFDMA Probing Sequence
    • 80: Upstream DOCSIS MAC Frame
  • XRA Metadata Length (2 bytes): total length of all XRA Metadata TLVs
  • XRA Metadata: A list of Type (1 byte) - Length (1 byte) - Value encoded Metadata. For a definition of the distinct types, see below.
  • Payload: dissection dependent on the XRA Packet Type
    • Downstream SC-QAM DOCSIS MAC Frame (1): MAC Frame as described by section 6.2 "MAC Frame Formats" of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification (1)
    • OFDM DOCSIS Mac Frame (8): MAC Frame as described by section 6.2 "MAC Frame Formats" of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification (1)
    • OFDM NCP (9): NCP field (collection of NCP message blocks within a symbol) as described by section 8.3.4 "Next Codeword Pointer" of the DOCSIS 3.1 Physical Layer Specification (2). This means a sequence of (N-1) 3-byte NCP Data Message Blocks followed by a 3-byte NCP CRC Message Block.
    • OFDM PLC (10): PLC structure as described by section 6.5.1 "PLC Structure" of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification (1), starting with the TimeStamp Message Block (without preamble). So, the PLC structure is a sequence of message blocks.
    • A-TDMA Burst (65): data bytes belonging to upstream burst. This can be a segment as described by section 6.3 "Segment Header Format" or a MAC Frame as described by section 6.2 "MAC Frame Formats" of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification (1). Distinguishing Segment Headers and MAC Frames is done with the "Segment Header Present" TLV. 
    • OFDMA Data Burst (72): data bytes belonging to upstream burst. This can be a segment as described by section 6.3 "Segment Header Format" or a MAC Frame as described by section 6.2 "MAC Frame Formats" of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification (1). Distinguishing Segment Headers and MAC Frames is done with the "Segment Header Present" TLV. 
    • OFDMA Initial Ranging (73): as described by section 6.4.5.7 "OFDMA Initial Ranging Request (O-INIT-RNG-REQ)" of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification (1)
    • OFDMA Fine Ranging (74): as described by section 6.4.5.4 "Ranging Request (RNG-REQ)" of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification (1)
    • OFDMA REQ (75): as described by section 6.2.4.5 "Queue-depth Based Request Frame" of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification (1)
    • OFDMA Probing Sequence (76): as described in section 7.4.15.3 "Probing" of the DOCSIS 3.1 Physical Layer Specification(2). Under development – exact format to be determined in the future.
    • Upstream DOCSIS MAC Frame (80): MAC Frame as described by section 6.2 "MAC Frame Formats" of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification (1) . E.g. MAC Frames extracted from DOCSIS Segments.

TLVs

Parameter

Type

Length

Remarks

Downstream Channel ID

1

1

ID of downstream channel. Unique per MAC domain. 

Downstream Frequency (Hz)

2

4

 

Modulation

3

1

0: 64-QAM

1: 256-QAM

Annex

4

1

0: annex A

1: annex B

Profile ID

5

1

0: profile A

1: profile B

...

Codeword Info

6

Total Length of

sub-TLV bytes

 

Profile Parity

6.1

1

0: even

1: odd

Number of Info Bytes

6.2

2

 

BCH Decoding Successful

6.3

1

0: false

1: true

BCH Number of Corrected Bits

6.4

1

 

LDPC Number of Code Bits

6.5

2

 

LDPC Decoding Successful

6.6

1

0: false

1: true

LDPC Number of Corrected Bits

6.7

1

 

LDPC Number of Iterations

6.8

1

 

Reed-Solomon Decoding Successful

6.9

1

0: false
1: true

Reed-Solomon Number of Corrected Symbols

6.10

1

Truncated due to Uncorrectables

7

1

Number of NCP message blocks in NCP field that contained uncorrectables

Symbol ID

8

4

ID of first symbol of packet, assigned by hardware. Used for timing calculations. 

MER (0.25 dB units, unsigned)

9

1

 

Upstream Channel ID

10

1

Identifier of logical upstream channel 

SID

11

2

SID (Service Identifier) in which the upstream data burst was sent 

IUC

12

1

IUC (Interval Usage Code) in which the upstream data burst was sent 

Burst ID

13

Variable (typical: 8)

Unique burst identifier. Used in upstream data bursts*. For the moment, this is an uint64_t.

Burst Info

14

Total Length of sub-TLV bytes

 

Burst ID Reference

14.1

Variable (typical: 8)

Used to map MAC frame to burst or multiple bursts*. For the moment, this is an uint64_t.

Minislot Info

15

Total Length of

sub-TLV bytes

 

Start Minislot ID

15.1

4

 

Start Minislot ID (relative in frame)

15.2

1

see section 7.4.1 "Signal Processing Requirements" of the DOCSIS 3.1 Physical Layer Specification (2). Minislot with lowest subcarriers is 0. 

Stop Minislot ID (relative in frame)

15.3

1

see section 7.4.1 "Signal Processing Requirements" of the DOCSIS 3.1 Physical Layer Specification (2). Minislot with lowest subcarriers is 0 

UCD CCC Parity

16

1

0: even

1: odd

Grant Size (bits)

17

3

 

Segment Header Present

18

1

whether burst contains a segment or a MAC frame.

0: MAC frame

1: segment

Number of OFDMA Frames

19

2

 

Estimated Timing Adjust (in 4.8828125 ns units)

20

4

 

Estimated Power Level (0.10 dB units, signed)

21

2

 

Subslot ID

22

4

see DOCSIS 3.1 Physical Layer Specification (2) .  

Control Word

23

1

Control word that specifies interleaving parameters of a downstream SC-QAM annex B channel. See Table B.2 of (3) .

 

 

 

 

Configuration Info

254

Variable

Human readable text string

Extension Type

255

Variable

 


Clarification on Burst ID

Burst ID is used to map MAC frames to the corresponding data burst. A data burst can e.g. contain a segment (see section 7.2.4 "Continuous Concatenation and Fragmentation" of the DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification (1)). This means a segment can contain multiple MAC frames, or a MAC frame can be spread over multiple segments. In the XRA-31 DOCSIS 3.1 RF sniffer, the MAC frames are extracted from the segments. To save the information of which MAC frame belongs to which segment (or multiple segments), a Burst ID is used: each data burst gets a unique Burst ID. In the MAC Frame the "Burst Info"/"Burst ID reference" is used to reference these Burst IDs. Burst ID reference is a sub-TLV of Burst Info. Each Burst ID reference is contained within a Burst Info TLV.
E.g. a MAC frame is reconstructed from segments with Burst ID 7, 8 and 9. In that case the MAC Frame will contain Burst ID References with values 7,8, and 9, each contained within a Burst Info TLV.

In summary, one or more MAC frames can be transmitted in a data burst, and a capture can contain a record for a burst as well as records for the MAC frames within the burst, with the record for the burst having a Burst ID parameter, and all the records for the MAC frames in that burst have a Burst ID Reference parameter containing the Burst ID value for the burst in which it appeared.

The Burst ID reference is the same as the Burst ID. Burst IDs are used in data bursts, while Burst ID references are used in MAC Frames. For the moment, these are both uint64_t, in the future this can be expanded to uint128_t. Burst ID and Burst ID reference should be treated as an opaque array of bytes, with no significance to the values of the bytes, and used only for matching bursts and the MAC frames contained within them by comparing the byte arrays for equality.


Clarification on sub-TLVs

References

 (1) DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification:CM-SP-MULPIv3.1-I12-170906
  (2) DOCSIS 3.1 Physical Layer Specification: CM-SP-PHYv3.1-I12-171026
(3) ITU-T Rec. J.83 (12/07) Digital multi-programme systems for television, sound and data services for cable distribution
(3 vote(s))
Helpful
Not helpful

Comments (0)

We to help you!