aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVincent Helfre <vincenthelfre@googlemail.com>2020-01-28 18:14:30 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2020-01-28 18:16:24 +0100
commite525bf94ba26dd16a3d1a4dfa8cbca5ac840ff7f (patch)
tree1ffbd50caa2fec4b648cc68e1058c9da940b9640 /src
parente4a243c02b74a88a36b0ac7c0b4eb4ee7d6d9fed (diff)
gsm_rlcmac: add dissection of NAS container
Port from wireshark.git 575e4df4aa3392ffd09ca372859573f09f0a5c57 Ported-by: Pau Espin Pedrol <pespin@sysmocom.de> Change-Id: I2a05a057b6f441364502a96f9f34872c7e251a36
Diffstat (limited to 'src')
-rw-r--r--src/gsm_rlcmac.cpp16
-rw-r--r--src/gsm_rlcmac.h13
2 files changed, 20 insertions, 9 deletions
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