Struct DpdkBackend::DpdkPacketHdr

Nested Relationships

This struct is a nested type of Class DpdkBackend.

Struct Documentation

struct switchml::DpdkBackend::DpdkPacketHdr

The switchml dpdk packet header.

Public Members

uint8_t job_type_size

This field is used to store both the job type and the packet’s size enum or category. The 4 MSBs are for the job type and the 4 LSBs are for the size.

uint8_t short_job_id

The 8 LSBs of the id of the job associated with this packet. This is used by the client only to discard duplicates at the edge of switching from one job to another. Therefore we do not need the full length of the job id.

uint32_t pkt_id

An id to identify a packet within a job slice. This is used by the client only.

uint16_t switch_pool_index

The switch’s pool/slot index.

A pool or a slot in the switch is what is used to store the values of a packet. Think of the switch as a large array of pools or slots. Each packet sent addresses a particular pool/slot.

The MSB of this field is used to alternate between two sets of pools/slots to have a shadow copy for switch retransmissions.