From e525bf94ba26dd16a3d1a4dfa8cbca5ac840ff7f Mon Sep 17 00:00:00 2001 From: Vincent Helfre Date: Tue, 28 Jan 2020 18:14:30 +0100 Subject: gsm_rlcmac: add dissection of NAS container Port from wireshark.git 575e4df4aa3392ffd09ca372859573f09f0a5c57 Ported-by: Pau Espin Pedrol Change-Id: I2a05a057b6f441364502a96f9f34872c7e251a36 --- src/gsm_rlcmac.cpp | 16 +++++++++++----- src/gsm_rlcmac.h | 13 +++++++++---- 2 files changed, 20 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 39f328d5..4550c477 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -4024,10 +4024,16 @@ CSN_DESCR_BEGIN(PHO_TimingAdvance_t) CSN_DESCR_END (PHO_TimingAdvance_t) static const -CSN_DESCR_BEGIN(NAS_Container_t) - M_UINT (NAS_Container_t, NAS_ContainerLength, 7), - M_VAR_ARRAY (NAS_Container_t, NAS_Container, NAS_ContainerLength, 0), -CSN_DESCR_END (NAS_Container_t) +CSN_DESCR_BEGIN(NAS_Container_For_PS_HO_t) + M_UINT (NAS_Container_For_PS_HO_t, NAS_ContainerLength, 7), + M_UINT (NAS_Container_For_PS_HO_t, Spare_1a, 1), + M_UINT (NAS_Container_For_PS_HO_t, Spare_1b, 1), + M_UINT (NAS_Container_For_PS_HO_t, Spare_1c, 1), + M_UINT (NAS_Container_For_PS_HO_t, Old_XID, 1), + M_UINT (NAS_Container_For_PS_HO_t, Spare_1e, 1), + M_UINT (NAS_Container_For_PS_HO_t, Type_of_Ciphering_Algo, 3), + M_UINT (NAS_Container_For_PS_HO_t, IOV_UI_value, 32), +CSN_DESCR_END (NAS_Container_For_PS_HO_t) static const CSN_DESCR_BEGIN(PS_HandoverTo_UTRAN_Payload_t) @@ -4080,7 +4086,7 @@ CSN_DESCR_BEGIN(PS_HandoverTo_A_GB_ModePayload_t) M_TYPE (PS_HandoverTo_A_GB_ModePayload_t, PHO_RadioResources, PHO_RadioResources_t), M_NEXT_EXIST (PS_HandoverTo_A_GB_ModePayload_t, Exist_NAS_Container, 1), - M_TYPE (PS_HandoverTo_A_GB_ModePayload_t, NAS_Container, NAS_Container_t), + M_TYPE (PS_HandoverTo_A_GB_ModePayload_t, NAS_Container, NAS_Container_For_PS_HO_t), CSN_DESCR_END (PS_HandoverTo_A_GB_ModePayload_t) static const diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index b05483c6..461fda35 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -415,7 +415,6 @@ typedef struct #define MAX_ALLOCATION_BITMAP_LENGTH 128 /* max length of Fixed Allocation bitmap in BITS (2^7) */ #define MAX_VAR_LENGTH_BITMAP_LENGTH 176 /* max length ever possible for variable length fixed allocation bitmap */ #define MAX_RRC_CONTAINER_LENGTH 255 -#define MAX_NAS_CONTAINER_LENGTH 127 typedef struct @@ -4693,8 +4692,14 @@ typedef struct typedef struct { guint8 NAS_ContainerLength; - guint8 NAS_Container[MAX_NAS_CONTAINER_LENGTH]; -} NAS_Container_t; + guint8 Spare_1a; + guint8 Spare_1b; + guint8 Spare_1c; + guint8 Old_XID; + guint8 Spare_1e; + guint8 Type_of_Ciphering_Algo; + guint32 IOV_UI_value; +} NAS_Container_For_PS_HO_t; typedef struct { @@ -4740,7 +4745,7 @@ typedef struct { PHO_RadioResources_t PHO_RadioResources; guint8 Exist_NAS_Container; - NAS_Container_t NAS_Container; + NAS_Container_For_PS_HO_t NAS_Container; } PS_HandoverTo_A_GB_ModePayload_t; typedef struct -- cgit v1.2.3