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
2c230f83
Commit
2c230f83
authored
6 years ago
by
rdoost
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
working tdd/fdd at 5 and 10 Mhz
parent
36d3e624
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
2116 additions
and
1882 deletions
+2116
-1882
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+2
-2
openair2/NETWORK_DRIVER/UE_IP/common.c
openair2/NETWORK_DRIVER/UE_IP/common.c
+1
-1
openair2/NETWORK_DRIVER/UE_IP/device.c
openair2/NETWORK_DRIVER/UE_IP/device.c
+10
-1
targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
+618
-498
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.iris030.tdd.conf
...ECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.iris030.tdd.conf
+17
-23
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf
...ROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf
+26
-10
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf
+36
-8
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.iris030.conf
.../PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.iris030.conf
+11
-11
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
+28
-8
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+1367
-1320
No files found.
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
2c230f83
...
...
@@ -2017,7 +2017,7 @@ void prach_procedures(PHY_VARS_eNB *eNB) {
eNB
->
UE_stats
[(
uint32_t
)
UE_id
].
UE_timing_offset
=
preamble_delay_list
[
preamble_max
]
&
0x1FFF
;
//limit to 13 (=11+2) bits
eNB
->
UE_stats
[(
uint32_t
)
UE_id
].
sector
=
0
;
LOG_
I
(
PHY
,
"[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure (UE_id %d) with preamble %d, energy %d.%d dB, delay %d
\n
"
,
LOG_
D
(
PHY
,
"[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure (UE_id %d) with preamble %d, energy %d.%d dB, delay %d
\n
"
,
eNB
->
Mod_id
,
eNB
->
CC_id
,
frame
,
...
...
@@ -3042,7 +3042,7 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const
#endif
stop_meas
(
&
eNB
->
ulsch_decoding_stats
);
LOG_
G
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) RSSI (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d
\n
"
,
LOG_
D
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) RSSI (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d
\n
"
,
eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
eNB
->
ulsch
[
i
]
->
rnti
,
...
...
This diff is collapsed.
Click to expand it.
openair2/NETWORK_DRIVER/UE_IP/common.c
View file @
2c230f83
...
...
@@ -125,7 +125,7 @@ skb_p->mark = rb_idP;
skb_p
->
ip_summed
=
CHECKSUM_UNNECESSARY
;
ipv_p
=
(
struct
ipversion
*
)((
void
*
)
&
(
skb_p
->
data
[
hard_header_len
]));
ipv_p
=
(
ipversion_t
*
)((
void
*
)
&
(
skb_p
->
data
[
hard_header_len
]));
switch
(
ipv_p
->
version
)
{
...
...
This diff is collapsed.
Click to expand it.
openair2/NETWORK_DRIVER/UE_IP/device.c
View file @
2c230f83
...
...
@@ -243,7 +243,12 @@ int ue_ip_hard_start_xmit(struct sk_buff *skb_pP, struct net_device *dev_pP)
// End debug information
netif_stop_queue
(
dev_pP
);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
netif_trans_update
(
dev_pP
);
#else
dev_pP
->
trans_start
=
jiffies
;
#endif
#ifdef OAI_DRV_DEBUG_DEVICE
printk
(
"[UE_IP_DRV][%s] step 1
\n
"
,
__FUNCTION__
);
#endif
...
...
@@ -315,7 +320,11 @@ void ue_ip_tx_timeout(struct net_device *dev_pP)
printk
(
"[UE_IP_DRV][%s] begin
\n
"
,
__FUNCTION__
);
// (ue_ip_priv_t *)(dev_pP->priv_p)->stats.tx_errors++;
(
priv_p
->
stats
).
tx_errors
++
;
dev_pP
->
trans_start
=
jiffies
;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
netif_trans_update
(
dev_pP
);
#else
dev_pP
->
trans_start
=
jiffies
;
#endif
netif_wake_queue
(
dev_pP
);
printk
(
"[UE_IP_DRV][%s] transmit timed out %s
\n
"
,
__FUNCTION__
,
dev_pP
->
name
);
}
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
View file @
2c230f83
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.iris030.tdd.conf
View file @
2c230f83
...
...
@@ -33,14 +33,14 @@ eNBs =
eutra_band
=
38
;
downlink_frequency
=
2580000000
L
;
uplink_frequency_offset
=
0
;
Nid_cell
=
57
;
N_RB_DL
=
25
;
Nid_cell
=
10
;
N_RB_DL
=
100
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
52
;
rx_gain
=
110
;
tx_gain
=
52
;
# [ ~50 for DEV-FE, ~30 for CBRS-FE ]
rx_gain
=
115
;
# [ ~115 for DEV-FE, ~90 fir CBRS-FE ]
prach_root
=
0
;
prach_config_index
=
0
;
prach_high_speed
=
"DISABLE"
;
...
...
@@ -50,7 +50,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
6
0
;
pdsch_referenceSignalPower
= -
3
0
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
@@ -68,7 +68,7 @@ eNBs =
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
9
0
;
pusch_p0_Nominal
= -
7
0
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
96
;
msg3_delta_Preamble
=
6
;
...
...
@@ -137,7 +137,7 @@ eNBs =
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"1
0.224.20.11
"
;
mme_ip_address
= ( {
ipv4
=
"1
27.0.0.20
"
;
ipv6
=
"fe80::6a6:9555:ded:fafa/64"
;
active
=
"yes"
;
preference
=
"ipv4"
;
...
...
@@ -145,16 +145,16 @@ eNBs =
);
rrh_gw_config
= ({
local_if_name
=
"e
th0
"
;
remote_address
=
"iris,
0205
"
;
local_address
=
"10.
224.20.40
"
;
local_if_name
=
"e
no1
"
;
remote_address
=
"iris,
100.0.0.101
"
;
local_address
=
"10.
0.0.108
"
;
local_port
=
50000
;
#for raw option local port must be the same to remote
remote_port
=
50000
;
rrh_gw_active
=
"yes"
;
tr_preference
=
"raw"
;
rf_preference
=
"iris030"
;
iq_txshift
=
4
;
tx_sample_advance
=
-
4
0
;
tx_sample_advance
=
6
0
;
tx_scheduling_advance
=
9
;
if_compression
=
"alaw"
;
}
...
...
@@ -162,16 +162,10 @@ rrh_gw_config = ({
NETWORK_INTERFACES
:
{
#ENB_INTERFACE_NAME_FOR_S1_MME = "eth1";
#ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.146/24";
#ENB_INTERFACE_NAME_FOR_S1U = "eth1";
#ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.146/24";
#ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_INTERFACE_NAME_FOR_S1_MME
=
"enp1s0f0"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"10.224.20.35/26"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"enp1s0f0"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"10.224.20.35/26"
;
ENB_INTERFACE_NAME_FOR_S1_MME
=
"lo"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"127.0.0.10/8"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"lo"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"127.0.0.10/8"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
@@ -180,9 +174,9 @@ rrh_gw_config = ({
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"
medium
"
;
hw_log_verbosity
=
"
high
"
;
phy_log_level
=
"info"
;
phy_log_verbosity
=
"
medium
"
;
phy_log_verbosity
=
"
high
"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"high"
;
rlc_log_level
=
"info"
;
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf
View file @
2c230f83
...
...
@@ -17,7 +17,7 @@ eNBs =
mobile_country_code
=
"208"
;
mobile_network_code
=
"9
4
"
;
mobile_network_code
=
"9
2
"
;
//////////
Physical
parameters
:
...
...
@@ -39,8 +39,8 @@ eNBs =
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
9
0
;
rx_gain
=
125
;
tx_gain
=
11
0
;
rx_gain
=
125
;
prach_root
=
0
;
prach_config_index
=
0
;
prach_high_speed
=
"DISABLE"
;
...
...
@@ -137,20 +137,36 @@ eNBs =
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"1
92.168.12.7
0"
;
mme_ip_address
= ( {
ipv4
=
"1
27.0.0.2
0"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
rrh_gw_config
= ({
local_if_name
=
"eno1"
;
remote_address
=
"iris,RF3C000052"
;
local_address
=
"10.0.0.108"
;
local_port
=
50000
;
#for raw option local port must be the same to remote
remote_port
=
50000
;
rrh_gw_active
=
"yes"
;
tr_preference
=
"raw"
;
rf_preference
=
"iris030"
;
iq_txshift
=
4
;
tx_sample_advance
= -
40
;
tx_scheduling_advance
=
9
;
if_compression
=
"alaw"
;
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
eth1
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"1
92.168.12.146/24
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
eth1
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"1
92.168.12.146/24
"
;
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
lo
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"1
27.0.0.10/8
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
lo
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"1
27.0.0.10/8
"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
@@ -159,9 +175,9 @@ eNBs =
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"
medium
"
;
hw_log_verbosity
=
"
high
"
;
phy_log_level
=
"info"
;
phy_log_verbosity
=
"
medium
"
;
phy_log_verbosity
=
"
high
"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"high"
;
rlc_log_level
=
"info"
;
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band5.tm1.usrpb210.conf
View file @
2c230f83
...
...
@@ -23,7 +23,12 @@ eNBs =
component_carriers
= (
{
frame_type
=
"FDD"
;
node_function
=
"eNodeB_3GPP"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
...
...
@@ -33,9 +38,10 @@ eNBs =
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
=
9
0
;
tx_gain
=
11
0
;
rx_gain
=
115
;
prach_root
=
0
;
prach_config_index
=
0
;
...
...
@@ -97,6 +103,7 @@ eNBs =
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
}
);
...
...
@@ -132,20 +139,41 @@ eNBs =
};
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"1
92.168.13.11
"
;
mme_ip_address
= ( {
ipv4
=
"1
27.0.0.20
"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
rrh_gw_config
= ({
local_if_name
=
"eno1"
;
remote_address
=
"iris,RF3C000052"
;
local_address
=
"10.0.0.108"
;
local_port
=
50000
;
#for raw option local port must be the same to remote
remote_port
=
50000
;
rrh_gw_active
=
"yes"
;
tr_preference
=
"raw"
;
rf_preference
=
"iris030"
;
iq_txshift
=
4
;
tx_sample_advance
= -
40
;
tx_scheduling_advance
=
9
;
if_compression
=
"alaw"
;
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
eth0
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"1
92.168.13.10/24
"
;
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
lo
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"1
27.0.0.10/8
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
eth0
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"1
92.168.13.10/24
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
lo
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"1
27.0.0.10/8
"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.iris030.conf
View file @
2c230f83
...
...
@@ -39,8 +39,8 @@ eNBs =
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
52
;
rx_gain
=
110
;
tx_gain
=
52
;
# [~50 for DEV-FE, ~30 for CBRS-FE]
rx_gain
=
115
;
# [115 for DEV-FE, 90 for CBRS-FE]
prach_root
=
0
;
prach_config_index
=
0
;
prach_high_speed
=
"DISABLE"
;
...
...
@@ -137,7 +137,7 @@ eNBs =
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"1
0.224.20.11
"
;
mme_ip_address
= ( {
ipv4
=
"1
27.0.0.20
"
;
ipv6
=
"fe80::6a6:9555:ded:fafa"
;
active
=
"yes"
;
preference
=
"ipv4"
;
...
...
@@ -145,9 +145,9 @@ eNBs =
);
rrh_gw_config
= ({
local_if_name
=
"e
th0
"
;
remote_address
=
"iris,
0205
"
;
local_address
=
"10
.224.20.47
"
local_if_name
=
"e
no1
"
;
remote_address
=
"iris,
RF3C000052
"
;
local_address
=
"10
0.0.0.108
"
local_port
=
50000
;
#for raw option local port must be the same to remote
remote_port
=
50000
;
rrh_gw_active
=
"yes"
;
...
...
@@ -161,10 +161,10 @@ rrh_gw_config = ({
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
enp1s0f0
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"1
0.224.20.35/26
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
enp1s0f0
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"1
0.224.20.35/26
"
;
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
lo
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"1
27.0.0.10/8
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
lo
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"1
27.0.0.10/8
"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
#ENB_INTERFACE_NAME_FOR_S1_MME = "enp1s0f0";
...
...
@@ -183,7 +183,7 @@ rrh_gw_config = ({
phy_log_level
=
"info"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"
high
"
;
mac_log_verbosity
=
"
medium
"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
View file @
2c230f83
...
...
@@ -17,7 +17,7 @@ eNBs =
mobile_country_code
=
"208"
;
mobile_network_code
=
"9
4
"
;
mobile_network_code
=
"9
2
"
;
//////////
Physical
parameters
:
...
...
@@ -33,13 +33,13 @@ eNBs =
eutra_band
=
7
;
downlink_frequency
=
2660000000
L
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
0
;
Nid_cell
=
66
;
N_RB_DL
=
25
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
9
0
;
tx_gain
=
11
0
;
rx_gain
=
125
;
prach_root
=
0
;
prach_config_index
=
0
;
...
...
@@ -137,20 +137,40 @@ eNBs =
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"1
92.168.12.7
0"
;
mme_ip_address
= ( {
ipv4
=
"1
27.0.0.2
0"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
rrh_gw_config
= ({
local_if_name
=
"eno1"
;
remote_address
=
"iris,RF3C000052"
;
local_address
=
"10.0.0.108"
;
local_port
=
50000
;
#for raw option local port must be the same to remote
remote_port
=
50000
;
rrh_gw_active
=
"yes"
;
tr_preference
=
"raw"
;
rf_preference
=
"iris030"
;
iq_txshift
=
4
;
tx_sample_advance
= -
40
;
tx_scheduling_advance
=
9
;
if_compression
=
"alaw"
;
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
eth1
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"1
92.168.12.146/24
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
eth1
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"1
92.168.12.146/24
"
;
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
lo
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"1
27.0.0.10/8
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
lo
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"1
27.0.0.10/8
"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-enb.c
View file @
2c230f83
This source diff could not be displayed because it is too large. You can
view the blob
instead.
This diff is collapsed.
Click to expand it.
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