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
1f31fff8
Commit
1f31fff8
authored
Aug 30, 2018
by
lfarizav
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Some updates for multi RRU
parent
fb887794
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
35 additions
and
411 deletions
+35
-411
targets/ARCH/COMMON/common_lib.c
targets/ARCH/COMMON/common_lib.c
+5
-5
targets/ARCH/COMMON/common_lib.h
targets/ARCH/COMMON/common_lib.h
+1
-1
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
+3
-3
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
+2
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.2UE.conf
...IC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.2UE.conf
+0
-382
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+7
-7
targets/SIMU/USER/oaisim_functions.c
targets/SIMU/USER/oaisim_functions.c
+17
-11
No files found.
targets/ARCH/COMMON/common_lib.c
View file @
1f31fff8
...
@@ -93,7 +93,7 @@ int load_lib(openair0_device *device, openair0_config_t *openair0_cfg, eth_param
...
@@ -93,7 +93,7 @@ int load_lib(openair0_device *device, openair0_config_t *openair0_cfg, eth_param
oai_device_initfunc_t
dp
;
oai_device_initfunc_t
dp
;
oai_transport_initfunc_t
tp
;
oai_transport_initfunc_t
tp
;
int
ret
=
0
;
int
ret
=
0
;
printf
(
"transport_init device->Mod_id %d, addr %s, addr(ifdevice) %s
\n
"
,
device
->
Mod_id
,
cfg
->
my_addr
,
openair0_cfg
->
my_addr
);
//
printf("transport_init device->Mod_id %d, addr %s, addr(ifdevice) %s\n",device->Mod_id,cfg->my_addr,openair0_cfg->my_addr);
if
(
flag
==
BBU_LOCAL_RADIO_HEAD
)
{
if
(
flag
==
BBU_LOCAL_RADIO_HEAD
)
{
lib_handle
=
dlopen
(
OAI_RF_LIBNAME
,
RTLD_LAZY
);
lib_handle
=
dlopen
(
OAI_RF_LIBNAME
,
RTLD_LAZY
);
if
(
!
lib_handle
)
{
if
(
!
lib_handle
)
{
...
@@ -124,7 +124,7 @@ int load_lib(openair0_device *device, openair0_config_t *openair0_cfg, eth_param
...
@@ -124,7 +124,7 @@ int load_lib(openair0_device *device, openair0_config_t *openair0_cfg, eth_param
tp
=
dlsym
(
lib_handle
,
"transport_init"
);
tp
=
dlsym
(
lib_handle
,
"transport_init"
);
if
(
tp
!=
NULL
)
{
if
(
tp
!=
NULL
)
{
printf
(
"device->device->Mod_id %d, cfg->addr %s
\n
"
,
device
->
Mod_id
,
cfg
->
my_addr
);
//
printf("device->device->Mod_id %d, cfg->addr %s\n",device->Mod_id,cfg->my_addr);
tp
(
device
,
openair0_cfg
,
cfg
);
tp
(
device
,
openair0_cfg
,
cfg
);
}
else
{
}
else
{
fprintf
(
stderr
,
"%s %d:oai device intializing function not found %s
\n
"
,
__FILE__
,
__LINE__
,
dlerror
());
fprintf
(
stderr
,
"%s %d:oai device intializing function not found %s
\n
"
,
__FILE__
,
__LINE__
,
dlerror
());
...
@@ -150,10 +150,10 @@ int openair0_device_load(openair0_device *device, openair0_config_t *openair0_cf
...
@@ -150,10 +150,10 @@ int openair0_device_load(openair0_device *device, openair0_config_t *openair0_cf
return
rc
;
return
rc
;
}
}
int
openair0_transport_load
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
,
eth_params_t
*
eth_params
,
int
eNB
)
{
int
openair0_transport_load
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
,
eth_params_t
*
eth_params
)
{
int
rc
;
int
rc
;
printf
(
"eNB %d
\n
"
,
eNB
);
//
printf("eNB %d\n",eNB);
printf
(
"device eNB %d, addr %s
\n
"
,
device
->
Mod_id
,
eth_params
->
my_addr
);
//
printf("device eNB %d, addr %s\n",device->Mod_id,eth_params->my_addr);
rc
=
load_lib
(
device
,
openair0_cfg
,
eth_params
,
BBU_REMOTE_RADIO_HEAD
);
rc
=
load_lib
(
device
,
openair0_cfg
,
eth_params
,
BBU_REMOTE_RADIO_HEAD
);
if
(
rc
>=
0
)
{
if
(
rc
>=
0
)
{
if
(
set_transport
(
device
)
<
0
)
{
if
(
set_transport
(
device
)
<
0
)
{
...
...
targets/ARCH/COMMON/common_lib.h
View file @
1f31fff8
...
@@ -382,7 +382,7 @@ extern "C"
...
@@ -382,7 +382,7 @@ extern "C"
/*! \brief Initialize openair RF target. It returns 0 if OK */
/*! \brief Initialize openair RF target. It returns 0 if OK */
int
openair0_device_load
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
);
int
openair0_device_load
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
);
/*! \brief Initialize transport protocol . It returns 0 if OK */
/*! \brief Initialize transport protocol . It returns 0 if OK */
int
openair0_transport_load
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
,
eth_params_t
*
eth_params
,
int
eNB
);
int
openair0_transport_load
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
,
eth_params_t
*
eth_params
);
/*! \brief Get current timestamp of USRP
/*! \brief Get current timestamp of USRP
...
...
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
View file @
1f31fff8
...
@@ -67,20 +67,20 @@ int eth_socket_init_udp(openair0_device *device) {
...
@@ -67,20 +67,20 @@ int eth_socket_init_udp(openair0_device *device) {
int
sock_type
=
0
;
int
sock_type
=
0
;
int
sock_proto
=
0
;
int
sock_proto
=
0
;
int
enable
=
1
;
int
enable
=
1
;
printf
(
"RRH %d
\n
"
,
device
->
Mod_id
);
//
printf("RRH %d\n",device->Mod_id);
printf
(
"local %s, remote %s
\n
"
,
device
->
openair0_cfg
->
my_addr
,
device
->
openair0_cfg
->
remote_addr
);
printf
(
"local %s, remote %s
\n
"
,
device
->
openair0_cfg
->
my_addr
,
device
->
openair0_cfg
->
remote_addr
);
if
(
device
->
host_type
==
RRH_HOST
)
{
if
(
device
->
host_type
==
RRH_HOST
)
{
local_ip
=
device
->
openair0_cfg
->
my_addr
;
local_ip
=
device
->
openair0_cfg
->
my_addr
;
local_port
=
device
->
openair0_cfg
->
my_port
;
local_port
=
device
->
openair0_cfg
->
my_port
;
remote_ip
=
"0.0.0.0"
;
remote_ip
=
"0.0.0.0"
;
remote_port
=
0
;
remote_port
=
0
;
printf
(
"[%s] local ip addr %s port %d
\n
"
,
"RRH
%d
"
,
local_ip
,
local_port
,
device
->
Mod_id
);
printf
(
"[%s] local ip addr %s port %d
\n
"
,
"RRH"
,
local_ip
,
local_port
,
device
->
Mod_id
);
}
else
{
}
else
{
local_ip
=
device
->
openair0_cfg
->
my_addr
;
local_ip
=
device
->
openair0_cfg
->
my_addr
;
local_port
=
device
->
openair0_cfg
->
my_port
;
local_port
=
device
->
openair0_cfg
->
my_port
;
remote_ip
=
device
->
openair0_cfg
->
remote_addr
;
remote_ip
=
device
->
openair0_cfg
->
remote_addr
;
remote_port
=
device
->
openair0_cfg
->
remote_port
;
remote_port
=
device
->
openair0_cfg
->
remote_port
;
printf
(
"[%s] local ip addr %s port %d
\n
"
,
"BBU
%d
"
,
local_ip
,
local_port
,
device
->
Mod_id
);
printf
(
"[%s] local ip addr %s port %d
\n
"
,
"BBU"
,
local_ip
,
local_port
,
device
->
Mod_id
);
}
}
/* Open socket to send on */
/* Open socket to send on */
...
...
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
View file @
1f31fff8
...
@@ -56,7 +56,7 @@ int dest_addr_len[MAX_INST];
...
@@ -56,7 +56,7 @@ int dest_addr_len[MAX_INST];
int
trx_eth_start
(
openair0_device
*
device
)
{
int
trx_eth_start
(
openair0_device
*
device
)
{
eth_state_t
*
eth
=
(
eth_state_t
*
)
device
->
priv
;
eth_state_t
*
eth
=
(
eth_state_t
*
)
device
->
priv
;
printf
(
"trx_eth_start device->Mod_id %d
\n
"
,
device
->
Mod_id
);
//
printf("trx_eth_start device->Mod_id %d\n",device->Mod_id);
/* initialize socket */
/* initialize socket */
if
(
eth
->
flags
==
ETH_RAW_MODE
)
{
if
(
eth
->
flags
==
ETH_RAW_MODE
)
{
printf
(
"Setting ETHERNET to ETH_RAW_IF5_MODE
\n
"
);
printf
(
"Setting ETHERNET to ETH_RAW_IF5_MODE
\n
"
);
...
@@ -395,7 +395,7 @@ int transport_init(openair0_device *device, openair0_config_t *openair0_cfg, eth
...
@@ -395,7 +395,7 @@ int transport_init(openair0_device *device, openair0_config_t *openair0_cfg, eth
device
->
openair0_cfg
=&
openair0_cfg
[
0
];
device
->
openair0_cfg
=&
openair0_cfg
[
0
];
printf
(
"[ETHERNET]: Initializing openair0_device for %s of eNB %d ...
\n
"
,
((
device
->
host_type
==
BBU_HOST
)
?
"BBU"
:
"RRH"
),
num_devices_eth
);
printf
(
"[ETHERNET]: Initializing openair0_device for %s of eNB %d ...
\n
"
,
((
device
->
host_type
==
BBU_HOST
)
?
"BBU"
:
"RRH"
),
num_devices_eth
);
device
->
Mod_id
=
num_devices_eth
;
device
->
Mod_id
=
num_devices_eth
;
printf
(
"num_devices_eth %d, device->Mod_id %d, addr %s, local_if_name %s, addr(ifdevice) %s
\n
"
,
num_devices_eth
,
device
->
Mod_id
,
eth_params
->
my_addr
,
eth_params
->
local_if_name
,
openair0_cfg
->
my_addr
);
//
printf("num_devices_eth %d, device->Mod_id %d, addr %s, local_if_name %s, addr(ifdevice) %s\n",num_devices_eth,device->Mod_id,eth_params->my_addr,eth_params->local_if_name,openair0_cfg->my_addr);
num_devices_eth
++
;
num_devices_eth
++
;
device
->
transp_type
=
ETHERNET_TP
;
device
->
transp_type
=
ETHERNET_TP
;
device
->
trx_start_func
=
trx_eth_start
;
device
->
trx_start_func
=
trx_eth_start
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.2UE.conf
deleted
100644 → 0
View file @
fb887794
Active_eNBs
= (
"eNB_Eurecom_LTEBox"
,
"eNB_Eurecom_LTEBox1"
);
# 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
=
"1"
;
mobile_country_code
=
"208"
;
mobile_network_code
=
"93"
;
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"NGFI_RRU_IF4p5"
;
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
=
25
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
120
;
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
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
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
= -
95
;
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
= -
104
;
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
;
}
);
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.13.11"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eno2"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.170/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eno2"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.170/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
rrh_gw_config
= (
{
local_if_name
=
"eno2"
;
remote_address
=
"192.168.12.171"
;
local_address
=
"192.168.12.170"
;
local_port
=
50000
;
#for raw option local port must be the same to remote
remote_port
=
50000
;
rrh_gw_active
=
"yes"
;
tr_preference
=
"udp_if4p5"
;
rf_preference
=
"usrp_b200"
;
iq_txshift
=
4
;
tx_sample_advance
=
80
;
tx_scheduling_advance
=
9
;
if_compression
=
"alaw"
;
}
);
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"
;
};
}
,
{
//////////
Identification
parameters
:
eNB_ID
=
0
xe01
;
cell_type
=
"CELL_MACRO_ENB"
;
eNB_name
=
"eNB_Eurecom_LTEBox1"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
"1"
;
mobile_country_code
=
"208"
;
mobile_network_code
=
"93"
;
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"NGFI_RRU_IF4p5"
;
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
=
25
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
120
;
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
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
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
= -
95
;
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
= -
104
;
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
;
}
);
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.13.11"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"enxd8eb97b9c06c"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.14.170/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"enxd8eb97b9c06c"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.14.170/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
rrh_gw_config
= (
{
local_if_name
=
"enxd8eb97b9c06c"
;
remote_address
=
"192.168.14.171"
;
local_address
=
"192.168.14.170"
;
local_port
=
50001
;
#for raw option local port must be the same to remote
remote_port
=
50001
;
rrh_gw_active
=
"yes"
;
tr_preference
=
"udp_if4p5"
;
rf_preference
=
"usrp_b200"
;
iq_txshift
=
4
;
tx_sample_advance
=
80
;
tx_scheduling_advance
=
9
;
if_compression
=
"alaw"
;
}
);
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"
;
};
}
);
targets/RT/USER/lte-enb.c
View file @
1f31fff8
...
@@ -2330,7 +2330,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
...
@@ -2330,7 +2330,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
int
ret
;
int
ret
;
for
(
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
for
(
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
printf
(
"Number of inst %d, eNB %d, rfdevice %d, ifdevice %d, addr %s
\n
"
,
inst
,
PHY_vars_eNB_g
[
inst
][
CC_id
]
->
Mod_id
,
PHY_vars_eNB_g
[
inst
][
CC_id
]
->
rfdevice
.
Mod_id
,
PHY_vars_eNB_g
[
inst
][
CC_id
]
->
ifdevice
.
Mod_id
,(
eth_params
+
inst
+
CC_id
)
->
my_addr
);
//
printf("Number of inst %d, eNB %d, rfdevice %d, ifdevice %d, addr %s\n",inst,PHY_vars_eNB_g[inst][CC_id]->Mod_id,PHY_vars_eNB_g[inst][CC_id]->rfdevice.Mod_id,PHY_vars_eNB_g[inst][CC_id]->ifdevice.Mod_id,(eth_params+inst+CC_id)->my_addr);
eNB
=
PHY_vars_eNB_g
[
inst
][
CC_id
];
eNB
=
PHY_vars_eNB_g
[
inst
][
CC_id
];
eNB
->
node_function
=
node_function
[
CC_id
];
eNB
->
node_function
=
node_function
[
CC_id
];
eNB
->
node_timing
=
node_timing
[
CC_id
];
eNB
->
node_timing
=
node_timing
[
CC_id
];
...
@@ -2369,7 +2369,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
...
@@ -2369,7 +2369,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
}
}
eNB
->
rfdevice
.
host_type
=
RRH_HOST
;
eNB
->
rfdevice
.
host_type
=
RRH_HOST
;
eNB
->
ifdevice
.
host_type
=
RRH_HOST
;
eNB
->
ifdevice
.
host_type
=
RRH_HOST
;
ret
=
openair0_transport_load
(
&
eNB
->
ifdevice
,
&
openair0_cfg
[
CC_id
],
eNB
->
eth_params
,
eNB
->
Mod_id
);
ret
=
openair0_transport_load
(
&
eNB
->
ifdevice
,
&
openair0_cfg
[
CC_id
+
inst
],
eNB
->
eth_params
);
printf
(
"openair0_transport_init returns %d for CC_id %d
\n
"
,
ret
,
CC_id
);
printf
(
"openair0_transport_init returns %d for CC_id %d
\n
"
,
ret
,
CC_id
);
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
printf
(
"Exiting, cannot initialize transport protocol
\n
"
);
printf
(
"Exiting, cannot initialize transport protocol
\n
"
);
...
@@ -2400,8 +2400,8 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
...
@@ -2400,8 +2400,8 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
}
}
eNB
->
rfdevice
.
host_type
=
RRH_HOST
;
eNB
->
rfdevice
.
host_type
=
RRH_HOST
;
eNB
->
ifdevice
.
host_type
=
RRH_HOST
;
eNB
->
ifdevice
.
host_type
=
RRH_HOST
;
printf
(
"loading transport interface eNB %d, rfdevice %d, ifdevice %d
, addr (ifdevice)
...
\n
"
,
eNB
->
Mod_id
,
eNB
->
rfdevice
.
Mod_id
,
eNB
->
ifdevice
.
Mod_id
);
printf
(
"loading transport interface eNB %d, rfdevice %d, ifdevice %d ...
\n
"
,
eNB
->
Mod_id
,
eNB
->
rfdevice
.
Mod_id
,
eNB
->
ifdevice
.
Mod_id
);
ret
=
openair0_transport_load
(
&
eNB
->
ifdevice
,
&
openair0_cfg
[
CC_id
+
inst
],
eNB
->
eth_params
,
eNB
->
Mod_id
);
ret
=
openair0_transport_load
(
&
eNB
->
ifdevice
,
&
openair0_cfg
[
CC_id
+
inst
],
eNB
->
eth_params
);
printf
(
"openair0_transport_init returns %d for CC_id %d
\n
"
,
ret
,
CC_id
);
printf
(
"openair0_transport_init returns %d for CC_id %d
\n
"
,
ret
,
CC_id
);
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
printf
(
"Exiting, cannot initialize transport protocol
\n
"
);
printf
(
"Exiting, cannot initialize transport protocol
\n
"
);
...
@@ -2465,7 +2465,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
...
@@ -2465,7 +2465,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
eNB
->
ifdevice
.
host_type
=
BBU_HOST
;
eNB
->
ifdevice
.
host_type
=
BBU_HOST
;
ret
=
openair0_transport_load
(
&
eNB
->
ifdevice
,
&
openair0_cfg
[
CC_id
],
eNB
->
eth_params
,
eNB
->
Mod_id
);
ret
=
openair0_transport_load
(
&
eNB
->
ifdevice
,
&
openair0_cfg
[
CC_id
+
inst
],
eNB
->
eth_params
);
printf
(
"openair0_transport_init returns %d for CC_id %d
\n
"
,
ret
,
CC_id
);
printf
(
"openair0_transport_init returns %d for CC_id %d
\n
"
,
ret
,
CC_id
);
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
printf
(
"Exiting, cannot initialize transport protocol
\n
"
);
printf
(
"Exiting, cannot initialize transport protocol
\n
"
);
...
@@ -2488,7 +2488,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
...
@@ -2488,7 +2488,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
eNB
->
fh_asynch
=
(
eNB
->
node_timing
==
synch_to_other
)
?
fh_if4p5_asynch_UL
:
NULL
;
eNB
->
fh_asynch
=
(
eNB
->
node_timing
==
synch_to_other
)
?
fh_if4p5_asynch_UL
:
NULL
;
eNB
->
rfdevice
.
host_type
=
BBU_HOST
;
eNB
->
rfdevice
.
host_type
=
BBU_HOST
;
eNB
->
ifdevice
.
host_type
=
BBU_HOST
;
eNB
->
ifdevice
.
host_type
=
BBU_HOST
;
ret
=
openair0_transport_load
(
&
eNB
->
ifdevice
,
&
openair0_cfg
[
CC_id
],
eNB
->
eth_params
,
eNB
->
Mod_id
);
ret
=
openair0_transport_load
(
&
eNB
->
ifdevice
,
&
openair0_cfg
[
CC_id
+
inst
],
eNB
->
eth_params
);
printf
(
"openair0_transport_init returns %d for CC_id %d
\n
"
,
ret
,
CC_id
);
printf
(
"openair0_transport_init returns %d for CC_id %d
\n
"
,
ret
,
CC_id
);
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
printf
(
"Exiting, cannot initialize transport protocol
\n
"
);
printf
(
"Exiting, cannot initialize transport protocol
\n
"
);
...
@@ -2514,7 +2514,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
...
@@ -2514,7 +2514,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
eNB
->
rfdevice
.
host_type
=
BBU_HOST
;
eNB
->
rfdevice
.
host_type
=
BBU_HOST
;
eNB
->
ifdevice
.
host_type
=
BBU_HOST
;
eNB
->
ifdevice
.
host_type
=
BBU_HOST
;
ret
=
openair0_transport_load
(
&
eNB
->
ifdevice
,
&
openair0_cfg
[
CC_id
],
eNB
->
eth_params
,
eNB
->
Mod_id
);
ret
=
openair0_transport_load
(
&
eNB
->
ifdevice
,
&
openair0_cfg
[
CC_id
+
inst
],
eNB
->
eth_params
);
printf
(
"openair0_transport_init returns %d for CC_id %d
\n
"
,
ret
,
CC_id
);
printf
(
"openair0_transport_init returns %d for CC_id %d
\n
"
,
ret
,
CC_id
);
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
printf
(
"Exiting, cannot initialize transport protocol
\n
"
);
printf
(
"Exiting, cannot initialize transport protocol
\n
"
);
...
...
targets/SIMU/USER/oaisim_functions.c
View file @
1f31fff8
...
@@ -189,6 +189,8 @@ int oaisim_flag=1;
...
@@ -189,6 +189,8 @@ int oaisim_flag=1;
void
get_simulation_options
(
int
argc
,
char
*
argv
[])
void
get_simulation_options
(
int
argc
,
char
*
argv
[])
{
{
int
option
;
int
option
;
int
CC_id
;
int
k
;
char
*
conf_config_file_name
=
NULL
;
char
*
conf_config_file_name
=
NULL
;
enum
long_option_e
{
enum
long_option_e
{
LONG_OPTION_START
=
0x100
,
/* Start after regular single char options */
LONG_OPTION_START
=
0x100
,
/* Start after regular single char options */
...
@@ -827,18 +829,22 @@ void get_simulation_options(int argc, char *argv[])
...
@@ -827,18 +829,22 @@ void get_simulation_options(int argc, char *argv[])
}
}
}
}
}
}
}
/* Update some simulation parameters */
/* Update some simulation parameters */
oai_emulation
.
info
.
frame_type
[
0
]
=
enb_properties
->
properties
[
0
]
->
frame_type
[
0
];
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
){
oai_emulation
.
info
.
tdd_config
[
0
]
=
enb_properties
->
properties
[
0
]
->
tdd_config
[
0
];
oai_emulation
.
info
.
frame_type
[
CC_id
]
=
enb_properties
->
properties
[
i
]
->
frame_type
[
CC_id
];
oai_emulation
.
info
.
tdd_config_S
[
0
]
=
enb_properties
->
properties
[
0
]
->
tdd_config_s
[
0
];
oai_emulation
.
info
.
tdd_config
[
CC_id
]
=
enb_properties
->
properties
[
i
]
->
tdd_config
[
CC_id
];
oai_emulation
.
info
.
extended_prefix_flag
[
0
]
=
enb_properties
->
properties
[
0
]
->
prefix_type
[
0
];
oai_emulation
.
info
.
tdd_config_S
[
CC_id
]
=
enb_properties
->
properties
[
i
]
->
tdd_config_s
[
CC_id
];
oai_emulation
.
info
.
extended_prefix_flag
[
CC_id
]
=
enb_properties
->
properties
[
i
]
->
prefix_type
[
CC_id
];
oai_emulation
.
info
.
node_function
[
0
]
=
enb_properties
->
properties
[
0
]
->
cc_node_function
[
0
];
oai_emulation
.
info
.
N_RB_DL
[
CC_id
]
=
enb_properties
->
properties
[
i
]
->
N_RB_DL
[
CC_id
];
oai_emulation
.
info
.
node_timing
[
0
]
=
enb_properties
->
properties
[
0
]
->
cc_node_timing
[
0
];
downlink_frequency
[
0
][
0
]
=
enb_properties
->
properties
[
0
]
->
downlink_frequency
[
0
];
oai_emulation
.
info
.
node_function
[
CC_id
]
=
enb_properties
->
properties
[
i
]
->
cc_node_function
[
CC_id
];
uplink_frequency_offset
[
0
][
0
]
=
enb_properties
->
properties
[
0
]
->
uplink_frequency_offset
[
0
];
oai_emulation
.
info
.
node_timing
[
CC_id
]
=
enb_properties
->
properties
[
i
]
->
cc_node_timing
[
CC_id
];
oai_emulation
.
info
.
N_RB_DL
[
0
]
=
enb_properties
->
properties
[
0
]
->
N_RB_DL
[
0
];
for
(
k
=
0
;
k
<
4
;
k
++
){
downlink_frequency
[
CC_id
][
0
]
=
enb_properties
->
properties
[
i
]
->
downlink_frequency
[
CC_id
];
uplink_frequency_offset
[
CC_id
][
0
]
=
enb_properties
->
properties
[
i
]
->
uplink_frequency_offset
[
CC_id
];
}
}
}
}
}
free
(
conf_config_file_name
);
free
(
conf_config_file_name
);
conf_config_file_name
=
0
;
conf_config_file_name
=
0
;
...
...
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