diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2024-02-21 18:51:22 +0100 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2024-02-21 19:03:25 +0100 |
commit | eb6fcc6744393e668802df011a5c69ebabd69f86 (patch) | |
tree | a9fc19f680605ab7112c3716c909469295ea7752 | |
parent | a4b4ae37588993c1e081416237b3706d5aac1a7e (diff) |
gsup: Add PCO IEpespin/gsup
This IE is present in the ePDG Tunnel Request/Result messages to forward
protocol configs between the UE (IKEv2) and the PGW (GTPv2C), with ePDG in the middle.
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/36023
https://gerrit.osmocom.org/c/libosmocore/+/36024
-rw-r--r-- | epan/dissectors/packet-gsm_gsup.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/epan/dissectors/packet-gsm_gsup.c b/epan/dissectors/packet-gsm_gsup.c index 45ddf21e2d..53d60d32ff 100644 --- a/epan/dissectors/packet-gsm_gsup.c +++ b/epan/dissectors/packet-gsm_gsup.c @@ -79,6 +79,7 @@ enum osmo_gsup_iei { OSMO_GSUP_ACCESS_POINT_NAME_IE = 0x12, OSMO_GSUP_PDP_QOS_IE = 0x13, OSMO_GSUP_CHARG_CHAR_IE = 0x14, + OSMO_GSUP_PCO_IE = 0x15, OSMO_GSUP_RAND_IE = 0x20, OSMO_GSUP_SRES_IE = 0x21, OSMO_GSUP_KC_IE = 0x22, @@ -343,6 +344,7 @@ static const value_string gsup_iei_types[] = { { OSMO_GSUP_ACCESS_POINT_NAME_IE, "Access Point Name (APN)" }, { OSMO_GSUP_PDP_QOS_IE, "PDP Quality of Service (QoS)" }, { OSMO_GSUP_CHARG_CHAR_IE, "Charging Character" }, + { OSMO_GSUP_PCO_IE, "Protocol Configuration Options" }, { OSMO_GSUP_RAND_IE, "RAND" }, { OSMO_GSUP_SRES_IE, "SRES" }, { OSMO_GSUP_KC_IE, "Kc" }, @@ -721,6 +723,7 @@ dissect_gsup_tlvs(tvbuff_t *tvb, int base_offs, int length, packet_info *pinfo, gint apn_len; guint32 ui32; guint8 i; + tvbuff_t *subset_tvb; tag = tvb_get_guint8(tvb, offset); offset++; @@ -816,6 +819,10 @@ dissect_gsup_tlvs(tvbuff_t *tvb, int base_offs, int length, packet_info *pinfo, case OSMO_GSUP_CHARG_CHAR_IE: proto_tree_add_item(att_tree, hf_gsup_charg_char, tvb, offset, len, ENC_ASCII); break; + case OSMO_GSUP_PCO_IE: + subset_tvb = tvb_new_subset_length(tvb, offset, len); + de_sm_pco(subset_tvb, att_tree, pinfo, 0, len, NULL, 0); + break; case OSMO_GSUP_CAUSE_IE: proto_tree_add_item(att_tree, hf_gsup_cause, tvb, offset, len, ENC_NA); break; |