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
b9c92931
Commit
b9c92931
authored
Apr 23, 2016
by
Xenofon Foukas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added support for multiple eNBs
parent
07d30b22
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
325 additions
and
12 deletions
+325
-12
openair2/ENB_APP/enb_agent.c
openair2/ENB_APP/enb_agent.c
+18
-10
openair2/ENB_APP/enb_agent_common.c
openair2/ENB_APP/enb_agent_common.c
+5
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.agent.oaisim.2.enb.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band7.agent.oaisim.2.enb.conf
+302
-0
No files found.
openair2/ENB_APP/enb_agent.c
View file @
b9c92931
...
...
@@ -59,13 +59,15 @@ void *receive_thread(void *args);
pthread_t
new_thread
(
void
*
(
*
f
)(
void
*
),
void
*
b
);
Protocol__ProgranMessage
*
enb_agent_timeout
(
void
*
args
);
int
agent_task_created
=
0
;
/*
* enb agent task mainly wakes up the tx thread for periodic and oneshot messages to the controller
* and can interact with other itti tasks
*/
void
*
enb_agent_task
(
void
*
args
){
enb_agent_instance_t
*
d
=
(
enb_agent_instance_t
*
)
args
;
//
enb_agent_instance_t *d = (enb_agent_instance_t *) args;
Protocol__ProgranMessage
*
msg
;
void
*
data
;
int
size
;
...
...
@@ -76,7 +78,7 @@ void *enb_agent_task(void *args){
const
char
*
msg_name
=
NULL
;
instance_t
instance
;
int
result
;
struct
enb_agent_timer_element_s
*
elem
=
NULL
;
itti_mark_task_ready
(
TASK_ENB_AGENT
);
...
...
@@ -100,7 +102,8 @@ void *enb_agent_task(void *args){
msg
=
enb_agent_process_timeout
(
msg_p
->
ittiMsg
.
timer_has_expired
.
timer_id
,
msg_p
->
ittiMsg
.
timer_has_expired
.
arg
);
if
(
msg
!=
NULL
){
data
=
enb_agent_pack_message
(
msg
,
&
size
);
if
(
enb_agent_msg_send
(
d
->
enb_id
,
ENB_AGENT_DEFAULT
,
data
,
size
,
priority
))
{
elem
=
get_timer_entry
(
msg_p
->
ittiMsg
.
timer_has_expired
.
timer_id
);
if
(
enb_agent_msg_send
(
elem
->
agent_id
,
ENB_AGENT_DEFAULT
,
data
,
size
,
priority
))
{
err_code
=
PROTOCOL__PROGRAN_ERR__MSG_ENQUEUING
;
goto
error
;
}
...
...
@@ -203,6 +206,7 @@ pthread_t new_thread(void *(*f)(void *), void *b) {
return
t
;
}
int
channel_container_init
=
0
;
int
enb_agent_start
(
mid_t
mod_id
,
const
Enb_properties_array_t
*
enb_properties
){
int
channel_id
;
...
...
@@ -240,8 +244,10 @@ int enb_agent_start(mid_t mod_id, const Enb_properties_array_t* enb_properties){
/*
* Initialize the channel container
*/
if
(
!
channel_container_init
)
{
enb_agent_init_channel_container
();
channel_container_init
=
1
;
}
/*Create the async channel info*/
enb_agent_instance_t
*
channel_info
=
enb_agent_async_channel_info
(
mod_id
,
in_ip
,
in_port
);
...
...
@@ -294,11 +300,13 @@ int enb_agent_start(mid_t mod_id, const Enb_properties_array_t* enb_properties){
/*
* start the enb agent task for tx and interaction with the underlying network function
*/
if
(
!
agent_task_created
)
{
if
(
itti_create_task
(
TASK_ENB_AGENT
,
enb_agent_task
,
(
void
*
)
&
enb_agent
[
mod_id
])
<
0
)
{
LOG_E
(
ENB_AGENT
,
"Create task for eNB Agent failed
\n
"
);
return
-
1
;
}
agent_task_created
=
1
;
}
LOG_I
(
ENB_AGENT
,
"client ends
\n
"
);
return
0
;
...
...
openair2/ENB_APP/enb_agent_common.c
View file @
b9c92931
...
...
@@ -2090,11 +2090,14 @@ int enb_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__Progr
//struct enb_agent_map agent_map;
enb_agent_timer_instance_t
timer_instance
;
int
agent_timer_init
=
0
;
err_code_t
enb_agent_init_timer
(
void
){
LOG_I
(
ENB_AGENT
,
"init RB tree
\n
"
);
if
(
!
agent_timer_init
)
{
RB_INIT
(
&
timer_instance
.
enb_agent_head
);
agent_timer_init
=
1
;
}
/*
struct enb_agent_timer_element_s e;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.agent.oaisim.2.enb.conf
0 → 100644
View file @
b9c92931
Active_eNBs
= (
"eNB_Eurecom_LTEBox1"
,
"eNB_Eurecom_LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
(
{
//////////
Identification
parameters
:
eNB_ID
=
0
x00
;
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
=
"10"
;
//////////
Physical
parameters
:
component_carriers
= (
{
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
7
;
downlink_frequency
=
2680000000
L
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
0
;
N_RB_DL
=
50
;
Nid_cell_mbsfn
=
0
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
25
;
rx_gain
=
20
;
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
=
0
;
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
=
0
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
108
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
108
;
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
=
2
;
rach_preambleInitialReceivedTargetPower
= -
100
;
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
;
}
);
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"192.168.100.102"
;
ipv6
=
"0::0"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eth2:1"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.100.103/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eth2:1"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.100.103/24"
;
ENB_PORT_FOR_S1U
=
2153
;
# Spec 2152
};
NETWORK_CONTROLLER
:
{
ENB_AGENT_INTERFACE_NAME
=
"eth0"
;
ENB_AGENT_IPV4_ADDRESS
=
"10.0.0.5/30"
;
ENB_AGENT_PORT
=
2210
;
ENB_AGENT_CACHE
=
"/mnt/oai_agent_cache"
;
};
log_config
:
{
global_log_level
=
"trace"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"trace"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"trace"
;
mac_log_verbosity
=
"medium"
;
rlc_log_level
=
"trace"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"trace"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"trace"
;
rrc_log_verbosity
=
"medium"
;
gtpu_log_level
=
"debug"
;
gtpu_log_verbosity
=
"medium"
;
udp_log_level
=
"debug"
;
udp_log_verbosity
=
"medium"
;
osa_log_level
=
"debug"
;
osa_log_verbosity
=
"low"
;
};
},
{
//////////
Identification
parameters
:
eNB_ID
=
0
x01
;
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
=
"10"
;
//////////
Physical
parameters
:
component_carriers
= (
{
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
7
;
downlink_frequency
=
2680000000
L
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
10
;
N_RB_DL
=
25
;
Nid_cell_mbsfn
=
0
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
25
;
rx_gain
=
20
;
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
=
0
;
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
=
0
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
108
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
108
;
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
=
2
;
rach_preambleInitialReceivedTargetPower
= -
100
;
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
;
}
);
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"192.168.100.102"
;
ipv6
=
"0::0"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eth2:2"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.100.104/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eth2:2"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.100.104/24"
;
ENB_PORT_FOR_S1U
=
2153
;
# Spec 2152
};
NETWORK_CONTROLLER
:
{
ENB_AGENT_INTERFACE_NAME
=
"eth0"
;
ENB_AGENT_IPV4_ADDRESS
=
"10.0.0.5/30"
;
ENB_AGENT_PORT
=
2210
;
ENB_AGENT_CACHE
=
"/mnt/oai_agent_cache"
;
};
log_config
:
{
global_log_level
=
"trace"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"trace"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"trace"
;
mac_log_verbosity
=
"medium"
;
rlc_log_level
=
"trace"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"trace"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"trace"
;
rrc_log_verbosity
=
"medium"
;
gtpu_log_level
=
"debug"
;
gtpu_log_verbosity
=
"medium"
;
udp_log_level
=
"debug"
;
udp_log_verbosity
=
"medium"
;
osa_log_level
=
"debug"
;
osa_log_verbosity
=
"low"
;
};
}
);
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