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
fb368010
Commit
fb368010
authored
Dec 06, 2021
by
hardy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove thread-pool for gnb + oai ue test update
parent
04af3780
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
348 additions
and
326 deletions
+348
-326
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
+343
-321
ci-scripts/xml_files/fr1_nsa_2x2_quectel.xml
ci-scripts/xml_files/fr1_nsa_2x2_quectel.xml
+1
-1
ci-scripts/xml_files/fr1_nsa_2x2_quectel_attach_detach.xml
ci-scripts/xml_files/fr1_nsa_2x2_quectel_attach_detach.xml
+1
-1
ci-scripts/xml_files/fr1_sa_oaiue_b200.xml
ci-scripts/xml_files/fr1_sa_oaiue_b200.xml
+1
-1
ci-scripts/xml_files/fr1_sa_quectel.xml
ci-scripts/xml_files/fr1_sa_quectel.xml
+1
-1
ci-scripts/xml_files/fr1_sa_quectel_stages.xml
ci-scripts/xml_files/fr1_sa_quectel_stages.xml
+1
-1
No files found.
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
View file @
fb368010
...
@@ -6,41 +6,48 @@ gNBs =
...
@@ -6,41 +6,48 @@ gNBs =
(
(
{
{
//////////
Identification
parameters
:
//////////
Identification
parameters
:
gNB_ID
=
0
xe00
;
gNB_CU_ID
=
0
xe00
;
# cell_type = "CELL_MACRO_GNB";
gNB_name
=
"gNB-OAI"
;
gNB_name
=
"gNB-OAI"
;
min_rxtxtime_pdsch
=
6
;
//
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
=
1
;
tracking_area_code
=
1
;
plmn_list
= ({
plmn_list
= ({
mcc
=
208
;
mcc
=
208
;
mnc
=
9
9
;
mnc
=
9
7
;
mnc_length
=
2
;
mnc_length
=
2
;
snssaiList
= (
snssaiList
= (
{
{
sst
=
1
;
sst
=
1
;
sd
=
0
x1
; //
0
false
,
else
true
sd
=
0
x010203
; //
0
false
,
else
true
},
},
{
{
sst
=
1
;
sst
=
1
;
sd
=
0
x112233
; //
0
false
,
else
true
sd
=
0
x112233
; //
0
false
,
else
true
}
}
);
);
});
});
nr_cellid
=
12345678
L
;
nr_cellid
=
12345678
L
# tr_s_preference = "local_mac"
//////////
Physical
parameters
:
//////////
Physical
parameters
:
ssb_SubcarrierOffset
=
0
;
ssb_SubcarrierOffset
=
0
;
pdsch_AntennaPorts
=
1
;
pdsch_AntennaPorts
=
1
;
pusch_AntennaPorts
=
1
;
pusch_AntennaPorts
=
1
;
min_rxtxtime_pdsch
=
6
;
#pusch_TargetSNRx10 = 200;
#pucch_TargetSNRx10 = 200;
ul_prbblacklist
=
"51,52,53,54"
ul_prbblacklist
=
"51,52,53,54"
pdcch_ConfigSIB1
= (
pdcch_ConfigSIB1
= (
{
{
controlResourceSetZero
=
1
2
;
controlResourceSetZero
=
1
1
;
searchSpaceZero
=
0
;
searchSpaceZero
=
0
;
}
}
);
);
...
@@ -53,11 +60,23 @@ gNBs =
...
@@ -53,11 +60,23 @@ gNBs =
# downlinkConfigCommon
# downlinkConfigCommon
#frequencyInfoDL
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
# this is 3301.68 MHz + 22*12*30e-3 MHz = 3309.6
absoluteFrequencySSB
=
641280
;
#absoluteFrequencySSB = 620640;
dl_frequencyBand
=
78
;
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
# this is 3600 MHz
absoluteFrequencySSB
=
621312
;
dl_absoluteFrequencyPointA
=
640008
;
# this is 3503.28 MHz + 22*12*30e-3 MHz = 3511.2
#absoluteFrequencySSB = 634080;
# this is 3600.48 MHz
#absoluteFrequencySSB = 640032;
#dl_frequencyBand = 78;
# this is 3301.68 MHz
#dl_absoluteFrequencyPointA = 620112;
# this is 3300.60 MHz
dl_absoluteFrequencyPointA
=
620040
;
# this is 3502.56 MHz
#dl_absoluteFrequencyPointA = 633552;
# this is 3600.48 MHz
#dl_absoluteFrequencyPointA = 640032;
#scs-SpecificCarrierList
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# subcarrierSpacing
...
@@ -66,23 +85,27 @@ gNBs =
...
@@ -66,23 +85,27 @@ gNBs =
dl_carrierBandwidth
=
106
;
dl_carrierBandwidth
=
106
;
#initialDownlinkBWP
#initialDownlinkBWP
#genericParameters
#genericParameters
# this is RBstart=
27,L=48 (275*(L-1))+RBstart
# this is RBstart=
0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth
=
12952
;
# 6366 12925 12956 28875 12952
initialDLBWPlocationAndBandwidth
=
28875
;
# 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
=
12
;
initialDLBWPcontrolResourceSetZero
=
11
;
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=1,L=5
initialDLBWPstartSymbolAndLength_1
=
57
;
#uplinkConfigCommon
#uplinkConfigCommon
#frequencyInfoUL
#frequencyInfoUL
...
@@ -96,7 +119,7 @@ gNBs =
...
@@ -96,7 +119,7 @@ gNBs =
pMax
=
20
;
pMax
=
20
;
#initialUplinkBWP
#initialUplinkBWP
#genericParameters
#genericParameters
initialULBWPlocationAndBandwidth
=
12952
;
initialULBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
initialULBWPsubcarrierSpacing
=
1
;
...
@@ -107,8 +130,8 @@ gNBs =
...
@@ -107,8 +130,8 @@ gNBs =
#0 = one, 1=two, 2=four, 3=eight
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
1
3
;
zeroCorrelationZoneConfig
=
1
2
;
preambleReceivedTargetPower
= -
96
;
preambleReceivedTargetPower
= -
104
;
#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
...
@@ -119,9 +142,9 @@ gNBs =
...
@@ -119,9 +142,9 @@ gNBs =
ra_ResponseWindow
=
4
;
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
=
3
;
#oneHalf (0..15) 4,8,12,16,...60,64
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
1
4
;
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
1
5
;
#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
;
...
@@ -138,17 +161,20 @@ gNBs =
...
@@ -138,17 +161,20 @@ gNBs =
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=2 L=13
initialULBWPstartSymbolAndLength_0
=
41
;
initialULBWPk2_1
=
6
;
# used for mixed slot
initialULBWPk2_1
=
6
;
initialULBWPmappingType_1
=
1
;
initialULBWPmappingType_1
=
1
;
initialULBWPstartSymbolAndLength_1
=
38
;
# this is SS=10 L=3
# this is SS=0 L=4
initialULBWPstartSymbolAndLength_1
=
52
;
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
;
...
@@ -204,7 +230,6 @@ gNBs =
...
@@ -204,7 +230,6 @@ gNBs =
SCTP_OUTSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
};
//////////
AMF
parameters
:
//////////
AMF
parameters
:
amf_ip_address
= ( {
ipv4
=
"CI_MME_IP_ADDR"
;
amf_ip_address
= ( {
ipv4
=
"CI_MME_IP_ADDR"
;
ipv6
=
"192:168:30::17"
;
ipv6
=
"192:168:30::17"
;
...
@@ -213,14 +238,14 @@ gNBs =
...
@@ -213,14 +238,14 @@ gNBs =
}
}
);
);
NETWORK_INTERFACES
:
NETWORK_INTERFACES
:
{
{
GNB_INTERFACE_NAME_FOR_NG_AMF
=
"eth0"
;
GNB_INTERFACE_NAME_FOR_NG_AMF
=
"em1"
;
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"CI_GNB_IP_ADDR"
;
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"CI_GNB_IP_ADDR"
;
GNB_INTERFACE_NAME_FOR_NGU
=
"eth0"
;
GNB_INTERFACE_NAME_FOR_NGU
=
"em1"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"CI_GNB_IP_ADDR"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"CI_GNB_IP_ADDR"
;
GNB_PORT_FOR_NGU
=
2152
;
# Spec 2152
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
};
}
}
...
@@ -232,7 +257,8 @@ MACRLCs = (
...
@@ -232,7 +257,8 @@ MACRLCs = (
tr_s_preference
=
"local_L1"
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
200
;
pusch_TargetSNRx10
=
200
;
pucch_TargetSNRx10
=
150
;
pucch_TargetSNRx10
=
200
;
ulsch_max_frame_inactivity
=
1
;
}
}
);
);
...
@@ -240,9 +266,9 @@ L1s = (
...
@@ -240,9 +266,9 @@ L1s = (
{
{
num_cc
=
1
;
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
tr_n_preference
=
"local_mac"
;
pusch_proc_threads
=
8
;
pusch_proc_threads
=
2
;
prach_dtx_threshold
=
120
;
prach_dtx_threshold
=
120
;
pucch0_dtx_threshold
=
150
;
# pucch0_dtx_threshold = 150;
}
}
);
);
...
@@ -257,9 +283,15 @@ RUs = (
...
@@ -257,9 +283,15 @@ RUs = (
max_pdschReferenceSignalPower
= -
27
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
75
;
max_rxgain
=
75
;
eNB_instances
= [
0
];
eNB_instances
= [
0
];
#beamforming 1x4 matrix:
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights
= [
0
x00007fff
,
0
x0000
,
0
x0000
,
0
x0000
];
bf_weights
= [
0
x00007fff
,
0
x0000
];
#clock_src = "external";
##beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension
=
0
sdr_addrs
=
"mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
sdr_addrs
=
"mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
}
);
);
...
@@ -273,15 +305,6 @@ THREAD_STRUCT = (
...
@@ -273,15 +305,6 @@ THREAD_STRUCT = (
}
}
);
);
rfsimulator
:
{
serveraddr
=
"server"
;
serverport
=
"4043"
;
options
= ();
#("saviq"); or/and "chanmod"
modelname
=
"AWGN"
;
IQfile
=
"/tmp/rfsimulator.iqs"
;
};
security
= {
security
= {
# preferred ciphering algorithms
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# the first one of the list that an UE supports in chosen
...
@@ -315,7 +338,6 @@ security = {
...
@@ -315,7 +338,6 @@ security = {
pdcp_log_verbosity
=
"medium"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"medium"
;
rrc_log_verbosity
=
"medium"
;
ngap_log_level
=
"debug"
;
f1ap_log_level
=
"debug"
;
ngap_log_verbosity
=
"medium"
;
f1ap_log_verbosity
=
"medium"
;
};
};
ci-scripts/xml_files/fr1_nsa_2x2_quectel.xml
View file @
fb368010
...
@@ -74,7 +74,7 @@
...
@@ -74,7 +74,7 @@
<testCase
id=
"040000"
>
<testCase
id=
"040000"
>
<class>
Initialize_eNB
</class>
<class>
Initialize_eNB
</class>
<desc>
Initialize gNB
</desc>
<desc>
Initialize gNB
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf -q --usrp-tx-thread-config 1
--thread-pool 0,2,4,6
</Initialize_eNB_args>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf -q --usrp-tx-thread-config 1
</Initialize_eNB_args>
<eNB_instance>
1
</eNB_instance>
<eNB_instance>
1
</eNB_instance>
<eNB_serverId>
1
</eNB_serverId>
<eNB_serverId>
1
</eNB_serverId>
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
...
...
ci-scripts/xml_files/fr1_nsa_2x2_quectel_attach_detach.xml
View file @
fb368010
...
@@ -94,7 +94,7 @@
...
@@ -94,7 +94,7 @@
<testCase
id=
"041000"
>
<testCase
id=
"041000"
>
<class>
Initialize_eNB
</class>
<class>
Initialize_eNB
</class>
<desc>
Initialize gNB
</desc>
<desc>
Initialize gNB
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf -q --usrp-tx-thread-config 1
--thread-pool 0,2,4,6
</Initialize_eNB_args>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf -q --usrp-tx-thread-config 1
</Initialize_eNB_args>
<eNB_instance>
1
</eNB_instance>
<eNB_instance>
1
</eNB_instance>
<eNB_serverId>
1
</eNB_serverId>
<eNB_serverId>
1
</eNB_serverId>
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
...
...
ci-scripts/xml_files/fr1_sa_oaiue_b200.xml
View file @
fb368010
...
@@ -54,7 +54,7 @@
...
@@ -54,7 +54,7 @@
<testCase
id=
"040000"
>
<testCase
id=
"040000"
>
<class>
Initialize_eNB
</class>
<class>
Initialize_eNB
</class>
<desc>
Initialize gNB
</desc>
<desc>
Initialize gNB
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.
2x2.usrpn310.conf --sa -q --usrp-tx-thread-config 1 --thread-pool 0,2,4,6
</Initialize_eNB_args>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.
usrpn310.conf --sa -q --usrp-tx-thread-config 1
</Initialize_eNB_args>
<eNB_instance>
0
</eNB_instance>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<eNB_serverId>
0
</eNB_serverId>
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
...
...
ci-scripts/xml_files/fr1_sa_quectel.xml
View file @
fb368010
...
@@ -58,7 +58,7 @@
...
@@ -58,7 +58,7 @@
<testCase
id=
"040000"
>
<testCase
id=
"040000"
>
<class>
Initialize_eNB
</class>
<class>
Initialize_eNB
</class>
<desc>
Initialize gNB
</desc>
<desc>
Initialize gNB
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.conf --sa -q --usrp-tx-thread-config 1
--thread-pool 0,2,4,6
</Initialize_eNB_args>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.conf --sa -q --usrp-tx-thread-config 1
</Initialize_eNB_args>
<eNB_instance>
0
</eNB_instance>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<eNB_serverId>
0
</eNB_serverId>
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
...
...
ci-scripts/xml_files/fr1_sa_quectel_stages.xml
View file @
fb368010
...
@@ -65,7 +65,7 @@
...
@@ -65,7 +65,7 @@
<testCase
id=
"040000"
>
<testCase
id=
"040000"
>
<class>
Initialize_eNB
</class>
<class>
Initialize_eNB
</class>
<desc>
Initialize gNB
</desc>
<desc>
Initialize gNB
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.conf --sa -q --usrp-tx-thread-config 1
--thread-pool 0,2,4,6
</Initialize_eNB_args>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.conf --sa -q --usrp-tx-thread-config 1
</Initialize_eNB_args>
<eNB_instance>
0
</eNB_instance>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<eNB_serverId>
0
</eNB_serverId>
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
...
...
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