pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/35628?usp=email )
Change subject: gsup: Convert PDP-Type IE to PDP-Address IE ...................................................................... gsup: Convert PDP-Type IE to PDP-Address IE The previous PDP-Type IE should have been a PDP-Address from the start, since having only PDP-Type with no address is only a specific case (dynamic addressing). This becomes clear by looking at other similar protocols like: * MAP: APN-Configuration IE has servedPartyIP-IP{v4,v6}-Address IEs * Diameter S6b, 3GPP TS 29.272 7.3.35 APN-Configuration contains Served-Party-IP-Address AVPs * Diameter SWx, 3GPP TS 29.273 APN-Configuration. * GTPv1C Ts 29.060 7.7.29 PDP Context containing PDP Address. Since PDP-Type on its own really makes no sense, being it a special case of PDP-Address, let's keep the IE by renaming it (keeping old name too for API backward compat) and extend it to support lengths > 2 bytes. Old implementation of libosmogsm gsup actually ignored lengths > 2 bytes, so we are safe acting against older implementations here, both on the sending and receiving side on the wire. While at it, fix the packetdiag representation, which was already wrong before: * Length is 1 byte, not 2 (this happened probably due to confusion between TS 29.060 EUA and TS 24.008 PDP address, the former TLV being 2 bytes like all of GTP, and TS 24.008 being 1 byte). * The bytes sharing several fields were swapped. Change-Id: Ifb4e44b23d19ea049f03a3602c39f2471ff1bff4 Related: OS#6091 Related: libosmocore.git Change-Id I775ff9c3be165d9f30d6ab55d03f99b6104eadd6 --- M common/chapters/gsup.adoc 1 file changed, 56 insertions(+), 14 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/common/chapters/gsup.adoc b/common/chapters/gsup.adoc index d9a87ca..eeada52 100644 --- a/common/chapters/gsup.adoc +++ b/common/chapters/gsup.adoc @@ -1105,7 +1105,7 @@ | |PDP Info IEI|<<gsup-iei>>|M|V|1 | |Length of PDP Info IE||M|V|1 |10|PDP Context ID|<<gsup-ie-pdpctxid>>|C|TLV|3 -|11|PDP Type|<<gsup-ie-pdptype>>|C|TLV|4 +|11|PDP Address|<<gsup-ie-pdpaddress>>|C|TLV|4-24 |12|Access Point Name|<<gsup-ie-apn>>|C|TLV|3-102 |13|Quality of Service|<<gsup-ie-qos>>|O|TLV|1-20 |14|PDP-Charging Characteristics|<<gsup-ie-charging>>|O|TLV|4 @@ -1113,11 +1113,14 @@ The conditional IE are mandantory unless mentioned otherwise. -[[gsup-ie-pdptype]] -==== PDP Type +[[gsup-ie-pdpaddress]] +==== PDP Address -The PDP type value consists of 2 octets that are encoded like octet 4-5 of the -End User Address (EUA) defined in 3GPP TS 29.060, 7.7.27. +The value part is encoded like in the Packet data protocol address IE defined +in 3GPP TS 24.008, Chapter 10.5.6.4. +Hence this value also relates to End User Address (EUA) IE defined in 3GPP TS +29.060, 7.7.27. +The PDP type organization value must be set to 'IETF allocated address'. [packetdiag] ---- @@ -1127,21 +1130,24 @@ 0-6: PDP type IEI 7: Res - 8-15: Length (2) - 16-19: Spare - 20-23: PDP type org + 8-15: Length + 16-19: PDP type org + 20-23: Spare 24-31: PDP type number + 32-191: Address (v4|v6|v4+v6) } ---- -The spare bits are left undefined. While 29.060 defines them as '1 1 1 1', there -are MAP traces where these bits are set to '0 0 0 0'. So the receiver shall -ignore these bits. +The spare bits are left undefined. While 3GPP TS 29.060 7.7.27 defines them as +'1 1 1 1', there are MAP traces where these bits are set to '0 0 0 0'. So the +receiver shall ignore these bits. Examples: -* IPv4: PDP type org: 1 (IETF), PDP type number: 0x21 -* IPv6: PDP type org: 1 (IETF), PDP type number: 0x57 +* IPv4: PDP type org: 1 (IETF), PDP type number: 0x21, 0 bytes address (dynamic addressing) +* IPv4: PDP type org: 1 (IETF), PDP type number: 0x21, 4 bytes address +* IPv6: PDP type org: 1 (IETF), PDP type number: 0x57, 16 bytes address +* IPv6: PDP type org: 1 (IETF), PDP type number: 0x8D, 20 bytes address (v4+v6) [[gsup-ie-pdpctxid]] ==== PDP Context ID @@ -1296,7 +1302,7 @@ |0x09|HLR Number|<<gsup-ie-hlr>> |0x0a|Message Class| <<gsup-ie-message-class>> |0x10|PDP Context ID|<<gsup-ie-pdpctxid>> -|0x11|PDP Type|<<gsup-ie-pdptype>> +|0x11|PDP Address|<<gsup-ie-pdptaddress>> |0x12|Access Point Name|<<gsup-ie-apn>> |0x13|QoS|<<gsup-ie-qos>> |0x14|PDP-Charging Characteristics|<<gsup-ie-charging>> -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/35628?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Ifb4e44b23d19ea049f03a3602c39f2471ff1bff4 Gerrit-Change-Number: 35628 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pes...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de> Gerrit-Reviewer: laforge <lafo...@osmocom.org> Gerrit-Reviewer: pespin <pes...@sysmocom.de> Gerrit-MessageType: merged