Outer Header Creation
Per 3GPP TS 29.244 v16.4.0, the Outer Header Creation Description field, when present, is encoded as specified in following table. It takes the form of a bitmask where each bit indicates the outer header to be created in the outgoing packet. Spare bits are ignored by the receiver.
Octet / Bit | Outer Header Created in the Outgoing Packet |
---|---|
5/1 | GTP-U/UDP/IPv4 |
5/2 | GTP-U/UDP/IPv6 |
5/3 | UDP/IPv4 |
5/4 | UDP/IPv6 |
5/5 | IPv4 |
5/6 | IPv6 |
5/7 | C-TAG |
5/8 | S-TAG |
6/1 | N19 Indication |
6/2 | N6 Indication |
6/3 | TCP/IPv4 |
6/4 | TCP/IPv6 |
NOTE:
-
Currently, the UP/UPF doesn't support the following values of Outer Header Creation Description:
-
IPv4
-
IPv6
-
C-TAG
-
S-TAG
-
N19 Indication
-
N6 Indication
-
-
Third and fourth bits of sixth Octet (that is, 6/3 and 6/4) are spare bits (that is, not part of 3GPP TS) used for LI over TCP.
-
When the Outer Header Creation IE is received with the Outer Header Creation description field set to both GTP-U/UDP/IPv4 and GTP-U/UDP/IPv6, then the length of the Outer Header Creation IE, which is 26 bytes, is validated. If the length is not 26 bytes, then the Sx message is responded with the PFCP_CAUSE_MANDATORY_IE_INCORRECT with Offending IE: OUTER_HDR_CREATION cause code.
Important | If SMF/CP uses older version for Outer Header Creation, then undefined behavior (including crashes) can be seen. |