Home / 5G / Protocols / MAC / MAC PDU Format

5G NR MAC PDU Format

The MAC PDU is the structured MAC transmission unit that carries MAC SDUs, MAC Control Elements, subheaders, and padding. It is where multiplexing, prioritization, and control signaling become visible in an actual decodable format.

This page explains MAC PDU format as a practical engineering reference. Use it when a trace shows a MAC PDU and you need to understand what was actually carried, why the grant was consumed the way it was, and how to separate data from control. Read it together with 5G NR MAC Overview, Multiplexing and Prioritization, MAC Control Elements, BSR, and PHR when decoding real MAC traces.

Technology 5G NR
Protocol area MAC PDU construction and parsing
Main specification 3GPP TS 38.321
Related specifications 3GPP TS 38.300 and 3GPP TS 38.331
Release baseline Release 18
Main role Carry MAC SDUs and MAC Control Elements in a parseable structure
Key concepts Subheaders, LCID, eLCID, MAC SDU, MAC CE, payload order, padding
Best paired with Multiplexing, control elements, BSR, PHR, and trace decoding

Definition and purpose

A MAC PDU is the protocol data unit exchanged between MAC and PHY over a transport channel. It contains one or more MAC subPDUs, each identified by subheader information that tells the receiver how to parse the following content.

The PDU format matters because it shows what MAC actually transmitted after channel mapping, prioritization, and grant-fit decisions were made. If engineers only know that data existed, but do not inspect the PDU, the real transmitted outcome may still be unclear.

Main building blocks

ElementMeaningWhy it matters
MAC PDUComplete MAC transmission unitIt is the structure actually carried over the selected transport opportunity.
SubheaderParsing information for the following elementTells the receiver what comes next and how to interpret it.
MAC SDUUpper-layer data delivered into MAC, typically from RLCRepresents user-plane or control-plane payload selected for transmission.
MAC Control ElementCompact MAC-layer control informationCarries operational control such as reporting or timing-related information.
PaddingUnused filler bits or bytesShows that grant size exceeded the useful payload that MAC chose or was able to include.

MAC PDU layout diagram

The following simplified diagram shows a MAC PDU as a sequence of subheaders and their associated payload parts. Length is not a single fixed value for the whole PDU content. Each subheader and payload block consumes part of the total grant, and the final bytes may be padding.

Subheaders, LCID, and eLCID

Subheaders are the key to PDU parsing. They identify whether the following element is a MAC SDU, a MAC Control Element, or another parse-relevant structure, and they provide the context needed to continue decoding correctly.

LCID and extended LCID interpretation matter because the same PDU can mix control and payload elements. Without correct LCID or eLCID reading, a trace can be parsed incorrectly even when the raw bytes are visible. This is why MAC PDU decoding should always be tied back to the active procedure and surrounding MAC behavior.

How MAC builds the PDU

StepWhat MAC doesWhy engineers care
Select contentChoose MAC SDUs and control elements based on queue state, priority, and procedure contextExplains why some data appears now while other data waits.
Add subheadersInsert parsing metadata ahead of each elementMakes later decoding and interpretation possible.
Pack to fit the grantArrange selected content within the available transport opportunityShows how grant size influenced the final transmitted structure.
Add padding if neededFill remaining space when the grant is larger than useful selected contentHelps explain unused capacity inside the transport opportunity.

Practical decode workflow

1. Identify each subheader in sequence
2. Determine whether the next element is an SDU, a control element, or padding
3. Read LCID or eLCID meaning in the current MAC context
4. Separate SDU payload from MAC control information
5. Correlate the final PDU content with grant size, priority, and the active procedure

What the MAC PDU reveals in real analysis

Observed PDU patternWhat it can reveal
Control elements appear before or alongside dataMAC may be serving immediate procedure control needs as part of the same opportunity.
Expected SDU is missingPriority, grant size, or procedure context may have prevented it from being included.
Padding is presentThe grant was larger than the final useful selected content.
BSR, PHR, or timing-related CE is visibleThe real clue may be in compact MAC signaling rather than in higher-layer summaries.

Common MAC PDU reading mistakes

  • Reading payload bytes before understanding the subheaders.
  • Assuming the whole grant was used for user data when MAC Control Elements were also present.
  • Treating payload order as arbitrary when it often reflects real priority and procedure needs.
  • Skipping the procedure context and trying to decode the PDU in isolation.
  • Ignoring padding and therefore overestimating how much useful content was really transmitted.

Troubleshooting

SymptomPDU area to inspectWhy
Backlog exists but expected data is missingSubheaders, LCID interpretation, and packed payload selectionThe data may not have been included in that grant at all.
Grant exists but throughput gain is weakControl-element presence and padding versus real SDU payloadPart of the opportunity may have been used for control or not fully used for data.
Trace decode looks inconsistentLCID or eLCID reading and parsing orderA parsing mistake can make the whole PDU interpretation wrong.
BSR, PHR, or TA behavior is unclearMAC Control Elements inside the PDUThe key report or control state may be visible directly in the transmitted structure.
Priority behavior is disputedActual SDU order and presence inside the PDUThe PDU is where prioritization decisions become observable.

FAQ

What is a 5G NR MAC PDU?

A MAC PDU is the structured MAC transmission unit that carries MAC SDUs, MAC Control Elements, subheaders, and padding.

Why are subheaders important in MAC PDU decoding?

Because they tell the receiver what the following element represents and how the rest of the PDU should be parsed.

What is the difference between a MAC SDU and a MAC Control Element?

A MAC SDU carries upper-layer payload delivered into MAC, while a MAC Control Element carries compact MAC-layer control information.

Why does padding matter in a MAC PDU?

Padding shows that the grant was larger than the useful selected content, which helps explain how efficiently the transport opportunity was used.

Why should MAC PDU format be studied with multiplexing and prioritization?

Because prioritization decisions become visible only when engineers inspect what MAC actually packed into the PDU.

Why is MAC PDU decoding important for troubleshooting?

Because many real clues, including control elements and omitted payload, only become obvious when the PDU is parsed correctly.

Related Content