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
Michael Black
OpenXG-RAN
Commits
bab9c42e
Commit
bab9c42e
authored
Sep 30, 2021
by
David Kim
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added some config files after restoring original config files.
parent
680278c0
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
699 additions
and
74 deletions
+699
-74
ci-scripts/conf_files/episci_nr-ue.nfapi.conf
ci-scripts/conf_files/episci_nr-ue.nfapi.conf
+44
-0
ci-scripts/conf_files/episci_rcc.band7.tm1.nfapi.conf
ci-scripts/conf_files/episci_rcc.band7.tm1.nfapi.conf
+247
-0
ci-scripts/conf_files/episci_ue.nfapi.conf
ci-scripts/conf_files/episci_ue.nfapi.conf
+44
-0
ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf
ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf
+13
-14
ci-scripts/conf_files/ue.nfapi.conf
ci-scripts/conf_files/ue.nfapi.conf
+2
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/episci_rcc.band78.tm1.106PRB.nfapi.conf
...ERIC-LTE-EPC/CONF/episci_rcc.band78.tm1.106PRB.nfapi.conf
+265
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band78.tm1.106PRB.nfapi.conf
...CTS/GENERIC-LTE-EPC/CONF/rcc.band78.tm1.106PRB.nfapi.conf
+84
-58
No files found.
ci-scripts/conf_files/episci_nr-ue.nfapi.conf
0 → 100644
View file @
bab9c42e
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
=
"medium"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"full"
;
};
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"nfapi"
;
local_n_if_name
=
"ens3"
;
remote_n_address
=
"127.0.0.1"
; //
Proxy
IP
local_n_address
=
"127.0.0.1"
;
local_n_portc
=
50600
;
remote_n_portc
=
50601
;
local_n_portd
=
50610
;
remote_n_portd
=
50611
;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
90
att_rx
=
0
;
bands
= [
7
,
38
,
42
,
43
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
125
;
}
);
ci-scripts/conf_files/episci_rcc.band7.tm1.nfapi.conf
0 → 100644
View file @
bab9c42e
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.195"
;
ipv6
=
"192:168:30::17"
;
port
=
36412
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
enable_measurement_reports
=
"yes"
;
///
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
=
"ctrl0"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"172.16.0.1"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"ctrl0"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"172.16.0.1"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C
=
"172.16.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"
;
};
ci-scripts/conf_files/episci_ue.nfapi.conf
0 → 100644
View file @
bab9c42e
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
=
"medium"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"full"
;
};
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"nfapi"
;
local_n_if_name
=
"ens3"
;
remote_n_address
=
"127.0.0.1"
; //
Proxy
IP
local_n_address
=
"127.0.0.1"
;
local_n_portc
=
50000
;
remote_n_portc
=
50001
;
local_n_portd
=
50010
;
remote_n_portd
=
50011
;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
90
att_rx
=
0
;
bands
= [
7
,
38
,
42
,
43
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
125
;
}
);
ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf
View file @
bab9c42e
...
@@ -13,9 +13,9 @@ eNBs =
...
@@ -13,9 +13,9 @@ eNBs =
eNB_name
=
"eNB-Eurecom-LTEBox"
;
eNB_name
=
"eNB-Eurecom-LTEBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
5
;
tracking_area_code
=
1
;
plmn_list
= ( {
mcc
=
320
;
mnc
=
230
;
mnc_length
=
3
; } );
plmn_list
= ( {
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
; } );
tr_s_preference
=
"local_mac"
tr_s_preference
=
"local_mac"
...
@@ -172,7 +172,7 @@ eNBs =
...
@@ -172,7 +172,7 @@ eNBs =
//////////
MME
parameters
:
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"
192.168.61.195
"
;
mme_ip_address
= ( {
ipv4
=
"
CI_MME_IP_ADDR
"
;
ipv6
=
"192:168:30::17"
;
ipv6
=
"192:168:30::17"
;
port
=
36412
;
port
=
36412
;
active
=
"yes"
;
active
=
"yes"
;
...
@@ -180,10 +180,10 @@ eNBs =
...
@@ -180,10 +180,10 @@ eNBs =
}
}
);
);
enable_measurement_reports
=
"
yes
"
;
enable_measurement_reports
=
"
no
"
;
///
X2
///
X2
enable_x2
=
"
yes
"
;
enable_x2
=
"
no
"
;
t_reloc_prep
=
1000
; /*
unit
:
millisecond
*/
t_reloc_prep
=
1000
; /*
unit
:
millisecond
*/
tx2_reloc_overall
=
2000
; /*
unit
:
millisecond
*/
tx2_reloc_overall
=
2000
; /*
unit
:
millisecond
*/
t_dc_prep
=
1000
; /*
unit
:
millisecond
*/
t_dc_prep
=
1000
; /*
unit
:
millisecond
*/
...
@@ -191,12 +191,12 @@ eNBs =
...
@@ -191,12 +191,12 @@ eNBs =
NETWORK_INTERFACES
:
NETWORK_INTERFACES
:
{
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
ctrl0
"
;
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
ens3
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"
172.16.0.1
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"
CI_ENB_IP_ADDR
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
ctrl0
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
ens3
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"
172.16.0.1
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"
CI_ENB_IP_ADDR
"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C
=
"
172.16.0.1
"
;
ENB_IPV4_ADDRESS_FOR_X2C
=
"
CI_ENB_IP_ADDR
"
;
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
};
};
...
@@ -206,16 +206,15 @@ eNBs =
...
@@ -206,16 +206,15 @@ eNBs =
MACRLCs
= (
MACRLCs
= (
{
{
num_cc
=
1
;
num_cc
=
1
;
local_s_if_name
=
"
lo
"
;
local_s_if_name
=
"
ens3
"
;
remote_s_address
=
"
127.0.0.1
"
;
remote_s_address
=
"
CI_UE_IP_ADDR
"
;
local_s_address
=
"
127.0.0.1
"
;
local_s_address
=
"
CI_ENB_IP_ADDR
"
;
local_s_portc
=
50001
;
local_s_portc
=
50001
;
remote_s_portc
=
50000
;
remote_s_portc
=
50000
;
local_s_portd
=
50011
;
local_s_portd
=
50011
;
remote_s_portd
=
50010
;
remote_s_portd
=
50010
;
tr_s_preference
=
"nfapi"
;
tr_s_preference
=
"nfapi"
;
tr_n_preference
=
"local_RRC"
;
tr_n_preference
=
"local_RRC"
;
scheduler_mode
=
"fairRR"
;
}
}
);
);
...
...
ci-scripts/conf_files/ue.nfapi.conf
View file @
bab9c42e
...
@@ -21,8 +21,8 @@ L1s = (
...
@@ -21,8 +21,8 @@ L1s = (
num_cc
=
1
;
num_cc
=
1
;
tr_n_preference
=
"nfapi"
;
tr_n_preference
=
"nfapi"
;
local_n_if_name
=
"ens3"
;
local_n_if_name
=
"ens3"
;
remote_n_address
=
"
127.0.0.1"
; //
Proxy
IP
remote_n_address
=
"
CI_ENB_IP_ADDR"
;
local_n_address
=
"
127.0.0.1
"
;
local_n_address
=
"
CI_UE_IP_ADDR
"
;
local_n_portc
=
50000
;
local_n_portc
=
50000
;
remote_n_portc
=
50001
;
remote_n_portc
=
50001
;
local_n_portd
=
50010
;
local_n_portd
=
50010
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/episci_rcc.band78.tm1.106PRB.nfapi.conf
0 → 100644
View file @
bab9c42e
Active_gNBs
= (
"gNB-Eurecom-5GNRBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
gNBs
=
(
{
//////////
Identification
parameters
:
gNB_ID
=
0
xe00
;
cell_type
=
"CELL_MACRO_GNB"
;
gNB_name
=
"gNB-Eurecom-5GNRBox"
;
//
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
:
ssb_SubcarrierOffset
=
31
; //
0
;
pdsch_AntennaPorts
=
1
;
pusch_AntennaPorts
=
1
;
servingCellConfigCommon
= (
{
#spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 84 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB
=
641272
; //
641032
;
#641968; 641968=start of ssb at 3600MHz + 82 RBs 641032=center of SSB at center of cell
dl_frequencyBand
=
78
;
# this is 3600 MHz
dl_absoluteFrequencyPointA
=
640000
;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
106
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=84,L=13 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth
=
6368
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
0
;
initialDLBWPsearchSpaceZero
=
0
;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0
=
0
;
#for DL slot
initialDLBWPmappingType_0
=
0
;
#0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0
=
40
;
#this is SS=1,L=13
initialDLBWPk0_1
=
0
;
#for mixed slot
initialDLBWPmappingType_1
=
0
;
initialDLBWPstartSymbolAndLength_1
=
57
;
#this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand
=
78
;
#scs-SpecificCarrierList
ul_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing
=
1
;
ul_carrierBandwidth
=
106
;
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
6368
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex
=
98
;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
13
;
preambleReceivedTargetPower
= -
100
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep
=
1
;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
5
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
4
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
14
; //
15
;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0
=
6
;
# used for UL slot
initialULBWPmappingType_0
=
1
initialULBWPstartSymbolAndLength_0
=
41
;
# this is SS=0 L=13
initialULBWPk2_1
=
6
;
# used for mixed slot
initialULBWPmappingType_1
=
1
;
initialULBWPstartSymbolAndLength_1
=
52
;
# this is SS=10 L=4
initialULBWPk2_2
=
7
;
# used for Msg.3 during RA
initialULBWPmappingType_2
=
1
;
initialULBWPstartSymbolAndLength_2
=
52
;
# this is SS=10 L=4
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
90
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
90
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
1
;
#0x80;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell
=
2
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing
=
1
;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
; //
8
; //
7
;
nrofDownlinkSymbols
=
6
; //
0
; //
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
; //
0
; //
4
;
ssPBCH_BlockPower
= -
25
;
}
);
# ------- 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.195"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
///
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
*/
target_enb_x2_ip_address
= (
{
ipv4
=
"172.16.0.1"
;
# rrc.band7.tm1.nfapi.conf:line 201
ipv6
=
"192:168:30::17"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
# All of these have to be IP addr of gNB
# if in CORE container, make it 172.16.0.X
# if not launched in CORE, can set to lo (127.0.0.2)
GNB_INTERFACE_NAME_FOR_S1_MME
=
"ctrl0"
;
GNB_IPV4_ADDRESS_FOR_S1_MME
=
"172.16.0.2"
;
GNB_INTERFACE_NAME_FOR_S1U
=
"ctrl0"
;
GNB_IPV4_ADDRESS_FOR_S1U
=
"172.16.0.2"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
GNB_IPV4_ADDRESS_FOR_X2C
=
"172.16.0.2"
;
GNB_PORT_FOR_X2C
=
36422
;
# Spec 36422
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
local_s_if_name
=
"lo:"
;
remote_s_address
=
"127.0.0.1"
; //
pnf
addr
[!]
local_s_address
=
"127.0.0.2"
; //
vnf
addr
local_s_portc
=
50601
; //
vnf
p5
port
remote_s_portc
=
50600
; //
pnf
p5
port
[!]
local_s_portd
=
50611
; //
vnf
p7
port
[!]
remote_s_portd
=
50610
; //
pnf
p7
port
[!]
tr_s_preference
=
"nfapi"
;
tr_n_preference
=
"local_RRC"
;
}
)
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_TRX_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"
;
};
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band78.tm1.106PRB.nfapi.conf
View file @
bab9c42e
...
@@ -13,15 +13,15 @@ gNBs =
...
@@ -13,15 +13,15 @@ gNBs =
gNB_name
=
"gNB-Eurecom-5GNRBox"
;
gNB_name
=
"gNB-Eurecom-5GNRBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
5
;
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
320
;
mnc
=
230
;
mnc_length
=
3
;});
plmn_list
= ({
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
;});
tr_s_preference
=
"local_mac"
tr_s_preference
=
"local_mac"
//////////
Physical
parameters
:
//////////
Physical
parameters
:
ssb_SubcarrierOffset
=
31
; //
0
;
ssb_SubcarrierOffset
=
0
;
pdsch_AntennaPorts
=
1
;
pdsch_AntennaPorts
=
1
;
pusch_AntennaPorts
=
1
;
pusch_AntennaPorts
=
1
;
...
@@ -33,8 +33,8 @@ gNBs =
...
@@ -33,8 +33,8 @@ gNBs =
# downlinkConfigCommon
# downlinkConfigCommon
#frequencyInfoDL
#frequencyInfoDL
# this is 3600 MHz +
84
PRBs@30kHz SCS (same as initial BWP)
# this is 3600 MHz +
43
PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB
=
641
272
; //
641032
;
#641968; 641968=start of ssb at 3600MHz + 82 RBs 641032=center of SSB at center of cell
absoluteFrequencySSB
=
641
032
;
dl_frequencyBand
=
78
;
dl_frequencyBand
=
78
;
# this is 3600 MHz
# this is 3600 MHz
dl_absoluteFrequencyPointA
=
640000
;
dl_absoluteFrequencyPointA
=
640000
;
...
@@ -46,23 +46,37 @@ gNBs =
...
@@ -46,23 +46,37 @@ gNBs =
dl_carrierBandwidth
=
106
;
dl_carrierBandwidth
=
106
;
#initialDownlinkBWP
#initialDownlinkBWP
#genericParameters
#genericParameters
# this is RBstart=
84,L=13
(275*(L-1))+RBstart
# this is RBstart=
41,L=24
(275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth
=
636
8
;
initialDLBWPlocationAndBandwidth
=
636
6
;
# subcarrierSpacing
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
0
;
initialDLBWPcontrolResourceSetZero
=
12
;
initialDLBWPsearchSpaceZero
=
0
;
initialDLBWPsearchSpaceZero
=
0
;
#pdsch-ConfigCommon
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0
=
0
;
#for DL slot
initialDLBWPk0_0
=
0
;
initialDLBWPmappingType_0
=
0
;
#0=typeA,1=typeB
#initialULBWPmappingType
initialDLBWPstartSymbolAndLength_0
=
40
;
#this is SS=1,L=13
#0=typeA,1=typeB
initialDLBWPmappingType_0
=
0
;
initialDLBWPk0_1
=
0
;
#for mixed slot
#this is SS=1,L=13
initialDLBWPstartSymbolAndLength_0
=
40
;
initialDLBWPk0_1
=
0
;
initialDLBWPmappingType_1
=
0
;
initialDLBWPmappingType_1
=
0
;
initialDLBWPstartSymbolAndLength_1
=
57
;
#this is SS=1,L=5
#this is SS=2,L=12
initialDLBWPstartSymbolAndLength_1
=
53
;
initialDLBWPk0_2
=
0
;
initialDLBWPmappingType_2
=
0
;
#this is SS=1,L=12
initialDLBWPstartSymbolAndLength_2
=
54
;
initialDLBWPk0_3
=
0
;
initialDLBWPmappingType_3
=
0
;
#this is SS=1,L=5
initialDLBWPstartSymbolAndLength_3
=
57
;
#uplinkConfigCommon
#uplinkConfigCommon
#frequencyInfoUL
#frequencyInfoUL
...
@@ -76,7 +90,7 @@ gNBs =
...
@@ -76,7 +90,7 @@ gNBs =
pMax
=
20
;
pMax
=
20
;
#initialUplinkBWP
#initialUplinkBWP
#genericParameters
#genericParameters
initialULBWPlocationAndBandwidth
=
636
8
;
initialULBWPlocationAndBandwidth
=
636
6
;
# subcarrierSpacing
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
initialULBWPsubcarrierSpacing
=
1
;
...
@@ -88,7 +102,7 @@ gNBs =
...
@@ -88,7 +102,7 @@ gNBs =
prach_msg1_FDM
=
0
;
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
13
;
zeroCorrelationZoneConfig
=
13
;
preambleReceivedTargetPower
= -
1
00
;
preambleReceivedTargetPower
= -
1
18
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
preambleTransMax
=
6
;
#powerRampingStep
#powerRampingStep
...
@@ -96,12 +110,12 @@ gNBs =
...
@@ -96,12 +110,12 @@ gNBs =
powerRampingStep
=
1
;
powerRampingStep
=
1
;
#ra_ReponseWindow
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
5
;
ra_ResponseWindow
=
4
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
4
;
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
4
;
#oneHalf (0..15) 4,8,12,16,...60,64
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
1
4
; //
1
5
;
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
ra_ContentionResolutionTimer
=
7
;
...
@@ -113,22 +127,25 @@ gNBs =
...
@@ -113,22 +127,25 @@ gNBs =
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
#
msg1_SubcarrierSpacing
=
1
,
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
restrictedSetConfig
=
0
,
# pusch-ConfigCommon (up to 16 elements)
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0
=
6
;
# used for UL slot
initialULBWPk2_0
=
6
;
initialULBWPmappingType_0
=
1
initialULBWPmappingType_0
=
1
initialULBWPstartSymbolAndLength_0
=
41
;
# this is SS=0 L=13
# this is SS=0 L=11
initialULBWPstartSymbolAndLength_0
=
55
;
initialULBWPk2_1
=
6
;
# used for mixed slot
initialULBWPk2_1
=
6
;
initialULBWPmappingType_1
=
1
;
initialULBWPmappingType_1
=
1
;
initialULBWPstartSymbolAndLength_1
=
52
;
# this is SS=10 L=4
# this is SS=0 L=12
initialULBWPstartSymbolAndLength_1
=
69
;
initialULBWPk2_2
=
7
;
# used for Msg.3 during RA
initialULBWPk2_2
=
7
;
initialULBWPmappingType_2
=
1
;
initialULBWPmappingType_2
=
1
;
initialULBWPstartSymbolAndLength_2
=
52
;
# this is SS=10 L=4
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2
=
52
;
msg3_DeltaPreamble
=
1
;
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
90
;
p0_NominalWithGrant
=-
90
;
...
@@ -142,7 +159,7 @@ gNBs =
...
@@ -142,7 +159,7 @@ gNBs =
# ssb_PositionsInBurs_BitmapPR
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
1
;
#0x80;
ssb_PositionsInBurst_Bitmap
=
1
;
# ssb_periodicityServingCell
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
...
@@ -165,16 +182,40 @@ gNBs =
...
@@ -165,16 +182,40 @@ gNBs =
# dl_UL_TransmissionPeriodicity
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
;
//
8
; //
7
;
nrofDownlinkSlots
=
7
;
nrofDownlinkSymbols
=
6
;
//
0
; //
6
;
nrofDownlinkSymbols
=
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
;
//
0
; //
4
;
nrofUplinkSymbols
=
4
;
ssPBCH_BlockPower
=
-
25
;
ssPBCH_BlockPower
=
10
;
}
}
);
);
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 definitions
SCTP
:
SCTP
:
{
{
...
@@ -185,36 +226,21 @@ gNBs =
...
@@ -185,36 +226,21 @@ gNBs =
//////////
MME
parameters
:
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"192.168.
61.195
"
;
mme_ip_address
= ( {
ipv4
=
"192.168.
12.26
"
;
ipv6
=
"192:168:30::17"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
active
=
"yes"
;
preference
=
"ipv4"
;
preference
=
"ipv4"
;
}
}
);
);
///
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
*/
target_enb_x2_ip_address
= (
{
ipv4
=
"172.16.0.1"
;
# rrc.band7.tm1.nfapi.conf:line 201
ipv6
=
"192:168:30::17"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
NETWORK_INTERFACES
:
{
# All of these have to be IP addr of gNB
{
# if in CORE container, make it 172.16.0.X
# if not launched in CORE, can set to lo (127.0.0.2)
GNB_INTERFACE_NAME_FOR_S1_MME
=
"eth0"
;
GNB_INTERFACE_NAME_FOR_S1_MME
=
"ctrl0"
;
GNB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.111/24"
;
GNB_IPV4_ADDRESS_FOR_S1_MME
=
"172.16.0.2"
;
GNB_INTERFACE_NAME_FOR_S1U
=
"eth0"
;
GNB_INTERFACE_NAME_FOR_S1U
=
"ctrl0"
;
GNB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.111/24"
;
GNB_IPV4_ADDRESS_FOR_S1U
=
"172.16.0.2"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
GNB_IPV4_ADDRESS_FOR_X2C
=
"172.16.0.2"
;
GNB_PORT_FOR_X2C
=
36422
;
# Spec 36422
};
};
}
}
);
);
...
@@ -226,10 +252,10 @@ MACRLCs = (
...
@@ -226,10 +252,10 @@ MACRLCs = (
local_s_if_name
=
"lo:"
;
local_s_if_name
=
"lo:"
;
remote_s_address
=
"127.0.0.1"
; //
pnf
addr
[!]
remote_s_address
=
"127.0.0.1"
; //
pnf
addr
[!]
local_s_address
=
"127.0.0.2"
; //
vnf
addr
local_s_address
=
"127.0.0.2"
; //
vnf
addr
local_s_portc
=
50
6
01
; //
vnf
p5
port
local_s_portc
=
50
0
01
; //
vnf
p5
port
remote_s_portc
=
50
6
00
; //
pnf
p5
port
[!]
remote_s_portc
=
50
0
00
; //
pnf
p5
port
[!]
local_s_portd
=
50
6
11
; //
vnf
p7
port
[!]
local_s_portd
=
50
0
11
; //
vnf
p7
port
[!]
remote_s_portd
=
50
6
10
; //
pnf
p7
port
[!]
remote_s_portd
=
50
0
10
; //
pnf
p7
port
[!]
tr_s_preference
=
"nfapi"
;
tr_s_preference
=
"nfapi"
;
tr_n_preference
=
"local_RRC"
;
tr_n_preference
=
"local_RRC"
;
}
}
...
...
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