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
wangjie
OpenXG-RAN
Commits
816fee39
Commit
816fee39
authored
Jun 18, 2021
by
David Kim
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
removed hard coded server(PNF) ip address
additionally, added a config file for proxy connection.
parent
e2866e68
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
258 additions
and
14 deletions
+258
-14
ci-scripts/conf_files/proxy_rcc.band7.tm1.nfapi.conf
ci-scripts/conf_files/proxy_rcc.band7.tm1.nfapi.conf
+247
-0
openair2/PHY_INTERFACE/phy_stub_UE.c
openair2/PHY_INTERFACE/phy_stub_UE.c
+6
-9
openair2/PHY_INTERFACE/phy_stub_UE.h
openair2/PHY_INTERFACE/phy_stub_UE.h
+1
-1
openair2/RRC/LTE/rrc_UE.c
openair2/RRC/LTE/rrc_UE.c
+2
-1
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+1
-2
targets/RT/USER/lte-uesoftmodem.c
targets/RT/USER/lte-uesoftmodem.c
+1
-1
No files found.
ci-scripts/conf_files/proxy_rcc.band7.tm1.nfapi.conf
0 → 100644
View file @
816fee39
Active_eNBs
= (
"eNB-Eurecom-LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
(
{
//////////
Identification
parameters
:
eNB_ID
=
0
xe00
;
cell_type
=
"CELL_MACRO_ENB"
;
eNB_name
=
"eNB-Eurecom-LTEBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
5
;
plmn_list
= ( {
mcc
=
320
;
mnc
=
230
;
mnc_length
=
3
; } );
tr_s_preference
=
"local_mac"
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"3GPP_eNODEB"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
7
;
downlink_frequency
=
2685000000
L
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
0
;
N_RB_DL
=
50
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
pbch_repetition
=
"FALSE"
;
prach_root
=
0
;
prach_config_index
=
0
;
prach_high_speed
=
"DISABLE"
;
prach_zero_correlation
=
1
;
prach_freq_offset
=
2
;
pucch_delta_shift
=
1
;
pucch_nRB_CQI
=
0
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
0
;
pdsch_referenceSignalPower
= -
27
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_hoppingMode
=
"interSubFrame"
;
pusch_hoppingOffset
=
0
;
pusch_groupHoppingEnabled
=
"ENABLE"
;
pusch_groupAssignment
=
0
;
pusch_sequenceHoppingEnabled
=
"DISABLE"
;
pusch_nDMRS1
=
1
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
96
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
104
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format2
=
"deltaF0"
;
pucch_deltaF_Format2a
=
"deltaF0"
;
pucch_deltaF_Format2b
=
"deltaF0"
;
rach_numberOfRA_Preambles
=
64
;
rach_preamblesGroupAConfig
=
"DISABLE"
;
/*
rach_sizeOfRA_PreamblesGroupA
= ;
rach_messageSizeGroupA
= ;
rach_messagePowerOffsetGroupB
= ;
*/
rach_powerRampingStep
=
4
;
rach_preambleInitialReceivedTargetPower
= -
108
;
rach_preambleTransMax
=
10
;
rach_raResponseWindowSize
=
10
;
rach_macContentionResolutionTimer
=
48
;
rach_maxHARQ_Msg3Tx
=
4
;
pcch_default_PagingCycle
=
128
;
pcch_nB
=
"oneT"
;
bcch_modificationPeriodCoeff
=
2
;
ue_TimersAndConstants_t300
=
1000
;
ue_TimersAndConstants_t301
=
1000
;
ue_TimersAndConstants_t310
=
1000
;
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
//
Parameters
for
SIB18
rxPool_sc_CP_Len
=
"normal"
;
rxPool_sc_Period
=
"sf40"
;
rxPool_data_CP_Len
=
"normal"
;
rxPool_ResourceConfig_prb_Num
=
20
;
rxPool_ResourceConfig_prb_Start
=
5
;
rxPool_ResourceConfig_prb_End
=
44
;
rxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
rxPool_ResourceConfig_offsetIndicator_choice
=
0
;
rxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"00000000000000000000"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
/*
rxPool_dataHoppingConfig_hoppingParameter
=
0
;
rxPool_dataHoppingConfig_numSubbands
=
"ns1"
;
rxPool_dataHoppingConfig_rbOffset
=
0
;
rxPool_commTxResourceUC
-
ReqAllowed
=
"TRUE"
;
*/
//
Parameters
for
SIB19
discRxPool_cp_Len
=
"normal"
discRxPool_discPeriod
=
"rf32"
discRxPool_numRetx
=
1
;
discRxPool_numRepetition
=
2
;
discRxPool_ResourceConfig_prb_Num
=
5
;
discRxPool_ResourceConfig_prb_Start
=
3
;
discRxPool_ResourceConfig_prb_End
=
21
;
discRxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
discRxPool_ResourceConfig_offsetIndicator_choice
=
0
;
discRxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"f0ffffffff"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
}
);
srb1_parameters
:
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit
=
80
;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering
=
35
;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit
=
0
;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu
=
4
;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte
=
99999
;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold
=
4
;
}
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"192.168.61.3"
;
ipv6
=
"192:168:30::17"
;
port
=
36412
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
enable_measurement_reports
=
"no"
;
///
X2
enable_x2
=
"yes"
;
t_reloc_prep
=
1000
; /*
unit
:
millisecond
*/
tx2_reloc_overall
=
2000
; /*
unit
:
millisecond
*/
t_dc_prep
=
1000
; /*
unit
:
millisecond
*/
t_dc_overall
=
2000
; /*
unit
:
millisecond
*/
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"lo"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"127.0.0.1"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"lo"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"127.0.0.1"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C
=
"127.0.0.1"
;
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
local_s_if_name
=
"lo"
;
remote_s_address
=
"127.0.0.1"
;
local_s_address
=
"127.0.0.1"
;
local_s_portc
=
50001
;
remote_s_portc
=
50000
;
local_s_portd
=
50011
;
remote_s_portd
=
50010
;
tr_s_preference
=
"nfapi"
;
tr_n_preference
=
"local_RRC"
;
scheduler_mode
=
"fairRR"
;
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
=
{
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"info"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"high"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"medium"
;
};
openair2/PHY_INTERFACE/phy_stub_UE.c
View file @
816fee39
...
@@ -1150,6 +1150,9 @@ void UE_config_stub_pnf(void) {
...
@@ -1150,6 +1150,9 @@ void UE_config_stub_pnf(void) {
*
(
L1_ParamList
.
paramarray
[
j
][
L1_REMOTE_N_PORTD_IDX
].
iptr
);
*
(
L1_ParamList
.
paramarray
[
j
][
L1_REMOTE_N_PORTD_IDX
].
iptr
);
stub_eth_params
.
transp_preference
=
ETH_UDP_MODE
;
stub_eth_params
.
transp_preference
=
ETH_UDP_MODE
;
if
(
NFAPI_MODE
!=
NFAPI_UE_STUB_PNF
)
continue
;
sf_ahead
=
2
;
// Cannot cope with 4 subframes betweem RX and TX - set it to 2
sf_ahead
=
2
;
// Cannot cope with 4 subframes betweem RX and TX - set it to 2
// configure_nfapi_pnf(UE_mac_inst[0].eth_params_n.remote_addr,
// configure_nfapi_pnf(UE_mac_inst[0].eth_params_n.remote_addr,
// UE_mac_inst[0].eth_params_n.remote_portc,
// UE_mac_inst[0].eth_params_n.remote_portc,
...
@@ -1166,7 +1169,7 @@ void UE_config_stub_pnf(void) {
...
@@ -1166,7 +1169,7 @@ void UE_config_stub_pnf(void) {
}
}
}
}
void
ue_init_standalone_socket
(
const
char
*
addr
,
int
tx_port
,
int
rx_port
)
void
ue_init_standalone_socket
(
int
tx_port
,
int
rx_port
)
{
{
{
{
struct
sockaddr_in
server_address
;
struct
sockaddr_in
server_address
;
...
@@ -1182,7 +1185,7 @@ void ue_init_standalone_socket(const char *addr, int tx_port, int rx_port)
...
@@ -1182,7 +1185,7 @@ void ue_init_standalone_socket(const char *addr, int tx_port, int rx_port)
return
;
return
;
}
}
if
(
inet_pton
(
server_address
.
sin_family
,
addr
,
&
server_address
.
sin_addr
)
<=
0
)
if
(
inet_pton
(
server_address
.
sin_family
,
stub_eth_params
.
remote_
addr
,
&
server_address
.
sin_addr
)
<=
0
)
{
{
LOG_E
(
MAC
,
"Invalid standalone PNF Address
\n
"
);
LOG_E
(
MAC
,
"Invalid standalone PNF Address
\n
"
);
close
(
sd
);
close
(
sd
);
...
@@ -1205,6 +1208,7 @@ void ue_init_standalone_socket(const char *addr, int tx_port, int rx_port)
...
@@ -1205,6 +1208,7 @@ void ue_init_standalone_socket(const char *addr, int tx_port, int rx_port)
int
addr_len
=
sizeof
(
server_address
);
int
addr_len
=
sizeof
(
server_address
);
memset
(
&
server_address
,
0
,
addr_len
);
memset
(
&
server_address
,
0
,
addr_len
);
server_address
.
sin_family
=
AF_INET
;
server_address
.
sin_family
=
AF_INET
;
server_address
.
sin_addr
.
s_addr
=
INADDR_ANY
;
server_address
.
sin_port
=
htons
(
rx_port
);
server_address
.
sin_port
=
htons
(
rx_port
);
int
sd
=
socket
(
server_address
.
sin_family
,
SOCK_DGRAM
,
0
);
int
sd
=
socket
(
server_address
.
sin_family
,
SOCK_DGRAM
,
0
);
...
@@ -1214,13 +1218,6 @@ void ue_init_standalone_socket(const char *addr, int tx_port, int rx_port)
...
@@ -1214,13 +1218,6 @@ void ue_init_standalone_socket(const char *addr, int tx_port, int rx_port)
return
;
return
;
}
}
if
(
inet_pton
(
server_address
.
sin_family
,
addr
,
&
server_address
.
sin_addr
)
<=
0
)
{
LOG_E
(
MAC
,
"Invalid standalone PNF Address
\n
"
);
close
(
sd
);
return
;
}
if
(
bind
(
sd
,
(
struct
sockaddr
*
)
&
server_address
,
addr_len
)
<
0
)
if
(
bind
(
sd
,
(
struct
sockaddr
*
)
&
server_address
,
addr_len
)
<
0
)
{
{
LOG_E
(
MAC
,
"Connection to standalone PNF failed: %s
\n
"
,
strerror
(
errno
));
LOG_E
(
MAC
,
"Connection to standalone PNF failed: %s
\n
"
,
strerror
(
errno
));
...
...
openair2/PHY_INTERFACE/phy_stub_UE.h
View file @
816fee39
...
@@ -151,7 +151,7 @@ void *memcpy_tx_req_standalone(nfapi_tx_request_t *tx_req);
...
@@ -151,7 +151,7 @@ void *memcpy_tx_req_standalone(nfapi_tx_request_t *tx_req);
void
*
memcpy_dl_config_req_standalone
(
nfapi_dl_config_request_t
*
dl_config_req
);
void
*
memcpy_dl_config_req_standalone
(
nfapi_dl_config_request_t
*
dl_config_req
);
// open an SCTP socket with a standalone PNF module
// open an SCTP socket with a standalone PNF module
void
ue_init_standalone_socket
(
const
char
*
addr
,
int
tx_port
,
int
rx_port
);
void
ue_init_standalone_socket
(
int
tx_port
,
int
rx_port
);
// read from standalone pnf socket call corresponding memcpy functions
// read from standalone pnf socket call corresponding memcpy functions
void
*
ue_standalone_pnf_task
(
void
*
context
);
void
*
ue_standalone_pnf_task
(
void
*
context
);
...
...
openair2/RRC/LTE/rrc_UE.c
View file @
816fee39
...
@@ -1702,7 +1702,8 @@ rrc_ue_process_ueCapabilityEnquiry(
...
@@ -1702,7 +1702,8 @@ rrc_ue_process_ueCapabilityEnquiry(
xer_fprint
(
stdout
,
&
asn_DEF_LTE_UL_DCCH_Message
,
(
void
*
)
&
ul_dcch_msg
);
xer_fprint
(
stdout
,
&
asn_DEF_LTE_UL_DCCH_Message
,
(
void
*
)
&
ul_dcch_msg
);
}
}
LOG_A
(
RRC
,
"UECapabilityInformation Encoded %zd bits (%zd bytes)
\n
"
,
enc_rval
.
encoded
,(
enc_rval
.
encoded
+
7
)
/
8
);
LOG_A
(
RRC
,
"%s: UECapabilityInformation Encoded %zd bits (%zd bytes)
\n
"
,
__FUNCTION__
,
enc_rval
.
encoded
,(
enc_rval
.
encoded
+
7
)
/
8
);
rrc_data_req_ue
(
rrc_data_req_ue
(
ctxt_pP
,
ctxt_pP
,
DCCH
,
DCCH
,
...
...
targets/RT/USER/lte-ue.c
View file @
816fee39
...
@@ -428,10 +428,9 @@ void init_UE_stub_single_thread(int nb_inst,
...
@@ -428,10 +428,9 @@ void init_UE_stub_single_thread(int nb_inst,
void
init_UE_standalone_thread
(
int
ue_idx
)
void
init_UE_standalone_thread
(
int
ue_idx
)
{
{
const
char
*
standalone_addr
=
"127.0.0.1"
;
// these two lines go into init
int
standalone_tx_port
=
3211
+
ue_idx
*
2
;
int
standalone_tx_port
=
3211
+
ue_idx
*
2
;
int
standalone_rx_port
=
3212
+
ue_idx
*
2
;
int
standalone_rx_port
=
3212
+
ue_idx
*
2
;
ue_init_standalone_socket
(
standalone_
addr
,
standalone_
tx_port
,
standalone_rx_port
);
ue_init_standalone_socket
(
standalone_tx_port
,
standalone_rx_port
);
pthread_t
thread
;
pthread_t
thread
;
if
(
pthread_create
(
&
thread
,
NULL
,
ue_standalone_pnf_task
,
NULL
)
!=
0
)
{
if
(
pthread_create
(
&
thread
,
NULL
,
ue_standalone_pnf_task
,
NULL
)
!=
0
)
{
...
...
targets/RT/USER/lte-uesoftmodem.c
View file @
816fee39
...
@@ -729,7 +729,7 @@ int main( int argc, char **argv ) {
...
@@ -729,7 +729,7 @@ int main( int argc, char **argv ) {
exit
(
-
1
);
// need a softer mode
exit
(
-
1
);
// need a softer mode
}
}
if
(
NFAPI_MODE
==
NFAPI_UE_STUB_PNF
)
{
// UE-STUB-PNF
if
(
NFAPI_MODE
==
NFAPI_UE_STUB_PNF
||
NFAPI_MODE
==
NFAPI_MODE_STANDALONE_PNF
)
{
// UE-STUB-PNF
UE_config_stub_pnf
();
UE_config_stub_pnf
();
}
}
...
...
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