Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
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
canghaiwuhen
OpenXG-RAN
Commits
985a2ec2
Commit
985a2ec2
authored
Mar 31, 2016
by
Xenofon Foukas
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'oai/develop' into feature-68-enb-agent
parents
891cd966
8028652a
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
314 additions
and
29 deletions
+314
-29
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+47
-3
cmake_targets/autotests/run_compilation_autotests.bash
cmake_targets/autotests/run_compilation_autotests.bash
+3
-3
cmake_targets/tools/fix_asn1
cmake_targets/tools/fix_asn1
+177
-0
cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff
...s/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff
+23
-0
cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff
...ets/tools/fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff
+8
-0
cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff
...ets/tools/fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff
+4
-0
cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff
...ets/tools/fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff
+8
-0
cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff
...a/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff
+15
-0
cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff
...ets/tools/fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff
+4
-0
cmake_targets/tools/test_helper
cmake_targets/tools/test_helper
+1
-1
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+23
-20
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf
...ENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf
+1
-2
No files found.
cmake_targets/CMakeLists.txt
View file @
985a2ec2
...
...
@@ -275,6 +275,7 @@ endif (${RTAI})
# New C code source file, cmake must be re-run (instead of re-running make only)
#############
set
(
asn1c_call
"
${
OPENAIR_CMAKE
}
/tools/generate_asn1"
)
set
(
fix_asn1c_call
"
${
OPENAIR_CMAKE
}
/tools/fix_asn1"
)
set
(
asn1_generated_dir
${
OPENAIR_BIN_DIR
}
)
set
(
protoc_call
"
${
OPENAIR_CMAKE
}
/tools/generate_protobuf"
)
...
...
@@ -296,7 +297,19 @@ set (RRC_FULL_DIR ${asn1_generated_dir}/${RRC_ASN1_VERSION})
if
(
NOT EXISTS
${
asn1c_call
}
)
message
(
FATAL_ERROR
"The script
${
asn1c_call
}
must be present"
)
endif
(
NOT EXISTS
${
asn1c_call
}
)
execute_process
(
COMMAND
${
asn1c_call
}
${
RRC_FULL_DIR
}
${
RRC_GRAMMAR
}
)
execute_process
(
COMMAND
${
asn1c_call
}
${
RRC_FULL_DIR
}
${
RRC_GRAMMAR
}
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
asn1c_call
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
if
(
NOT EXISTS
${
fix_asn1c_call
}
)
message
(
FATAL_ERROR
"The script
${
fix_asn1c_call
}
must be present"
)
endif
(
NOT EXISTS
${
fix_asn1c_call
}
)
execute_process
(
COMMAND
${
fix_asn1c_call
}
${
RRC_FULL_DIR
}
RRC
${
RRC_ASN1_VERSION
}
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
fix_asn1c_call
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
file
(
GLOB rrc_source
${
RRC_FULL_DIR
}
/*.c
)
set
(
rrc_source
${
rrc_source
}
${
OPENAIR2_DIR
}
/RRC/LITE/MESSAGES/asn1_msg.c
)
file
(
GLOB rrc_h
${
RRC_FULL_DIR
}
/*.h
)
...
...
@@ -310,6 +323,7 @@ include_directories ("${RRC_FULL_DIR}")
add_custom_command
(
OUTPUT
${
RRC_FULL_DIR
}
/asn1_constants.h
COMMAND
${
asn1c_call
}
${
RRC_FULL_DIR
}
${
RRC_GRAMMAR
}
COMMAND
${
fix_asn1c_call
}
${
RRC_FULL_DIR
}
RRC
${
RRC_ASN1_VERSION
}
DEPENDS
${
RRC_GRAMMAR
}
)
...
...
@@ -338,7 +352,21 @@ set(S1AP_ASN_FILES
)
set
(
S1AP_C_DIR
${
asn1_generated_dir
}
/
${
ASN1RELDIR
}
)
#message("calling ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}")
execute_process
(
COMMAND
${
asn1c_call
}
${
S1AP_C_DIR
}
${
S1AP_ASN_FILES
}
)
execute_process
(
COMMAND
${
asn1c_call
}
${
S1AP_C_DIR
}
${
S1AP_ASN_FILES
}
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
asn1c_call
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
execute_process
(
COMMAND python
${
S1AP_DIR
}
/MESSAGES/ASN1/asn1tostruct.py -f
${
S1AP_ASN_DIR
}
/S1AP-PDU-Contents.asn -o
${
S1AP_C_DIR
}
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"asn1tostruct.py: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
execute_process
(
COMMAND
${
fix_asn1c_call
}
${
S1AP_C_DIR
}
S1AP
${
S1AP_VERSION
}
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
fix_asn1c_call
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
file
(
GLOB S1AP_source
${
S1AP_C_DIR
}
/*.c
)
set
(
S1AP_OAI_generated
...
...
@@ -355,6 +383,7 @@ add_custom_command (
OUTPUT
${
S1AP_OAI_generated
}
COMMAND
${
asn1c_call
}
${
S1AP_C_DIR
}
${
S1AP_ASN_FILES
}
COMMAND python
${
S1AP_DIR
}
/MESSAGES/ASN1/asn1tostruct.py -f
${
S1AP_ASN_DIR
}
/S1AP-PDU-Contents.asn -o
${
S1AP_C_DIR
}
COMMAND
${
fix_asn1c_call
}
${
S1AP_C_DIR
}
S1AP
${
S1AP_VERSION
}
DEPENDS
${
S1AP_ASN_FILES
}
)
add_library
(
S1AP_LIB
...
...
@@ -406,7 +435,21 @@ set(X2AP_ASN_FILES
set
(
X2AP_C_DIR
${
asn1_generated_dir
}
/
${
ASN1RELDIR
}
)
#message("calling ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}")
execute_process
(
COMMAND
${
asn1c_call
}
${
X2AP_C_DIR
}
${
X2AP_ASN_FILES
}
)
execute_process
(
COMMAND
${
asn1c_call
}
${
X2AP_C_DIR
}
${
X2AP_ASN_FILES
}
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
asn1c_call
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
execute_process
(
COMMAND python
${
X2AP_DIR
}
/MESSAGES/ASN1/asn1tostruct.py -f
${
X2AP_ASN_DIR
}
/X2AP-PDU-Contents.asn -o
${
X2AP_C_DIR
}
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"asn1tostruct.py: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
execute_process
(
COMMAND
${
fix_asn1c_call
}
${
X2AP_C_DIR
}
X2AP
${
X2AP_VERSION
}
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
fix_asn1c_call
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
file
(
GLOB X2AP_source
${
X2AP_C_DIR
}
/*.c
)
set
(
X2AP_OAI_generated
...
...
@@ -423,6 +466,7 @@ add_custom_command (
OUTPUT
${
X2AP_OAI_generated
}
COMMAND
${
asn1c_call
}
${
X2AP_C_DIR
}
${
X2AP_ASN_FILES
}
COMMAND python
${
X2AP_DIR
}
/MESSAGES/ASN1/asn1tostruct.py -f
${
X2AP_ASN_DIR
}
/X2AP-PDU-Contents.asn -o
${
X2AP_C_DIR
}
COMMAND
${
fix_asn1c_call
}
${
X2AP_C_DIR
}
X2AP
${
X2AP_VERSION
}
DEPENDS
${
X2AP_ASN_FILES
}
)
...
...
cmake_targets/autotests/run_compilation_autotests.bash
View file @
985a2ec2
...
...
@@ -20,7 +20,7 @@ test_compile() {
compile_prog
=
$2
exec_prog
=
$3
build_dir
=
$tdir
/
$1
/build
log_file
=
$tdir
/log/test.
$1
.txt
log_file
=
$tdir
/log/test.
$1
.
$2
.
$5
.
txt
target
=
$5
echo
"Compiling test case
$test_name
. Log file =
$log_file
"
rm
-fr
$build_dir
...
...
@@ -34,10 +34,10 @@ test_compile() {
if
[
-s
$exec_prog
]
;
then
cp
$exec_prog
$tdir
/bin/
`
basename
$exec_prog
`
.
$target
.
$test_name
echo_success
"
$test_name
$exec_prog
$target
compiled"
xUnit_success
"compilation"
$test_name
"PASS"
1
xUnit_success
"compilation"
$test_name
"PASS"
1
"
$results_file
"
else
echo_error
"
$test_name
$exec_prog
$target
compilation failed"
xUnit_fail
"compilation"
$test_name
"FAIL"
1
xUnit_fail
"compilation"
$test_name
"FAIL"
1
"
$results_file
"
fi
}
...
...
cmake_targets/tools/fix_asn1
0 → 100755
View file @
985a2ec2
#!/bin/bash
# in those arrays, each line is:
# <file> <sha1sum of file (without line 4 which changes depending on the location of the files)> <patch to apply to file>
RRC_Rel10
=(
"SystemInformation-r8-IEs.h"
603cd6615cff36ec7020692d72c0d6de7c4859cb
"fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff"
)
X2AP_Rel11_2
=(
"X2ap-CriticalityDiagnostics-IE-List.h"
ae96308b37fcbcbf39da5012e42968135fc5f27b
"fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff"
"NativeInteger.c"
9f173e87daa1e7378618dbb060a10aae752d74be
"fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff"
"constr_SET_OF.c"
5c8765a1e0fc44a48e406d0aa7628004bf3aac2a
"fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff"
)
S1AP_Rel10_5
=(
"NativeInteger.c"
9f173e87daa1e7378618dbb060a10aae752d74be
"fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff"
"constr_SET_OF.c"
5c8765a1e0fc44a48e406d0aa7628004bf3aac2a
"fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff"
)
red_color
=
"
$(
tput setaf 1
)
"
green_color
=
"
$(
tput setaf 2
)
"
reset_color
=
"
$(
tput sgr0
)
"
function
error
()
{
echo
-e
"
$red_color
"
ERROR:
"
$@
""
$reset_color
"
exit
1
}
function
check_sha1
()
{
local
file
=
"
$1
"
local
target_sha1
=
"
$2
"
if
[
!
-f
"
$file
"
]
then
error
"
$file
: no such file"
fi
# we don't use the line 4 of the file
# it contains the location of the ASN1 grammar
# and this location is not the same on every
# installation (this is for *.h files, for *.c
# files it's no big deal to skip that line)
local
computed_sha1
=
$(
sed
4d
"
$file
"
|
sha1sum
|
cut
-f
1
-d
' '
)
if
[
"
$target_sha1
"
!=
"
$computed_sha1
"
]
then
error
"
$file
: wrong SHA1"
fi
}
function
patch_file
()
{
local
patch
=
"
$1
"
local
file
=
"
$2
"
echo
-e
"
$green_color
""patch file
$file
with
$OPENAIR_DIR
/cmake_targets/tools/
$patch
""
$reset_color
"
patch
"
$file
"
"
$OPENAIR_DIR
/cmake_targets/tools/
$patch
"
if
[
$?
-ne
0
]
then
error
"patching of
$file
with
$OPENAIR_DIR
/cmake_targets/tools/
$patch
failed"
fi
}
function
apply_patches
()
{
local
directory
=
"
$1
"
local
array
=
$2
local
len
=
$3
# the length could be computed locally but the way to do it is not clear to me [CROUX]
local
i
local
file
local
sha1
local
patch
local
item
for
((
i
=
0
;
i <
$len
;
i +
=
3
))
do
# special bash syntax to access the array
item
=
$array
[
$i
]
;
file
=
${
!item
}
item
=
$array
[
$((
i+1
))
]
;
sha1
=
${
!item
}
item
=
$array
[
$((
i+2
))
]
;
patch
=
${
!item
}
check_sha1
"
$directory
/
$file
"
"
$sha1
"
patch_file
"
$patch
"
"
$directory
/
$file
"
done
}
function
patch_rrc
()
{
local
directory
=
"
$1
"
local
version
=
"
$2
"
case
"
$version
"
in
Rel10
)
echo
"patching RRC files release 10"
apply_patches
"
$directory
"
RRC_Rel10
${#
RRC_Rel10
[*]
}
;;
Rel8
)
echo
"patching RRC files release 8 TODO?"
;;
*
)
error unknwon/unhandled RRC version
\'
"
$version
"
\'
;;
esac
}
function
patch_x2ap
()
{
local
directory
=
"
$1
"
local
version
=
"
$2
"
case
"
$version
"
in
R11
)
echo
"patching X2AP files release 11.2"
apply_patches
"
$directory
"
X2AP_Rel11_2
${#
X2AP_Rel11_2
[*]
}
;;
*
)
error unknwon/unhandled X2AP version
\'
"
$version
"
\'
;;
esac
}
function
patch_s1ap
()
{
local
directory
=
"
$1
"
local
version
=
"
$2
"
case
"
$version
"
in
R10
)
echo
"patching S1AP files release 10.5"
apply_patches
"
$directory
"
S1AP_Rel10_5
${#
S1AP_Rel10_5
[*]
}
;;
*
)
error unknwon/unhandled S1AP version
\'
"
$version
"
\'
;;
esac
}
function
main
()
{
if
[
$#
-ne
3
]
then
echo
"ERROR: pass <output directory> <module> <version>"
exit
1
fi
if
[
x
"
$OPENAIR_DIR
"
=
x
]
then
error
"the variable OPENAIR_DIR is not set"
fi
local
directory
=
"
$1
"
local
module
=
"
$2
"
local
version
=
"
$3
"
case
"
$module
"
in
RRC
)
patch_rrc
"
$directory
"
"
$version
"
;;
X2AP
)
patch_x2ap
"
$directory
"
"
$version
"
;;
S1AP
)
patch_s1ap
"
$directory
"
"
$version
"
;;
*
)
error unknown module
"
$module
"
;;
esac
exit
0
}
main
"
$@
"
cmake_targets/tools/fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff
0 → 100644
View file @
985a2ec2
57,61d56
< /* SystemInformation-r8-IEs */
< typedef struct SystemInformation_r8_IEs {
< struct SystemInformation_r8_IEs__sib_TypeAndInfo {
< A_SEQUENCE_OF(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member {
< SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR present;
79c74,78
< } choice;
---
> };
>
> struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member {
> SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR present;
> union SystemInformation_r8_IEs__sib_TypeAndInfo__Member_u choice;
83c82,87
< } ) list;
---
> };
>
> /* SystemInformation-r8-IEs */
> typedef struct SystemInformation_r8_IEs {
> struct SystemInformation_r8_IEs__sib_TypeAndInfo {
> A_SEQUENCE_OF(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member) list;
cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff
0 → 100644
View file @
985a2ec2
283c283
< int dynamic = 0;
---
> //int dynamic = 0;
290c290
< dynamic = 1;
---
> //dynamic = 1;
cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff
0 → 100644
View file @
985a2ec2
1007c1007
< (int)nelems, (int)ct ? ct->effective_bits : -1);
---
> (int)nelems, ct ? ct->effective_bits : -1);
cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff
0 → 100644
View file @
985a2ec2
283c283
< int dynamic = 0;
---
> //int dynamic = 0;
290c290
< dynamic = 1;
---
> //dynamic = 1;
cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff
0 → 100644
View file @
985a2ec2
29,31c29
< /* X2ap-CriticalityDiagnostics-IE-List */
< typedef struct X2ap_CriticalityDiagnostics_IE_List {
< A_SEQUENCE_OF(struct X2ap_CriticalityDiagnostics_IE_List__Member {
---
> struct X2ap_CriticalityDiagnostics_IE_List__Member {
43c41,46
< } ) list;
---
> };
>
> /* X2ap-CriticalityDiagnostics-IE-List */
> typedef struct X2ap_CriticalityDiagnostics_IE_List {
> A_SEQUENCE_OF(struct X2ap_CriticalityDiagnostics_IE_List__Member
> ) list;
cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff
0 → 100644
View file @
985a2ec2
1007c1007
< (int)nelems, (int)ct ? ct->effective_bits : -1);
---
> (int)nelems, ct ? ct->effective_bits : -1);
cmake_targets/tools/test_helper
View file @
985a2ec2
...
...
@@ -35,7 +35,7 @@ xUnit_fail() {
currtime=$(date +%s.%N)
time=$(echo "$currtime - $XUNIT_START" | bc -l)
xml="<testcase classname='$class' name='$test_case' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
echo -e
$xml >> $xmlfile_testcase
echo -e
"$xml" >> "$xmlfile_testcase"
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
XUNIT_FAILED=$((XUNIT_FAILED+1))
}
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
985a2ec2
...
...
@@ -229,6 +229,12 @@ void rx_sdu(
switch
(
rx_lcids
[
i
])
{
case
CCCH
:
if
(
rx_lengths
[
i
]
>
CCCH_PAYLOAD_SIZE_MAX
)
{
LOG_E
(
MAC
,
"[eNB %d/%d] frame %d received CCCH of size %d (too big, maximum allowed is %d), dropping packet
\n
"
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lengths
[
i
],
CCCH_PAYLOAD_SIZE_MAX
);
break
;
}
LOG_I
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Frame %d, Received CCCH: %x.%x.%x.%x.%x.%x, Terminating RA procedure for UE rnti %x
\n
"
,
enb_mod_idP
,
CC_idP
,
frameP
,
payload_ptr
[
0
],
payload_ptr
[
1
],
payload_ptr
[
2
],
payload_ptr
[
3
],
payload_ptr
[
4
],
payload_ptr
[
5
],
rntiP
);
...
...
@@ -302,8 +308,6 @@ void rx_sdu(
#endif
if
(
UE_id
!=
-
1
)
{
// This check is just to make sure we didn't get a bogus SDU length, to be removed ...
if
(
rx_lengths
[
i
]
<
CCCH_PAYLOAD_SIZE_MAX
)
{
LOG_D
(
MAC
,
"[eNB %d] CC_id %d Frame %d : ULSCH -> UL-DCCH, received %d bytes form UE %d on LCID %d
\n
"
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lengths
[
i
],
UE_id
,
rx_lcids
[
i
]);
...
...
@@ -321,7 +325,6 @@ void rx_sdu(
NULL
);
//(unsigned int*)crc_status);
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_pdu_rx
[
rx_lcids
[
i
]]
+=
1
;
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_bytes_rx
[
rx_lcids
[
i
]]
+=
rx_lengths
[
i
];
}
}
/* UE_id != -1 */
// }
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf
View file @
985a2ec2
...
...
@@ -144,7 +144,6 @@ eNBs =
ENB_INTERFACE_NAME_FOR_S1U
=
"eth0:4"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.170.1.2/24"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.170.0.2/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
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