QFI — QoS Flow Identifier — six bits in a tunnel header
Sessions, flows and slices
Where it sits
What it is
What it is. The QoS Flow Identifier — the label that says which QoS flow a packet belongs to. TS 23.501 §5.7.1.1. Six bits, and the specification is precise about where they live:
"The QFI is carried in an encapsulation header on N3 (and N9) i.e. without any changes to the e2e packet header. QFI shall be used for all PDU Session Types. The QFI shall be unique within a PDU Session."
Read that clause slowly, because three separate design decisions are in it.
"in an encapsulation header" — the marking is in the GTP-U header that wraps the packet across N3, not in the packet. So the network's QoS machinery is entirely outside the user's traffic.
"without any changes to the e2e packet header" — the packet the application sent arrives bit-identical. No DSCP rewriting, no tunnelling artefacts the far end can see. This is the reason a 5G network can apply per-flow treatment to traffic it did not author and must not modify — including traffic it cannot even read, because it is encrypted end to end.
"shall be used for all PDU Session Types" — including Ethernet and Unstructured, which have no IP header to mark in the first place. Putting the label in the encapsulation is what makes one QoS model work for every session type.
Where it comes from and where it goes. In the downlink the UPF classifies the packet against the rules the SMF installed and stamps the QFI; the base station reads it and hands the packet to SDAP, which maps the flow onto a radio bearer. In the uplink the device marks it, using either an explicit QoS rule or one it inferred by reflective QoS — watching how the downlink was marked.
QFI and 5QI are not the same thing, though §5.7.2.1 allows the QFI to be set equal to the 5QI when a standardised value is used. The QFI says which flow; the 5QI says what treatment. One is an identifier within a session, the other is an index into a table of promises.
Read on
This concept is read as part of one argument in ref-session, alongside the rest of its group.
Before this concept, the hierarchy says to learn the following — the full chain, in order: