SPRUGR9H November 2010 – April 2015 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , 66AK2L06 , AM5K2E02 , AM5K2E04 , SM320C6678-HIREL , TMS320C6652 , TMS320C6654 , TMS320C6655 , TMS320C6657 , TMS320C6670 , TMS320C6671 , TMS320C6672 , TMS320C6674 , TMS320C6678
The monolithic packet descriptor contains the following information:
The maximum size of a monolithic packet descriptor is 65535 bytes. Of this, monolithic packet descriptors always contain 12 bytes of required information and may also contain 16 bytes of software-specific tagging information and up to 128 bytes (indicated in 4-byte increments) of protocol-specific information. How much protocol-specific information (and therefore the allocated size of the descriptors) is application dependent. The descriptor layout is shown in Table 3-24.
Packet info (12 bytes) |
Extended packet info block (optional)
Includes PS bits, timestamp, and SW data words (20 bytes) |
Protocol-Specific data (optional)
(0 to M bytes where M is a multiple of 4) |
Null region (0 to (511-12) bytes) |
Packet data
(0 to 64K – 1) |
Other SW data (optional and user defined) |
Packet info (12 bytes) |
Extended packet info block (optional)
Includes PS bits, timestamp, and SW data words (20 bytes) |
Protocol-Specific data (optional)
(0 to M bytes where M is a multiple of 4) |
Null region (0 to (511-12) bytes) |
Packet data
(0 to 64K – 1) |
Other SW data (optional and user defined) |
The other SW data portion of the descriptor exists after all of the defined words and is reserved for use by the host software to store private data. This region is not used in any way by the DMA or queue manager modules in a Multicore Navigator system and these modules will not modify any bytes within this region.
A note on the placement of data with respect to the optional EPIB block: If EPIB is present, the 16 bytes of EPIB data begins at byte offset 16, and PS or packet data may begin at byte offset 32 (from the descriptor address). If EPIB is not present, PS or packet data may begin at byte offset 12 (from the descriptor address).
The contents of the monolithic packet descriptor words are detailed in the following tables:
Bits | Name | Description | RX Overwrite |
---|---|---|---|
31-30 | Packet Id | Monolithic packet descriptor type. Value is always 2 (0x02) for monolithic descriptors. | Yes |
29-25 | Packet Type | This field indicates the type of this packet and is encoded as follows:
|
Yes |
24-16 | Data Offset | This field indicates the byte offset from byte 0 of this descriptor to the location where the valid data begins.
On RX, this value is set equal to the value for the SOP offset given in the RX DMA channel’s monolithic control register. When a monolithic packet is processed, this value may be modified in order to add or remove bytes to or from the beginning of the packet. The value for this field can range from 0-511 bytes, which means that the maximum NULL region can be 511-12 bytes, because byte 0 is the start of the 12 byte packet info area. Note that the value of this field must always be greater than or equal to 4 times the value given in the Protocol Specific Valid Word Count field. |
Yes |
15-0 | Packet Length | The length of the packet data in bytes. The valid range is from 0 to 65535 bytes. NOTE: The sum of the data offset field and the packet length must not exceed 64KB or the defined size of the descriptor. To do so is an error, and may cause transmission problems through the Streaming Interface. | Yes |
Bits | Name | Description | RX Overwrite |
---|---|---|---|
31-24 | Source Tag - Hi | This field is application-specific. During packet reception, the DMA controller in the port will overwrite this field as specified in the RX_SRC_TAG_HI_SEL field in the flow configuration table entry. | Configurable |
23-16 | Source Tag - Lo | This field is application-specific. During packet reception, the DMA controller in the port will overwrite this field as specified in the RX_SRC_TAG_LO_SEL field in the flow configuration table entry. For TX, this value supplies the RX flow index to the streaming I/F for infrastructure use. | Configurable |
15-8 | Dest Tag – Hi | This field is application-specific. During packet reception, the DMA controller in the port will overwrite this field as specified in the RX_DEST_TAG_HI_SEL field in the flow configuration table entry. | Configurable |
7-0 | Dest Tag - Lo | This field is application-specific. During packet reception, the DMA controller in the port will overwrite this field as specified in the RX_DEST_TAG_LO_SEL field in the flow configuration table entry. | Configurable |
Bits | Name | Description | RX Overwrite |
---|---|---|---|
31 | Extended Packet Info Block Present | This field indicates the presence of the extended packet info block in the descriptor.
|
Yes |
30 | Reserved | Unused | Yes |
29-24 | Protocol Specific Valid Word Count | This field indicates the valid number of 32-bit words in the protocol-specific region. This is encoded in increments of 4 bytes as follows:
|
Yes |
23-20 | Error Flags | This field contains error flags that can be assigned based on the packet type. | Yes |
19-16 | Protocol Specific Flags | This field contains protocol-specific flags / information that can be assigned based on the packet type. | Yes |
15 | Reserved | Unused | No |
14 | Return Push Policy | This field indicates how a transmit DMA should return the descriptor pointers to the free queues. This field is encoded as follows:
|
No |
13-12 | Packet Return Queue Mgr # | This field indicates which of the four potential queue managers in the system the descriptor is to be returned to after transmission is complete. This field is not altered by the DMA during transmission or reception and should be initialized by the host. | No |
11-0 | Packet Return Queue # | This field indicates the queue number within the selected queue manager that the descriptor is to be returned to after transmission is complete. | No |
Bits | Name | Description | RX Overwrite |
---|---|---|---|
31-0 | Reserved | This field is present only to align the extended packet words to a 128-bit boundary in memory. This word can be used for host SW scratchpad because it will not be copied or overwritten by the DMA components. | No |
Bits | Name | Description | RX Overwrite |
---|---|---|---|
31-0 | Timestamp Info | This field contains an application-specific timestamp that can be used for traffic shaping in a QoS-enabled system. | Configurable |
Bits | Name | Description | RX Overwrite |
---|---|---|---|
31-0 | Software Info 0 | This field stores software-centric information that needs to travel with the packet through the stack. This information will be copied from the source descriptor to the destination descriptor whenever a prefetch operation is performed or when transferring through an infrastructure DMA node. | Configurable |
Bits | Name | Description | RX Overwrite |
---|---|---|---|
31-0 | Software Info 1 | This field stores software-centric information that needs to travel with the packet through the stack. This information will be copied from the source descriptor to the destination descriptor whenever a prefetch operation is performed or when transferring through an infrastructure DMA node. | Configurable |
Bits | Name | Description | RX Overwrite |
---|---|---|---|
31-0 | Software Info 2 | This field stores software-centric information that needs to travel with the packet through the stack. This information will be copied from the source descriptor to the destination descriptor whenever a prefetch operation is performed or when transferring through an infrastructure DMA node. | Configurable |
Bits | Name | Description | RX Overwrite |
---|---|---|---|
31-0 | Protocol Specific Data N | This field stores information that varies depending on the packet type. | Configurable |
Bits | Name | Description | RX Overwrite |
---|---|---|---|
31-0 | Packet Data N | These words store the packet payload data. | Yes |