Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
oai
openairinterface5G
Commits
c54cb418
Commit
c54cb418
authored
Mar 24, 2017
by
Cedric Roux
Browse files
Merge remote-tracking branch 'origin/various-fixes-w12' into develop_integration_w12
parents
b8c43654
5db0548a
Changes
32
Hide whitespace changes
Inline
Side-by-side
cmake_targets/tools/fix_asn1
View file @
c54cb418
...
...
@@ -9,13 +9,6 @@ RRC_Rel10=(
X2AP_Rel11_2
=(
"X2ap-CriticalityDiagnostics-IE-List.h"
ae96308b37fcbcbf39da5012e42968135fc5f27b
"fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff"
"NativeInteger.c"
1a55f5402fd363318cf5444ffe1f67530dcf66ff
"fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff"
"constr_SET_OF.c"
808cbbdf19b118c0bdb04e3acf2cbe6e4133be2b
"fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff"
)
S1AP_Rel10_5
=(
"NativeInteger.c"
1a55f5402fd363318cf5444ffe1f67530dcf66ff
"fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff"
"constr_SET_OF.c"
808cbbdf19b118c0bdb04e3acf2cbe6e4133be2b
"fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff"
)
red_color
=
"
$(
tput setaf 1
)
"
...
...
@@ -130,8 +123,7 @@ function patch_s1ap()
case
"
$version
"
in
R10
)
echo
"patching S1AP files release 10.5"
apply_patches
"
$directory
"
S1AP_Rel10_5
${#
S1AP_Rel10_5
[*]
}
#nothing to do anymore (fixes went to asn1c)
;;
*
)
error unknwon/unhandled S1AP version
\'
"
$version
"
\'
...
...
cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff
deleted
100644 → 0
View file @
b8c43654
283c283
< int dynamic = 0;
---
> //int dynamic = 0;
290c290
< dynamic = 1;
---
> //dynamic = 1;
cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff
deleted
100644 → 0
View file @
b8c43654
1007c1007
< (int)nelems, (int)ct ? ct->effective_bits : -1);
---
> (int)nelems, ct ? ct->effective_bits : -1);
cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff
deleted
100644 → 0
View file @
b8c43654
283c283
< int dynamic = 0;
---
> //int dynamic = 0;
290c290
< dynamic = 1;
---
> //dynamic = 1;
cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff
deleted
100644 → 0
View file @
b8c43654
1007c1007
< (int)nelems, (int)ct ? ct->effective_bits : -1);
---
> (int)nelems, ct ? ct->effective_bits : -1);
openair1/PHY/INIT/lte_init.c
View file @
c54cb418
...
...
@@ -1214,7 +1214,7 @@ int phy_init_lte_ue(PHY_VARS_UE *ue,
}
const
size_t
num
=
7
*
2
*
fp
->
N_RB_DL
*
12
+
4
;
//
const size_t num = 7*2*fp->N_RB_DL*12+4;
for
(
k
=
0
;
k
<
8
;
k
++
)
{
//harq_pid
for
(
l
=
0
;
l
<
8
;
l
++
)
{
//round
pdsch_vars_th0
[
eNB_id
]
->
rxdataF_comp1
[
k
][
l
]
=
(
int32_t
**
)
malloc16_clear
(
8
*
sizeof
(
int32_t
*
)
);
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
View file @
c54cb418
...
...
@@ -123,8 +123,8 @@ int rx_pdsch(PHY_VARS_UE *ue,
int32_t
**
rxdataF_comp_ptr
;
int32_t
**
dl_ch_mag_ptr
;
int32_t
codeword_TB0
;
int32_t
codeword_TB1
;
int32_t
codeword_TB0
=
-
1
;
int32_t
codeword_TB1
=
-
1
;
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
View file @
c54cb418
...
...
@@ -578,13 +578,13 @@ int allocate_REs_in_RB(PHY_VARS_eNB* phy_vars_eNB,
{
uint8_t
*
x0
=
NULL
;
MIMO_mode_t
mimo_mode
;
MIMO_mode_t
mimo_mode
=
-
1
;
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
phy_vars_eNB
->
frame_parms
;
int
first_layer0
;
//= dlsch0_harq->first_layer;
int
Nlayers0
;
// = dlsch0_harq->Nlayers;
int
Nlayers0
=
-
1
;
// = dlsch0_harq->Nlayers;
uint8_t
mod_order0
=
0
;
// = get_Qm(dlsch0_harq->mcs);
uint8_t
mod_order1
=
0
;
//=2;
uint8_t
precoder_index0
,
precoder_index1
;
...
...
@@ -1998,13 +1998,13 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
phy_vars_eNB
->
frame_parms
;
uint8_t
nsymb
;
uint8_t
harq_pid
;
//= dlsch0->current_harq_pid;
LTE_DL_eNB_HARQ_t
*
dlsch0_harq
;
LTE_DL_eNB_HARQ_t
*
dlsch1_harq
;
//= dlsch1->harq_processes[harq_pid];
uint8_t
harq_pid
=
-
1
;
//= dlsch0->current_harq_pid;
LTE_DL_eNB_HARQ_t
*
dlsch0_harq
=
NULL
;
LTE_DL_eNB_HARQ_t
*
dlsch1_harq
=
NULL
;
//= dlsch1->harq_processes[harq_pid];
uint32_t
i
,
i2
,
jj
,
jj2
,
re_allocated
,
symbol_offset
;
uint16_t
l
,
rb
,
re_offset
;
uint32_t
rb_alloc_ind
;
uint32_t
*
rb_alloc
;
//=dlsch0_harq->rb_alloc;
uint32_t
*
rb_alloc
=
NULL
;
//=dlsch0_harq->rb_alloc;
uint8_t
pilots
=
0
;
uint8_t
skip_dc
,
skip_half
;
...
...
@@ -2015,6 +2015,8 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
int16_t
qam16_table_a1
[
4
],
qam64_table_a1
[
8
],
qam16_table_b1
[
4
],
qam64_table_b1
[
8
];
int16_t
*
qam_table_s0
=
NULL
,
*
qam_table_s1
=
NULL
;
#if 0
/* TODO: variable to be removed? */
int (*allocate_REs)(PHY_VARS_eNB*,
int **,
uint32_t*,
...
...
@@ -2036,13 +2038,14 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
uint8_t,
int *,
int *);
#endif
int
P1_SHIFT
[
13
],
P2_SHIFT
[
13
];
int
offset
,
nushiftmod3
;
uint8_t
get_pmi_temp
;
MIMO_mode_t
mimo_mode
;
MIMO_mode_t
mimo_mode
=
-
1
;
uint8_t
mprime
=
0
,
Ns
;
int8_t
lprime
=-
1
;
int
aa
=
0
;
...
...
@@ -2242,7 +2245,10 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
re_offset
=
frame_parms
->
first_carrier_offset
;
symbol_offset
=
(
uint32_t
)
frame_parms
->
ofdm_symbol_size
*
(
l
+
(
subframe_offset
*
nsymb
));
#if 0
/* TODO: remove this code? */
allocate_REs = allocate_REs_in_RB;
#endif
switch
(
mod_order0
)
{
case
2
:
...
...
@@ -2251,15 +2257,21 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
case
4
:
if
(
pilots
)
{
qam_table_s0
=
qam16_table_b0
;
#if 0
/* TODO: remove this code? */
allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
allocate_REs_in_RB_pilots_16QAM_siso :
allocate_REs_in_RB;
#endif
}
else
{
qam_table_s0
=
qam16_table_a0
;
#if 0
/* TODO: remove this code? */
allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
allocate_REs_in_RB_no_pilots_16QAM_siso :
allocate_REs_in_RB;
#endif
}
break
;
...
...
@@ -2267,15 +2279,21 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
case
6
:
if
(
pilots
)
{
qam_table_s0
=
qam64_table_b0
;
#if 0
/* TODO: remove this code? */
allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
allocate_REs_in_RB_pilots_64QAM_siso :
allocate_REs_in_RB;
#endif
}
else
{
qam_table_s0
=
qam64_table_a0
;
#if 0
/* TODO: remove this code? */
allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
allocate_REs_in_RB_no_pilots_64QAM_siso :
allocate_REs_in_RB;
#endif
}
break
;
...
...
@@ -2284,7 +2302,10 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
switch
(
mod_order1
)
{
case
2
:
qam_table_s1
=
NULL
;
#if 0
/* TODO: remove this code? */
allocate_REs = allocate_REs_in_RB;
#endif
break
;
case
4
:
if
(
pilots
)
{
...
...
openair1/PHY/LTE_TRANSPORT/if5_tools.c
View file @
c54cb418
...
...
@@ -56,7 +56,9 @@ void send_IF5(PHY_VARS_eNB *eNB, openair0_timestamp proc_timestamp, int subframe
LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
int32_t *txp[fp->nb_antennas_tx], *rxp[fp->nb_antennas_rx];
int32_t *tx_buffer=NULL;
#ifdef DEBUG_DL_MOBIPASS
int8_t dummy_buffer[fp->samples_per_tti*2];
#endif
void *alaw_buffer = eNB->ifbuffer.tx[subframe&1];
uint16_t *data_block = NULL;
uint16_t *j = NULL;
...
...
@@ -262,8 +264,10 @@ void recv_IF5(PHY_VARS_eNB *eNB, openair0_timestamp *proc_timestamp, int subfram
int32_t *txp[fp->nb_antennas_tx], *rxp[fp->nb_antennas_rx];
uint16_t packet_id=0, i=0, element_id=0;
int8_t dummy_buffer_rx[fp->samples_per_tti*2];
#ifdef DEBUG_UL_MOBIPASS
//int8_t dummy_buffer_rx[fp->samples_per_tti*2];
uint8_t rxe;
#endif
int32_t spp_eth = (int32_t) eNB->ifdevice.openair0_cfg->samples_per_packet;
int32_t spsf = (int32_t) eNB->ifdevice.openair0_cfg->samples_per_frame/10;
...
...
@@ -390,14 +394,16 @@ void recv_IF5(PHY_VARS_eNB *eNB, openair0_timestamp *proc_timestamp, int subfram
uint16_t db_fulllength = PAYLOAD_MOBIPASS_NUM_SAMPLES;
openair0_timestamp timestamp_mobipass[fp->samples_per_tti/db_fulllength];
#ifdef DEBUG_UL_MOBIPASS
int lower_offset = 0;
int upper_offset = 70000;
#endif
int subframe_skip = 0;
int reset_flag = 0;
int32_t *rx_buffer=NULL;
__m128i *data_block=NULL, *data_block_head=NULL;
__m128i *rxp128;
__m128i r0
, r1
;
__m128i r0;
//rx_buffer = memalign(16, MAC_HEADER_SIZE_BYTES + sizeof_IF5_mobipass_header_t + db_fulllength*sizeof(int16_t));
rx_buffer = malloc(MAC_HEADER_SIZE_BYTES + sizeof_IF5_mobipass_header_t + db_fulllength*sizeof(int16_t));
...
...
openair1/PHY/LTE_TRANSPORT/proto.h
View file @
c54cb418
...
...
@@ -1901,7 +1901,7 @@ uint16_t quantize_subband_pmi(PHY_MEASUREMENTS *meas,uint8_t eNB_id,int nb_subba
int32_t
pmi_convert_rank1_from_rank2
(
uint16_t
pmi_alloc
,
int
tpmi
,
int
nb_rb
);
//
uint16_t quantize_subband_pmi2(PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_t a_id,int nb_subbands);
uint16_t
quantize_subband_pmi2
(
PHY_MEASUREMENTS
*
meas
,
uint8_t
eNB_id
,
uint8_t
a_id
,
int
nb_subbands
);
uint64_t
pmi2hex_2Ar1
(
uint32_t
pmi
);
...
...
openair1/PHY/MODULATION/beamforming.c
View file @
c54cb418
...
...
@@ -47,7 +47,7 @@ int beam_precoding(int32_t **txdataF,
int
aa
)
{
uint8_t
p
;
uint16_t
re
=
0
;
//
uint16_t re=0;
int
slot_offset_F
;
slot_offset_F
=
slot
*
(
frame_parms
->
ofdm_symbol_size
)
*
((
frame_parms
->
Ncp
==
1
)
?
6
:
7
);
...
...
openair1/SCHED/phy_mac_stub.c
View file @
c54cb418
...
...
@@ -531,7 +531,7 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
}
}
else
{
switch
(
eNB
->
frame_parms
.
N_RB_DL
==
6
)
{
switch
(
eNB
->
frame_parms
.
N_RB_DL
)
{
case
6
:
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
type
=
0
;
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
hopping
=
0
;
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
c54cb418
...
...
@@ -1695,7 +1695,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
uint8_t
pucch_ack_payload
[
2
];
uint8_t
n2_pucch
;
uint8_t
n2_pucch
=
-
1
;
uint16_t
pucch_resource
;
ANFBmode_t
bundling_flag
;
PUCCH_FMT_t
format
;
...
...
@@ -2997,7 +2997,9 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
int
subframe_rx
=
proc
->
subframe_rx
;
int
frame_rx
=
proc
->
frame_rx
;
int
pmch_mcs
=-
1
;
#ifdef Rel10
int
CC_id
=
ue
->
CC_id
;
#endif
uint8_t
sync_area
=
255
;
uint8_t
mcch_active
;
int
l
;
...
...
openair1/SIMULATION/LTE_PHY/dlsim.c
View file @
c54cb418
...
...
@@ -270,7 +270,7 @@ void fill_DCI(PHY_VARS_eNB *eNB,
int
*
num_dci
)
{
int
k
;
int
dci_length
,
dci_length_bytes
;
int
dci_length
=
-
1
,
dci_length_bytes
=
-
1
;
// printf("Generating DCIs for %d users, TM %d, mcs1 %d\n",n_users,transmission_mode,mcs1);
for
(
k
=
0
;
k
<
n_users
;
k
++
)
{
...
...
@@ -1227,12 +1227,13 @@ DCI_PDU *get_dci_sdu(module_id_t module_idP,int CC_id,frame_t frameP,sub_frame_t
DCI_pdu
.
Num_ue_spec_dci
=
num_ue_spec_dci
;
DCI_pdu
.
Num_common_dci
=
num_common_dci
;
DCI_pdu
.
num_pdcch_symbols
=
num_pdcch_symbols
;
return
(
&
DCI_pdu
);
}
else
{
DCI_pdu
.
Num_ue_spec_dci
=
0
;
DCI_pdu
.
Num_common_dci
=
0
;
DCI_pdu
.
num_pdcch_symbols
=
num_pdcch_symbols
;
}
return
&
DCI_pdu
;
}
void
eNB_dlsch_ulsch_scheduler
(
module_id_t
module_idP
,
uint8_t
cooperation_flag
,
frame_t
frameP
,
sub_frame_t
subframeP
)
{
...
...
@@ -1268,7 +1269,7 @@ int main(int argc, char **argv)
int
s
,
Kr
,
Kr_bytes
;
double
SNR
,
snr0
=-
2
.
0
,
snr1
,
rate
;
double
SNR
,
snr0
=-
2
.
0
,
snr1
,
rate
=
0
;
double
snr_step
=
1
,
input_snr_step
=
1
,
snr_int
=
30
;
LTE_DL_FRAME_PARMS
*
frame_parms
;
...
...
@@ -1298,10 +1299,10 @@ int main(int argc, char **argv)
DCI_ALLOC_t
*
dci_alloc
=
&
DCI_pdu
.
dci_alloc
[
0
];
unsigned
int
ret
;
unsigned
int
coded_bits_per_codeword
=
0
,
nsymb
,
tbs
=
0
;
unsigned
int
coded_bits_per_codeword
=
0
,
nsymb
;
//
,tbs=0;
unsigned
int
tx_lev
=
0
,
tx_lev_dB
=
0
,
trials
,
errs
[
4
]
=
{
0
,
0
,
0
,
0
},
errs2
[
4
]
=
{
0
,
0
,
0
,
0
},
round_trials
[
4
]
=
{
0
,
0
,
0
,
0
},
dci_errors
=
0
;
//,num_layers;
int
re_allocated
;
//
int re_allocated;
char
fname
[
32
],
vname
[
32
];
FILE
*
bler_fd
;
char
bler_fname
[
256
];
...
...
@@ -1328,16 +1329,16 @@ int main(int argc, char **argv)
int
n_frames
;
int
n_ch_rlz
=
1
;
channel_desc_t
*
eNB2UE
[
4
];
uint8_t
num_pdcch_symbols_2
=
0
;
//
uint8_t num_pdcch_symbols_2=0;
uint8_t
rx_sample_offset
=
0
;
//char stats_buffer[4096];
//int len;
uint8_t
num_rounds
=
4
;
//,fix_rounds=0;
int
u
;
//
int u;
int
n
=
0
;
int
abstx
=
0
;
int
iii
;
//
int iii;
int
ch_realization
;
int
pmi_feedback
=
0
;
...
...
@@ -1346,7 +1347,7 @@ int main(int argc, char **argv)
// void *data;
// int ii;
// int bler;
double
blerr
[
4
],
uncoded_ber
,
avg_ber
;
double
blerr
[
4
],
uncoded_ber
;
//
,avg_ber;
short
*
uncoded_ber_bit
=
NULL
;
uint8_t
N_RB_DL
=
25
,
osf
=
1
;
frame_t
frame_type
=
FDD
;
...
...
@@ -1355,7 +1356,7 @@ int main(int argc, char **argv)
char
title
[
255
];
int
numCCE
=
0
;
int
dci_length_bytes
=
0
,
dci_length
=
0
;
//
int dci_length_bytes=0,dci_length=0;
//double channel_bandwidth = 5.0, sampling_rate=7.68;
int
common_flag
=
0
,
TPC
=
0
;
...
...
@@ -1391,7 +1392,7 @@ int main(int argc, char **argv)
char
csv_fname
[
32
];
int
dci_flag
=
1
;
int
two_thread_flag
=
0
;
int
DLSCH_RB_ALLOC
;
int
DLSCH_RB_ALLOC
=
0
;
#if defined(__arm__)
FILE
*
proc_fd
=
NULL
;
...
...
@@ -1828,6 +1829,8 @@ int main(int argc, char **argv)
}
else
{
eNB
->
te
=
dlsch_encoding_2threads
;
extern
void
init_td_thread
(
PHY_VARS_eNB
*
,
pthread_attr_t
*
);
extern
void
init_te_thread
(
PHY_VARS_eNB
*
,
pthread_attr_t
*
);
init_td_thread
(
eNB
,
NULL
);
init_te_thread
(
eNB
,
NULL
);
}
...
...
@@ -2186,6 +2189,7 @@ int main(int argc, char **argv)
while
((
!
feof
(
input_trch_fd
))
&&
(
i
<
input_buffer_length0
<<
3
))
{
ret
=
fscanf
(
input_trch_fd
,
"%s"
,
input_trch_val
);
if
(
ret
!=
1
)
printf
(
"ERROR: error reading file
\n
"
);
if
(
input_trch_val
[
0
]
==
'1'
)
input_buffer0
[
k
][
i
>>
3
]
+=
(
1
<<
(
7
-
(
i
&
7
)));
...
...
openair1/SIMULATION/LTE_PHY/ulsim.c
View file @
c54cb418
...
...
@@ -164,8 +164,8 @@ void fill_ulsch_dci(PHY_VARS_eNB *eNB,void *UL_dci,int first_rb,int nb_rb,int mc
}
extern
void
eNB_fep_full
(
PHY_VARS_eNB
*
eNB
);
extern
void
eNB_fep_full_2thread
(
PHY_VARS_eNB
*
eNB
);
extern
void
eNB_fep_full
(
PHY_VARS_eNB
*
eNB
,
eNB_rxtx_proc_t
*
proc
);
extern
void
eNB_fep_full_2thread
(
PHY_VARS_eNB
*
eNB
,
eNB_rxtx_proc_t
*
proc
);
int
main
(
int
argc
,
char
**
argv
)
{
...
...
@@ -197,7 +197,7 @@ int main(int argc, char **argv)
int
chMod
=
0
;
int
UE_id
=
0
;
unsigned
char
nb_rb
=
25
,
first_rb
=
0
,
mcs
=
0
,
round
=
0
,
bundling_flag
=
1
;
unsigned
char
l
;
//
unsigned char l;
unsigned
char
awgn_flag
=
0
;
SCM_t
channel_model
=
Rice1
;
...
...
@@ -246,7 +246,7 @@ int main(int argc, char **argv)
int
hold_channel
=
0
;
channel_desc_t
*
UE2eNB
;
uint8_t
control_only_flag
=
0
;
//
uint8_t control_only_flag = 0;
int
delay
=
0
;
double
maxDoppler
=
0
.
0
;
uint8_t
srs_flag
=
0
;
...
...
@@ -701,6 +701,8 @@ int main(int argc, char **argv)
UE
->
ulsch
[
0
]
=
new_ue_ulsch
(
N_RB_DL
,
0
);
if
(
parallel_flag
==
1
)
{
extern
void
init_fep_thread
(
PHY_VARS_eNB
*
,
pthread_attr_t
*
);
extern
void
init_td_thread
(
PHY_VARS_eNB
*
,
pthread_attr_t
*
);
init_fep_thread
(
eNB
,
NULL
);
init_td_thread
(
eNB
,
NULL
);
}
...
...
@@ -867,6 +869,7 @@ int main(int argc, char **argv)
while
(
!
feof
(
input_fdUL
))
{
ret
=
fscanf
(
input_fdUL
,
"%s %s"
,
input_val_str
,
input_val_str2
);
//&input_val1,&input_val2);
if
(
ret
!=
2
)
printf
(
"ERROR: error reading file
\n
"
);
if
((
i
%
4
)
==
0
)
{
((
short
*
)
txdata
[
0
])[
i
/
2
]
=
(
short
)((
1
<<
15
)
*
strtod
(
input_val_str
,
NULL
));
...
...
openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c
View file @
c54cb418
...
...
@@ -36,7 +36,8 @@
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/time.h>
#include <sys/ioctl.h>
#include <ctype.h>
#include <netinet/in.h>
#include <arpa/inet.h>
...
...
@@ -109,7 +110,7 @@ void IAL_NAS_ioctl_init(int inst)
{
struct
nas_msg_statistic_reply
*
msgrep
;
int
err
,
rc
;
int
err
;
sprintf
(
gifr
.
name
,
"oai%d"
,
inst
);
...
...
@@ -132,7 +133,6 @@ void IAL_NAS_ioctl_init(int inst)
if
(
err
<
0
)
{
printf
(
"IOCTL error, err=%d
\n
"
,
err
);
rc
=
-
1
;
}
printf
(
"tx_packets = %u, rx_packets = %u
\n
"
,
msgrep
->
tx_packets
,
msgrep
->
rx_packets
);
...
...
@@ -151,19 +151,13 @@ void IAL_NAS_ioctl_init(int inst)
int
main
(
int
argc
,
char
**
argv
)
//---------------------------------------------------------------------------
{
int
done
=
0
,
rc
=
0
,
meas_polling_counter
=
0
;
fd_set
readfds
;
struct
timeval
tv
;
int
i
=
0
;
int
err
=
0
;
char
*
buffer
;
int
c
=
0
;
int
action
=
0
,
rbset
=
0
,
cxset
=
0
,
instset
=
0
,
saddr_ipv4set
=
0
,
saddr_ipv6set
=
0
,
daddr_ipv4set
=
0
,
daddr_ipv6set
=
0
,
dscpset
=
0
,
mpls_outlabelset
=
0
,
mpls_inlabelset
=
0
;
char
rb
[
100
],
cx
[
100
],
dscp
[
100
],
inst
[
100
],
mpls_outgoinglabel
[
100
],
mpls_incominglabel
[
100
];
int
index
=
0
;
struct
nas_msg_rb_establishment_request
*
msgreq
=
NULL
;
struct
nas_msg_class_add_request
*
msgreq_class
=
NULL
;
in_addr_t
saddr_ipv4
,
daddr_ipv4
;
in_addr_t
saddr_ipv4
=
0
,
daddr_ipv4
=
0
;
struct
in6_addr
saddr_ipv6
,
daddr_ipv6
;
unsigned
int
mpls_outlabel
=
0
,
mpls_inlabel
=
0
;
...
...
@@ -213,15 +207,21 @@ int main(int argc,char **argv)
mpls_inlabelset
=
1
;
break
;
case
's'
:
inet_aton
(
optarg
,
&
saddr_ipv4
);
case
's'
:
{
struct
in_addr
a
;
inet_aton
(
optarg
,
&
a
);
saddr_ipv4
=
a
.
s_addr
;
saddr_ipv4set
=
1
;
break
;
}
case
't'
:
inet_aton
(
optarg
,
&
daddr_ipv4
);
case
't'
:
{
struct
in_addr
a
;
inet_aton
(
optarg
,
&
a
);
daddr_ipv4
=
a
.
s_addr
;
daddr_ipv4set
=
1
;
break
;
}
case
'x'
:
printf
(
"IPv6: %s
\n
"
,
optarg
);
...
...
@@ -303,7 +303,7 @@ int main(int argc,char **argv)
if
(
action
==
ADD_RB
)
{
gifr
.
type
=
NAS_MSG_RB_ESTABLISHMENT_REQUEST
;
err
=
ioctl
(
fd
,
NAS_IOCTL_RRM
,
&
gifr
);
if
(
err
==
-
1
)
perror
(
"ioctl"
);
if
(
saddr_ipv4set
==
1
)
{
...
...
@@ -329,6 +329,7 @@ int main(int argc,char **argv)
gifr
.
type
=
NAS_MSG_CLASS_ADD_REQUEST
;
err
=
ioctl
(
fd
,
NAS_IOCTL_RRM
,
&
gifr
);
if
(
err
==
-
1
)
perror
(
"ioctl"
);
msgreq_class
->
rab_id
=
atoi
(
rb
);
msgreq_class
->
lcr
=
atoi
(
cx
);
...
...
@@ -340,6 +341,7 @@ int main(int argc,char **argv)
msgreq_class
->
saddr
.
ipv4
=
daddr_ipv4
;
gifr
.
type
=
NAS_MSG_CLASS_ADD_REQUEST
;
err
=
ioctl
(
fd
,
NAS_IOCTL_RRM
,
&
gifr
);
if
(
err
==
-
1
)
perror
(
"ioctl"
);
}
if
(
saddr_ipv6set
==
1
)
{
...
...
@@ -370,6 +372,7 @@ int main(int argc,char **argv)
gifr
.
type
=
NAS_MSG_CLASS_ADD_REQUEST
;
err
=
ioctl
(
fd
,
NAS_IOCTL_RRM
,
&
gifr
);
if
(
err
==
-
1
)
perror
(
"ioctl"
);
msgreq_class
->
rab_id
=
atoi
(
rb
);
msgreq_class
->
lcr
=
atoi
(
cx
);
...
...
@@ -380,6 +383,7 @@ int main(int argc,char **argv)
memcpy
(
&
msgreq_class
->
saddr
.
ipv6
,
&
daddr_ipv6
,
16
);
gifr
.
type
=
NAS_MSG_CLASS_ADD_REQUEST
;
err
=
ioctl
(
fd
,
NAS_IOCTL_RRM
,
&
gifr
);
if
(
err
==
-
1
)
perror
(
"ioctl"
);
}
...
...
@@ -411,6 +415,7 @@ int main(int argc,char **argv)
gifr
.
type
=
NAS_MSG_CLASS_ADD_REQUEST
;
err
=
ioctl
(
fd
,
NAS_IOCTL_RRM
,
&
gifr
);
if
(
err
==
-
1
)
perror
(
"ioctl"
);
msgreq_class
->
rab_id
=
atoi
(
rb
);
msgreq_class
->
lcr
=
atoi
(
cx
);
...
...
@@ -430,12 +435,14 @@ int main(int argc,char **argv)
gifr
.
type
=
NAS_MSG_CLASS_ADD_REQUEST
;
err
=
ioctl
(
fd
,
NAS_IOCTL_RRM
,
&
gifr
);
if
(
err
==
-
1
)
perror
(
"ioctl"
);
}
}
else
if
(
action
==
DEL_RB
)
{
gifr
.
type
=
NAS_MSG_RB_RELEASE_REQUEST
;
err
=
ioctl
(
fd
,
NAS_IOCTL_RRM
,
&
gifr
);
if
(
err
==
-
1
)
perror
(
"ioctl"
);
}
...
...
openair2/NETWORK_DRIVER/MESH/classifier.c
View file @
c54cb418
...
...
@@ -605,12 +605,12 @@ void nas_CLASS_send(struct sk_buff *skb,int inst)
//---------------------------------------------------------------------------
struct
classifier_entity
*
p
,
*
sp
;
uint8_t
*
protocolh
,
version
;
uint8_t
protocol
,
dscp
,
exp
,
label
;
uint8_t
protocol
,
dscp
/*
, exp,label
*/
;
uint16_t
classref
;
struct
cx_entity
*
cx
;
unsigned
int
i
;
//
unsigned int i;
unsigned
int
router_adv
=
0
;
//
unsigned int router_adv = 0;
struct
net_device
*
dev
=
nasdev
[
inst
];
struct
nas_priv
*
gpriv
=
netdev_priv
(
dev
);
...
...
openair2/NETWORK_DRIVER/MESH/common.c
View file @
c54cb418
...
...
@@ -59,14 +59,14 @@ void nas_COMMON_receive(uint16_t dlen,
struct
nas_priv
*
gpriv
=
netdev_priv
(
nasdev
[
inst
]);
uint32_t
odaddr
,
osaddr
;
int
i
;
//
int i;
unsigned
char
protocol
;
unsigned
char
*
addr
,
*
daddr
,
*
saddr
,
*
ifaddr
,
sn
;
unsigned
char
/*
*addr,
*/
*
daddr
,
*
saddr
,
*
ifaddr
/*
,sn
*/
;
struct
udphdr
*
uh
;
struct
tcphdr
*
th
;
//
struct udphdr *uh;
//
struct tcphdr *th;
uint16_t
*
cksum
,
check
;
struct
iphdr
*
network_header
;
...
...
@@ -340,7 +340,7 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
int
i
;
#endif