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
357763e3
Commit
357763e3
authored
Jul 05, 2021
by
Tien-Thinh Nguyen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into 'fqdn_dns'
# Conflicts: # build/scripts/build_helper.amf
parents
598b67f4
6071beb4
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
100 additions
and
58 deletions
+100
-58
build/scripts/build_helper.amf
build/scripts/build_helper.amf
+12
-1
build/scripts/build_helper.fb_folly
build/scripts/build_helper.fb_folly
+4
-1
ci-scripts/generateHtmlReport.py
ci-scripts/generateHtmlReport.py
+37
-14
docker/Dockerfile.amf.rhel8
docker/Dockerfile.amf.rhel8
+0
-9
src/nas/ies/ABBA.hpp
src/nas/ies/ABBA.hpp
+1
-1
src/ngap/libngap/Ngap_ProtocolIE-Field.c
src/ngap/libngap/Ngap_ProtocolIE-Field.c
+24
-24
src/ngap/libngap/constr_CHOICE.c
src/ngap/libngap/constr_CHOICE.c
+3
-1
src/ngap/ngapMsgs/UEContextReleaseComplete.cpp
src/ngap/ngapMsgs/UEContextReleaseComplete.cpp
+2
-0
src/sctp/sctp_server.cpp
src/sctp/sctp_server.cpp
+1
-3
src/utils/bstr/bstrlib.c
src/utils/bstr/bstrlib.c
+16
-4
No files found.
build/scripts/build_helper.amf
View file @
357763e3
...
...
@@ -75,6 +75,7 @@ install_boost_1_66() {
#arg1 is force (0 or 1) (no interactive script)
#arg2 is debug (0 or 1) (install debug libraries)
install_cpprestsdk_from_git() {
echo "Starting to install cpprestsdk"
if [ $1 -eq 0 ]; then
read -p "Do you want to install C++ REST SDK ? <y/N> " prompt
OPTION="-y"
...
...
@@ -112,6 +113,7 @@ install_cpprestsdk_from_git() {
$SUDO ldconfig -v
popd
fi
echo "cpprestsdk installation complete"
return 0
}
...
...
@@ -119,6 +121,7 @@ install_cpprestsdk_from_git() {
#arg1 is force (0 or 1) (no interactive script)
#arg2 is debug (0 or 1) (install debug libraries)
install_fmt() {
echo "Starting to install fmt"
if [ $1 -eq 0 ]; then
read -p "Do you want to install open-source formatting library for C++ ? <y/N> " prompt
OPTION=""
...
...
@@ -147,6 +150,7 @@ install_fmt() {
cd /tmp
rm -rf /tmp/fmt*
fi
echo "fmt installation complete"
return 0
}
...
...
@@ -154,6 +158,7 @@ install_fmt() {
#arg1 is force (0 or 1) (no interactive script)
#arg2 is debug (0 or 1) (install debug libraries)
install_spdlog_from_git() {
echo "Starting to install spdlog"
if [ $1 -eq 0 ]; then
read -p "Do you want to install spdlog ? <y/N> " prompt
OPTION=""
...
...
@@ -186,6 +191,7 @@ install_spdlog_from_git() {
sed -i '/#define SPDLOG_ENABLE_SYSLOG/s/^\/\///g' include/spdlog/tweakme.h
popd
fi
echo "spdlog installation complete"
return 0
}
...
...
@@ -193,6 +199,7 @@ install_spdlog_from_git() {
#arg1 is force (0 or 1) (no interactive script)
#arg2 is debug (0 or 1) (install debug libraries)
install_pistache_from_git() {
echo "Starting to install pistache"
if [ $1 -eq 0 ]; then
read -p "Do you want to install Pistache ? <y/N> " prompt
OPTION="-y"
...
...
@@ -235,6 +242,7 @@ install_pistache_from_git() {
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
popd
fi
echo "pistache installation complete"
return 0
}
...
...
@@ -242,6 +250,7 @@ install_pistache_from_git() {
#arg1 is force (0 or 1) (no interactive script)
#arg2 is debug (0 or 1) (install debug libraries)
install_nlohmann_from_git() {
echo "Starting to install Nlohmann Json"
if [ $1 -eq 0 ]; then
read -p "Do you want to install Nlohmann Json ? <y/N> " prompt
OPTION=""
...
...
@@ -280,6 +289,7 @@ install_nlohmann_from_git() {
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
popd
fi
echo "Nlohmann Json installation complete"
return 0
}
...
...
@@ -436,7 +446,8 @@ check_install_amf_deps(){
echo "Install distro libs"
$SUDO $INSTALLER install $OPTION $PACKAGE_LIST
ret=$?;[[ $ret -ne 0 ]] && return $ret
echo "distro libs installation complete"
install_cpprestsdk_from_git $1 $2
ret=$?;[[ $ret -ne 0 ]] && return $ret
...
...
build/scripts/build_helper.fb_folly
View file @
357763e3
...
...
@@ -31,6 +31,7 @@ source $THIS_SCRIPT_PATH/build_helper
#arg1 is force (0 or 1) (no interactive script)
#arg2 is debug (0 or 1) (install debug libraries)
install_fb_folly_from_source(){
echo "Starting to install folly"
if [ $1 -eq 0 ]; then
OPTION=""
read -p "Do you want to install FaceBook folly (github)? <y/N> " prompt
...
...
@@ -49,7 +50,9 @@ install_fb_folly_from_source(){
then
if [[ "$OS_BASEDISTRO" == "fedora" ]]; then
$SUDO $INSTALLER install $OPTION \
gcc-c++ \
$CMAKE \
make \
boost-devel \
libevent-devel \
double-conversion-devel \
...
...
@@ -136,6 +139,6 @@ install_fb_folly_from_source(){
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
popd
fi
echo_success "
End of folly installation
"
echo_success "
folly installation complete
"
return 0
}
ci-scripts/generateHtmlReport.py
View file @
357763e3
...
...
@@ -375,7 +375,7 @@ class HtmlReport():
def
buildSummaryFooter
(
self
):
self
.
file
.
write
(
' </table>
\n
'
)
self
.
file
.
write
(
' <br>
\n
'
)
if
self
.
nb_warnings
>
0
:
if
len
(
self
.
warning_rows
)
>
0
:
self
.
file
.
write
(
' <h3>Compilation Warnings Details</h3>
\n
'
)
self
.
file
.
write
(
' <button data-toggle="collapse" data-target="#oai-compilation-details">Details for Compilation Errors and Warnings </button>
\n
'
)
self
.
file
.
write
(
' <div id="oai-compilation-details" class="collapse">
\n
'
)
...
...
@@ -471,6 +471,8 @@ class HtmlReport():
pistache_build_status
=
False
json_build_start
=
False
json_build_status
=
False
cpprest_build_start
=
False
cpprest_build_status
=
False
base_image
=
False
with
open
(
cwd
+
'/archives/'
+
logFileName
,
'r'
)
as
logfile
:
for
line
in
logfile
:
...
...
@@ -487,33 +489,43 @@ class HtmlReport():
result
=
re
.
search
(
'AMF deps installation successful'
,
line
)
if
result
is
not
None
:
status
=
True
result
=
re
.
search
(
'
Install fmt from sourc
e'
,
line
)
result
=
re
.
search
(
'
distro libs installation complet
e'
,
line
)
if
result
is
not
None
:
package_install
=
True
fmt_build_start
=
True
result
=
re
.
search
(
'Installing: /usr/local/lib/pkgconfig/fmt.pc'
,
line
)
result
=
re
.
search
(
'Starting to install cpprestsdk'
,
line
)
if
result
is
not
None
:
cpprest_build_start
=
True
result
=
re
.
search
(
'cpprestsdk installation complete'
,
line
)
if
result
is
not
None
and
cpprest_build_start
:
cpprest_build_status
=
True
result
=
re
.
search
(
'Starting to install fmt'
,
line
)
if
result
is
not
None
:
fmt_build_start
=
True
result
=
re
.
search
(
'fmt installation complete'
,
line
)
if
result
is
not
None
and
fmt_build_start
:
fmt_build_status
=
True
result
=
re
.
search
(
'
Cloning into
\'
folly
\'
'
,
line
)
result
=
re
.
search
(
'
Starting to install folly
'
,
line
)
if
result
is
not
None
:
folly_build_start
=
True
result
=
re
.
search
(
'
Installing: /usr/local/lib/libfollybenchmark.a
'
,
line
)
if
result
is
not
None
:
result
=
re
.
search
(
'
folly installation complete
'
,
line
)
if
result
is
not
None
and
folly_build_start
:
folly_build_status
=
True
result
=
re
.
search
(
'
Install spdlog from
'
,
line
)
result
=
re
.
search
(
'
Starting to install spdlog
'
,
line
)
if
result
is
not
None
:
spdlog_build_start
=
True
result
=
re
.
search
(
'
Install Pistache from
'
,
line
)
if
result
is
not
None
:
result
=
re
.
search
(
'
spdlog installation complete
'
,
line
)
if
result
is
not
None
and
spdlog_build_start
:
spdlog_build_status
=
True
pistache_build_start
=
True
result
=
re
.
search
(
'Installing: /usr/local/lib/libpistache.a'
,
line
)
result
=
re
.
search
(
'Starting to install pistache'
,
line
)
if
result
is
not
None
:
pistache_build_start
=
True
result
=
re
.
search
(
'pistache installation complete'
,
line
)
if
result
is
not
None
and
pistache_build_start
:
pistache_build_status
=
True
result
=
re
.
search
(
'
I
nstall Nlohmann Json'
,
line
)
result
=
re
.
search
(
'
Starting to i
nstall Nlohmann Json'
,
line
)
if
result
is
not
None
:
json_build_status
=
True
result
=
re
.
search
(
'
Installing: /usr/local/lib/cmake/nlohmann_json/nlohmann_jsonTargets.cmak
e'
,
line
)
result
=
re
.
search
(
'
Nlohmann Json installation complet
e'
,
line
)
if
result
is
not
None
:
json_build_status
=
True
logfile
.
close
()
...
...
@@ -533,6 +545,12 @@ class HtmlReport():
cell_msg
+=
' ** Packages Installation: OK
\n
'
else
:
cell_msg
+=
' ** Packages Installation: KO
\n
'
if
base_image
:
cell_msg
+=
' ** cpprestsdk Installation: N/A
\n
'
elif
cpprest_build_status
:
cell_msg
+=
' ** cpprestsdk Installation: OK
\n
'
else
:
cell_msg
+=
' ** cpprestsdk Installation: KO
\n
'
if
base_image
:
cell_msg
+=
' ** fmt Installation: N/A
\n
'
elif
fmt_build_status
:
...
...
@@ -668,6 +686,11 @@ class HtmlReport():
linenumber
=
re
.
sub
(
':[0-9]*:'
,
""
,
linenumber
)
error_warning_status
=
re
.
sub
(
':'
,
""
,
wordsList
[
1
])
error_warning_msg
=
re
.
sub
(
'^.*'
+
error_warning_status
+
':'
,
''
,
correctLine
)
if
nb_warnings
==
0
and
variant
==
'docker'
:
self
.
warning_rows
+=
'<tr><td colspan="4" align = "center" bgcolor = "LightGray"><b>Ubuntu 18</b></td></tr>
\n
'
if
nb_warnings
==
0
and
variant
==
'podman'
:
self
.
warning_rows
+=
'<tr><td colspan="4" align = "center" bgcolor = "LightGray"><b>RHEL 8</b></td></tr>
\n
'
nb_warnings
+=
1
self
.
warning_rows
+=
'<tr><td>'
+
filename
+
'</td><td>'
+
linenumber
+
'</td><td>'
+
error_warning_status
+
'</td><td>'
+
error_warning_msg
+
'</td></tr>
\n
'
logfile
.
close
()
...
...
docker/Dockerfile.amf.rhel8
View file @
357763e3
...
...
@@ -59,15 +59,6 @@ RUN /bin/bash -c "if [[ -v NEEDED_GIT_PROXY ]]; then git config --global http.pr
RUN git config --global https.postBuffer 123289600
RUN git config --global http.sslverify false
# cpprest package install
RUN git clone https://github.com/Microsoft/cpprestsdk.git
RUN cd cpprestsdk && \
git submodule update --init && \
mkdir build && cd build && \
cmake3 -G Ninja .. -DCMAKE_BUILD_TYPE=Release && \
ninja install && \
ldconfig -v
# Copying source code
WORKDIR /openair-amf/
COPY . /openair-amf
...
...
src/nas/ies/ABBA.hpp
View file @
357763e3
...
...
@@ -47,7 +47,7 @@ class ABBA {
private:
uint8_t
_iei
;
uint8_t
_length
;
uint8_t
_value
[
25
5
];
uint8_t
_value
[
25
6
];
};
}
// namespace nas
...
...
src/ngap/libngap/Ngap_ProtocolIE-Field.c
View file @
357763e3
...
...
@@ -73,30 +73,30 @@ static const asn_ioc_cell_t
static const asn_ioc_set_t
asn_IOS_Ngap_PDUSessionResourceModifyRequestTransferIEs_1[] = {
{6, 4, asn_IOS_Ngap_PDUSessionResourceModifyRequestTransferIEs_1_rows}};
static const long asn_VAL_7_Ngap_id_PDUSessionAggregateMaximumBitRate
= 130;
static const long asn_VAL_7_Ngap_reject
= 0;
static const long asn_VAL_7_Ngap_optional
= 0;
static const long asn_VAL_8_Ngap_id_UL_NGU_UP_TNLInformation
= 139;
static const long asn_VAL_8_Ngap_reject
= 0;
static const long asn_VAL_8_Ngap_mandatory
= 2;
static const long asn_VAL_9_Ngap_id_AdditionalUL_NGU_UP_TNLInformation = 126;
static const long asn_VAL_9_Ngap_reject = 0;
static const long asn_VAL_9_Ngap_optional = 0;
static const long asn_VAL_10_Ngap_id_DataForwardingNotPossible
= 127;
static const long asn_VAL_10_Ngap_reject
= 0;
static const long asn_VAL_10_Ngap_optional
= 0;
static const long asn_VAL_11_Ngap_id_PDUSessionType
= 134;
static const long asn_VAL_11_Ngap_reject
= 0;
static const long asn_VAL_11_Ngap_mandatory
= 2;
static const long asn_VAL_12_Ngap_id_SecurityIndication
= 138;
static const long asn_VAL_12_Ngap_reject
= 0;
static const long asn_VAL_12_Ngap_optional
= 0;
static const long asn_VAL_13_Ngap_id_NetworkInstance
= 129;
static const long asn_VAL_13_Ngap_reject
= 0;
static const long asn_VAL_13_Ngap_optional
= 0;
static const long asn_VAL_14_Ngap_id_QosFlowSetupRequestList
= 136;
static const long asn_VAL_14_Ngap_reject
= 0;
static const long asn_VAL_14_Ngap_mandatory
= 2;
static const long asn_VAL_7_Ngap_id_PDUSessionAggregateMaximumBitRate = 130;
static const long asn_VAL_7_Ngap_reject = 0;
static const long asn_VAL_7_Ngap_optional = 0;
static const long asn_VAL_8_Ngap_id_UL_NGU_UP_TNLInformation = 139;
static const long asn_VAL_8_Ngap_reject = 0;
static const long asn_VAL_8_Ngap_mandatory = 2;
//
static const long asn_VAL_9_Ngap_id_AdditionalUL_NGU_UP_TNLInformation = 126;
//
static const long asn_VAL_9_Ngap_reject = 0;
//
static const long asn_VAL_9_Ngap_optional = 0;
static const long asn_VAL_10_Ngap_id_DataForwardingNotPossible = 127;
static const long asn_VAL_10_Ngap_reject = 0;
static const long asn_VAL_10_Ngap_optional = 0;
static const long asn_VAL_11_Ngap_id_PDUSessionType = 134;
static const long asn_VAL_11_Ngap_reject = 0;
static const long asn_VAL_11_Ngap_mandatory = 2;
static const long asn_VAL_12_Ngap_id_SecurityIndication = 138;
static const long asn_VAL_12_Ngap_reject = 0;
static const long asn_VAL_12_Ngap_optional = 0;
static const long asn_VAL_13_Ngap_id_NetworkInstance = 129;
static const long asn_VAL_13_Ngap_reject = 0;
static const long asn_VAL_13_Ngap_optional = 0;
static const long asn_VAL_14_Ngap_id_QosFlowSetupRequestList = 136;
static const long asn_VAL_14_Ngap_reject = 0;
static const long asn_VAL_14_Ngap_mandatory = 2;
static const asn_ioc_cell_t
asn_IOS_Ngap_PDUSessionResourceSetupRequestTransferIEs_1_rows[] = {
{"&id", aioc__value, &asn_DEF_Ngap_ProtocolIE_ID,
src/ngap/libngap/constr_CHOICE.c
View file @
357763e3
...
...
@@ -1146,7 +1146,7 @@ asn_enc_rval_t CHOICE_encode_aper(
return
elm
->
type
->
op
->
aper_encoder
(
elm
->
type
,
elm
->
encoding_constraints
.
per_constraints
,
memb_ptr
,
po
);
}
else
{
}
else
if
(
ct
)
{
asn_enc_rval_t
rval
;
if
(
specs
->
ext_start
==
-
1
)
ASN__ENCODE_FAILED
;
if
(
aper_put_nsnnwn
(
po
,
ct
->
range_bits
,
present
-
specs
->
ext_start
))
...
...
@@ -1156,6 +1156,8 @@ asn_enc_rval_t CHOICE_encode_aper(
ASN__ENCODE_FAILED
;
rval
.
encoded
=
0
;
ASN__ENCODED_OK
(
rval
);
}
else
{
ASN__ENCODE_FAILED
;
}
}
...
...
src/ngap/ngapMsgs/UEContextReleaseComplete.cpp
View file @
357763e3
...
...
@@ -94,6 +94,7 @@ void UEContextReleaseCompleteMsg::setAmfUeNgapId(unsigned long id) {
//------------------------------------------------------------------------------
unsigned
long
UEContextReleaseCompleteMsg
::
getAmfUeNgapId
()
const
{
if
(
amfUeNgapId
)
return
amfUeNgapId
->
getAMF_UE_NGAP_ID
();
return
(
unsigned
long
)
0
;
}
//------------------------------------------------------------------------------
...
...
@@ -121,6 +122,7 @@ void UEContextReleaseCompleteMsg::setRanUeNgapId(uint32_t ran_ue_ngap_id) {
//------------------------------------------------------------------------------
uint32_t
UEContextReleaseCompleteMsg
::
getRanUeNgapId
()
const
{
if
(
ranUeNgapId
)
return
ranUeNgapId
->
getRanUeNgapId
();
return
(
uint32_t
)
0
;
}
//------------------------------------------------------------------------------
...
...
src/sctp/sctp_server.cpp
View file @
357763e3
...
...
@@ -85,9 +85,7 @@ int sctp_server::create_socket(const char* address, const uint16_t port_num) {
events_
.
sctp_data_io_event
=
1
;
events_
.
sctp_shutdown_event
=
1
;
events_
.
sctp_association_event
=
1
;
setsockopt
(
socket_
,
IPPROTO_SCTP
,
SCTP_EVENTS
,
&
events_
,
8
);
setsockopt
(
socket_
,
IPPROTO_SCTP
,
SCTP_EVENTS
,
&
events_
,
8
);
listen
(
socket_
,
5
);
return
0
;
}
...
...
src/utils/bstr/bstrlib.c
View file @
357763e3
...
...
@@ -164,7 +164,8 @@ int balloc(bstring b, int olen) {
#if defined(BSTRLIB_TEST_CANARY)
if
(
len
>
b
->
slen
+
1
)
{
memchr
(
b
->
data
+
b
->
slen
+
1
,
'X'
,
len
-
(
b
->
slen
+
1
));
if
((
memchr
(
b
->
data
+
b
->
slen
+
1
,
'X'
,
len
-
(
b
->
slen
+
1
)))
==
NULL
)
return
BSTR_ERR
;
}
#endif
}
...
...
@@ -218,7 +219,8 @@ bstring bfromcstr(const char* str) {
b
=
(
bstring
)
bstr__alloc
(
sizeof
(
struct
tagbstring
));
if
(
NULL
==
b
)
return
NULL
;
b
->
slen
=
(
int
)
j
;
if
(
NULL
==
(
b
->
data
=
(
unsigned
char
*
)
bstr__alloc
(
b
->
mlen
=
i
)))
{
b
->
data
=
(
unsigned
char
*
)
bstr__alloc
(
b
->
mlen
=
i
);
if
(
b
->
data
==
NULL
)
{
bstr__free
(
b
);
return
NULL
;
}
...
...
@@ -1588,7 +1590,8 @@ int binsertblk(
/* Aliasing case */
if
(((
size_t
)((
unsigned
char
*
)
blk
+
len
))
>=
((
size_t
)
b
->
data
)
&&
((
size_t
)
blk
)
<
((
size_t
)(
b
->
data
+
b
->
mlen
)))
{
if
(
NULL
==
(
aux
=
(
unsigned
char
*
)
bstr__alloc
(
len
)))
return
BSTR_ERR
;
aux
=
(
unsigned
char
*
)
bstr__alloc
(
len
);
if
(
aux
==
NULL
)
return
BSTR_ERR
;
bstr__memcpy
(
aux
,
blk
,
len
);
}
...
...
@@ -2133,6 +2136,9 @@ int bsreadlna(bstring r, struct bStream* s, char terminator) {
int
i
,
l
,
ret
,
rlo
;
char
*
b
;
struct
tagbstring
x
;
x
.
mlen
=
0
;
x
.
slen
=
0
;
x
.
data
=
NULL
;
if
(
s
==
NULL
||
s
->
buff
==
NULL
||
r
==
NULL
||
r
->
mlen
<=
0
||
r
->
slen
<
0
||
r
->
mlen
<
r
->
slen
)
...
...
@@ -2201,6 +2207,9 @@ int bsreadlnsa(bstring r, struct bStream* s, const_bstring term) {
unsigned
char
*
b
;
struct
tagbstring
x
;
struct
charField
cf
;
x
.
mlen
=
0
;
x
.
slen
=
0
;
x
.
data
=
NULL
;
if
(
s
==
NULL
||
s
->
buff
==
NULL
||
r
==
NULL
||
term
==
NULL
||
term
->
data
==
NULL
||
r
->
mlen
<=
0
||
r
->
slen
<
0
||
r
->
mlen
<
r
->
slen
)
...
...
@@ -2470,7 +2479,10 @@ bstring bjoinblk(const struct bstrList* bl, const void* blk, int len) {
* NULL is returned, otherwise a bstring with the correct result is returned.
*/
bstring
bjoin
(
const
struct
bstrList
*
bl
,
const_bstring
sep
)
{
if
(
sep
!=
NULL
&&
(
sep
->
slen
<
0
||
sep
->
data
==
NULL
))
return
NULL
;
if
(
sep
==
NULL
)
return
NULL
;
else
if
(
sep
->
slen
<
0
||
sep
->
data
==
NULL
)
return
NULL
;
return
bjoinblk
(
bl
,
sep
->
data
,
sep
->
slen
);
}
...
...
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