Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-AMF
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-AMF
Commits
3ed782cd
Commit
3ed782cd
authored
Jan 10, 2023
by
Tien Thinh NGUYEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Code cleanup for NAS Message Container
parent
a478167b
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
33 additions
and
61 deletions
+33
-61
src/nas/common/NasIeHeader.hpp
src/nas/common/NasIeHeader.hpp
+1
-1
src/nas/ies/NasMessageContainer.cpp
src/nas/ies/NasMessageContainer.cpp
+13
-41
src/nas/ies/NasMessageContainer.hpp
src/nas/ies/NasMessageContainer.hpp
+6
-6
src/nas/msgs/RegistrationRequest.cpp
src/nas/msgs/RegistrationRequest.cpp
+4
-4
src/nas/msgs/RegistrationRequest.hpp
src/nas/msgs/RegistrationRequest.hpp
+1
-1
src/nas/msgs/SecurityModeComplete.cpp
src/nas/msgs/SecurityModeComplete.cpp
+3
-3
src/nas/msgs/SecurityModeComplete.hpp
src/nas/msgs/SecurityModeComplete.hpp
+1
-1
src/nas/msgs/ServiceRequest.cpp
src/nas/msgs/ServiceRequest.cpp
+3
-3
src/nas/msgs/ServiceRequest.hpp
src/nas/msgs/ServiceRequest.hpp
+1
-1
No files found.
src/nas/common/NasIeHeader.hpp
View file @
3ed782cd
...
...
@@ -46,7 +46,7 @@
#include "IMEISV_Request.hpp"
#include "LADN_Indication.hpp"
#include "MA_PDU_Session_Information.hpp"
#include "N
AS_Message_
Container.hpp"
#include "N
asMessage
Container.hpp"
#include "NAS_Security_Algorithms.hpp"
#include "NSSAI.hpp"
#include "NSSAI_Inclusion_Mode.hpp"
...
...
src/nas/ies/N
AS_Message_
Container.cpp
→
src/nas/ies/N
asMessage
Container.cpp
View file @
3ed782cd
...
...
@@ -19,7 +19,7 @@
* contact@openairinterface.org
*/
#include "N
AS_Message_
Container.hpp"
#include "N
asMessage
Container.hpp"
#include "3gpp_24.501.hpp"
#include "common_defs.h"
...
...
@@ -29,30 +29,30 @@
using
namespace
nas
;
//------------------------------------------------------------------------------
N
AS_Message_Container
::
NAS_Message_
Container
()
:
Type6NasIe
(
kIeiNasMessageContainer
),
_value
()
{
N
asMessageContainer
::
NasMessage
Container
()
:
Type6NasIe
(
kIeiNasMessageContainer
),
value_
()
{
SetLengthIndicator
(
0
);
SetIeName
(
kNasMessageContainerIeName
);
}
//------------------------------------------------------------------------------
N
AS_Message_Container
::
NAS_Message_
Container
(
bstring
value
)
N
asMessageContainer
::
NasMessage
Container
(
bstring
value
)
:
Type6NasIe
(
kIeiNasMessageContainer
)
{
_value
=
bstrcpy
(
value
);
value_
=
bstrcpy
(
value
);
SetLengthIndicator
(
blength
(
value
));
SetIeName
(
kNasMessageContainerIeName
);
}
//------------------------------------------------------------------------------
N
AS_Message_Container
::~
NAS_Message_
Container
()
{}
N
asMessageContainer
::~
NasMessage
Container
()
{}
//------------------------------------------------------------------------------
void
N
AS_Message_Container
::
g
etValue
(
bstring
&
value
)
const
{
value
=
bstrcpy
(
_value
);
void
N
asMessageContainer
::
G
etValue
(
bstring
&
value
)
const
{
value
=
bstrcpy
(
value_
);
}
//------------------------------------------------------------------------------
int
N
AS_Message_
Container
::
Encode
(
uint8_t
*
buf
,
int
len
)
{
int
N
asMessage
Container
::
Encode
(
uint8_t
*
buf
,
int
len
)
{
Logger
::
nas_mm
().
debug
(
"Encoding %s"
,
GetIeName
().
c_str
());
int
ie_len
=
GetIeLength
();
...
...
@@ -72,25 +72,8 @@ int NAS_Message_Container::Encode(uint8_t* buf, int len) {
if
(
encoded_header_size
==
KEncodeDecodeError
)
return
KEncodeDecodeError
;
encoded_size
+=
encoded_header_size
;
/*
Logger::nas_mm().debug("Encoding NAS_Message_Container IEI");
if (len < kNasMessageContainerMinimumLength) {
Logger::nas_mm().error(
"Buffer length is less than the minimum length of this IE (%d octet)",
kNasMessageContainerMinimumLength);
return KEncodeDecodeError;
}
int encoded_size = 0;
if (_iei) {
ENCODE_U8(buf + encoded_size, _iei, encoded_size);
}
// Length
ENCODE_U16(buf + encoded_size, length, encoded_size);
*/
// Value
int
size
=
encode_bstring
(
_value
,
(
buf
+
encoded_size
),
len
-
encoded_size
);
int
size
=
encode_bstring
(
value_
,
(
buf
+
encoded_size
),
len
-
encoded_size
);
encoded_size
+=
size
;
// Encode length
...
...
@@ -103,7 +86,7 @@ ENCODE_U16(buf + encoded_size, length, encoded_size);
}
//------------------------------------------------------------------------------
int
N
AS_Message_
Container
::
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_iei
)
{
int
N
asMessage
Container
::
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_iei
)
{
Logger
::
nas_mm
().
debug
(
"Decoding EPS_NAS_Message_Container"
);
int
decoded_size
=
0
;
...
...
@@ -114,23 +97,12 @@ int NAS_Message_Container::Decode(uint8_t* buf, int len, bool is_iei) {
decoded_size
+=
decoded_header_size
;
ie_len
=
GetLengthIndicator
();
/*
Logger::nas_mm().debug("Decoding NAS_Message_Container");
int decoded_size = 0;
if (is_option) {
DECODE_U8(buf + decoded_size, _iei, decoded_size); // for IE
}
// Length
DECODE_U16(buf + decoded_size, length, decoded_size);
*/
// Value
decode_bstring
(
&
_value
,
ie_len
,
(
buf
+
decoded_size
),
len
-
decoded_size
);
decode_bstring
(
&
value_
,
ie_len
,
(
buf
+
decoded_size
),
len
-
decoded_size
);
decoded_size
+=
ie_len
;
for
(
int
i
=
0
;
i
<
ie_len
;
i
++
)
{
Logger
::
nas_mm
().
debug
(
"Decoded N
AS_Message_Container value 0x%x"
,
(
uint8_t
)
_value
->
data
[
i
]);
"Decoded N
asMessageContainer value 0x%x"
,
(
uint8_t
)
value_
->
data
[
i
]);
}
Logger
::
nas_mm
().
debug
(
...
...
src/nas/ies/N
AS_Message_
Container.hpp
→
src/nas/ies/N
asMessage
Container.hpp
View file @
3ed782cd
...
...
@@ -37,19 +37,19 @@ constexpr auto kNasMessageContainerIeName = "NAS Message Container";
namespace
nas
{
class
N
AS_Message_
Container
:
Type6NasIe
{
class
N
asMessage
Container
:
Type6NasIe
{
public:
N
AS_Message_
Container
();
N
AS_Message_
Container
(
bstring
value
);
~
N
AS_Message_
Container
();
N
asMessage
Container
();
N
asMessage
Container
(
bstring
value
);
~
N
asMessage
Container
();
void
g
etValue
(
bstring
&
value
)
const
;
void
G
etValue
(
bstring
&
value
)
const
;
int
Encode
(
uint8_t
*
buf
,
int
len
);
int
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_option
);
private:
bstring
_value
;
bstring
value_
;
};
}
// namespace nas
...
...
src/nas/msgs/RegistrationRequest.cpp
View file @
3ed782cd
...
...
@@ -498,13 +498,13 @@ bool RegistrationRequest::get5GSUpdateType(
//------------------------------------------------------------------------------
void
RegistrationRequest
::
setNAS_Message_Container
(
bstring
value
)
{
ie_nas_message_container
=
std
::
make_optional
<
N
AS_Message_
Container
>
(
value
);
ie_nas_message_container
=
std
::
make_optional
<
N
asMessage
Container
>
(
value
);
}
//------------------------------------------------------------------------------
bool
RegistrationRequest
::
getNasMessageContainer
(
bstring
&
nas
)
{
if
(
ie_nas_message_container
.
has_value
())
{
ie_nas_message_container
.
value
().
g
etValue
(
nas
);
ie_nas_message_container
.
value
().
G
etValue
(
nas
);
return
true
;
}
else
{
return
false
;
...
...
@@ -1066,11 +1066,11 @@ int RegistrationRequest::Decode(uint8_t* buf, int len) {
}
break
;
case
0x71
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI(0x71)"
);
N
AS_Message_
Container
ie_nas_message_container_tmp
=
{};
N
asMessage
Container
ie_nas_message_container_tmp
=
{};
decoded_size
+=
ie_nas_message_container_tmp
.
Decode
(
buf
+
decoded_size
,
len
-
decoded_size
,
true
);
ie_nas_message_container
=
std
::
optional
<
N
AS_Message_
Container
>
(
ie_nas_message_container_tmp
);
std
::
optional
<
N
asMessage
Container
>
(
ie_nas_message_container_tmp
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI 0x%x"
,
octet
);
}
break
;
...
...
src/nas/msgs/RegistrationRequest.hpp
View file @
3ed782cd
...
...
@@ -176,7 +176,7 @@ class RegistrationRequest : public NasMmPlainHeader {
std
::
optional
<
_5gsUpdateType
>
ie_5gs_update_type
;
// Optional
// TODO: Mobile station classmark 2
// TODO: Supported codecs
std
::
optional
<
N
AS_Message_
Container
>
ie_nas_message_container
;
// Optional
std
::
optional
<
N
asMessage
Container
>
ie_nas_message_container
;
// Optional
std
::
optional
<
EPS_Bearer_Context_Status
>
ie_eps_bearer_context_status
;
// Optional
// TODO: Requested extended DRX parameters
...
...
src/nas/msgs/SecurityModeComplete.cpp
View file @
3ed782cd
...
...
@@ -62,7 +62,7 @@ void SecurityModeComplete::SetImeisv(IMEISV_t imeisv) {
//------------------------------------------------------------------------------
void
SecurityModeComplete
::
setNAS_Message_Container
(
bstring
value
)
{
ie_nas_message_container
=
new
N
AS_Message_
Container
(
value
);
ie_nas_message_container
=
new
N
asMessage
Container
(
value
);
}
//------------------------------------------------------------------------------
...
...
@@ -85,7 +85,7 @@ bool SecurityModeComplete::GetImeisv(IMEISV_t& imeisv) {
//------------------------------------------------------------------------------
bool
SecurityModeComplete
::
getNasMessageContainer
(
bstring
&
nas
)
{
if
(
ie_nas_message_container
)
{
ie_nas_message_container
->
g
etValue
(
nas
);
ie_nas_message_container
->
G
etValue
(
nas
);
return
true
;
}
else
{
return
false
;
...
...
@@ -170,7 +170,7 @@ int SecurityModeComplete::Decode(
}
break
;
case
0x71
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x71)"
);
ie_nas_message_container
=
new
N
AS_Message_
Container
();
ie_nas_message_container
=
new
N
asMessage
Container
();
decoded_size
+=
ie_nas_message_container
->
Decode
(
buf
+
decoded_size
,
len
-
decoded_size
,
true
);
}
break
;
...
...
src/nas/msgs/SecurityModeComplete.hpp
View file @
3ed782cd
...
...
@@ -52,7 +52,7 @@ class SecurityModeComplete {
public:
NasMmPlainHeader
*
plain_header
;
_5GSMobileIdentity
*
ie_imeisv
;
N
AS_Message_
Container
*
ie_nas_message_container
;
N
asMessage
Container
*
ie_nas_message_container
;
_5GSMobileIdentity
*
ie_non_imeisvpei
;
};
...
...
src/nas/msgs/ServiceRequest.cpp
View file @
3ed782cd
...
...
@@ -89,7 +89,7 @@ void ServiceRequest::setAllowed_PDU_Session_Status(uint16_t value) {
//------------------------------------------------------------------------------
void
ServiceRequest
::
setNAS_Message_Container
(
bstring
value
)
{
ie_nas_message_container
=
new
N
AS_Message_
Container
(
value
);
ie_nas_message_container
=
new
N
asMessage
Container
(
value
);
}
//------------------------------------------------------------------------------
...
...
@@ -233,7 +233,7 @@ int ServiceRequest::Decode(NasMmPlainHeader* header, uint8_t* buf, int len) {
}
break
;
case
0x71
:
{
Logger
::
nas_mm
().
debug
(
"Decoding ie_nas_message_container(IEI: 0x71)"
);
ie_nas_message_container
=
new
N
AS_Message_
Container
();
ie_nas_message_container
=
new
N
asMessage
Container
();
decoded_size
+=
ie_nas_message_container
->
Decode
(
buf
+
decoded_size
,
len
-
decoded_size
,
true
);
octet
=
*
(
buf
+
decoded_size
);
...
...
@@ -287,7 +287,7 @@ uint16_t ServiceRequest::getAllowedPduSessionStatus() {
//------------------------------------------------------------------------------
bool
ServiceRequest
::
getNasMessageContainer
(
bstring
&
nas
)
{
if
(
ie_nas_message_container
)
{
ie_nas_message_container
->
g
etValue
(
nas
);
ie_nas_message_container
->
G
etValue
(
nas
);
return
true
;
}
else
{
return
false
;
...
...
src/nas/msgs/ServiceRequest.hpp
View file @
3ed782cd
...
...
@@ -72,7 +72,7 @@ class ServiceRequest {
UplinkDataStatus
*
ie_uplink_data_status
;
PDUSessionStatus
*
ie_PDU_session_status
;
AllowedPDUSessionStatus
*
ie_allowed_PDU_session_status
;
N
AS_Message_
Container
*
ie_nas_message_container
;
N
asMessage
Container
*
ie_nas_message_container
;
};
}
// namespace nas
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment