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
常顺宇
OpenXG-RAN
Commits
6db9fca1
Commit
6db9fca1
authored
4 years ago
by
Javier Morgade
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fembms: code cleanup
Signed-off-by:
Javier Morgade
<
javier.morgade@ieee.org
>
parent
3aaa152e
dev
1
128-ues
256_QAM_demod
512-dataplane-bug-in-l2nfapi_nos1
FR2_NSA
Fix_SA_SIB1
NR-PHY-MAC-IF-multi-UE
NRPRACH_highSpeed_saankhya
NRUE_usedlschparallel
NR_10MHz
NR_2port_CSIRS
NR_CSIRS_tomerge
NR_CSI_reporting
NR_DLUL_PF
NR_DLUL_PF_4UL
NR_DLUL_PF_rebased
NR_DL_MIMO
NR_DL_sched_fixes
NR_DL_scheduler
NR_F1C_F1U_extensions
NR_FAPI_beamindex_SSB_RO
NR_FAPI_beamindex_SSB_RO_SEMPROJ
NR_FDD_FIX
NR_FR2_RA
NR_FR2_RRC_SSB
NR_FR2_initsync_fixes
NR_MAC_Multi_Rach_GlobalEdge
NR_MAC_Multi_Rach_GlobalEdge-old
NR_MAC_SSB
NR_MAC_SSB_RO_GlobalEdge
NR_MAC_SSB_RO_UE_IDCC
NR_MAC_SSB_RO_merge
NR_MAC_TCI_UCI_GlobalEdge
NR_MCS_BLER
NR_NGAP
NR_PUCCH_MultiUE
NR_RA_cleanup
NR_RA_updates
NR_RRCConfiguration_FR2
NR_SA_F1AP_5GRECORDS
NR_SA_F1AP_5GRECORDS-USIM
NR_SA_F1AP_5GRECORDS-wf-0623
NR_SA_F1AP_5GRECORDS_lts
NR_SA_F1AP_RFSIMULATOR
NR_SA_F1AP_RFSIMULATOR2
NR_SA_F1AP_RFSIMULATOR2_SRB
NR_SA_F1AP_RFSIMULATOR3
NR_SA_F1AP_RFSIMULATOR3_tmp
NR_SA_F1AP_RFSIMULATOR3_wf
NR_SA_F1AP_RFSIMULATOR_w5GCN
NR_SA_F1AP_dev
NR_SA_NGAP_RRC
NR_SA_NGAP_RRC_wk42
NR_SA_itti_sim_wk48
NR_SA_itti_sim_wk48_hs
NR_SA_itti_sim_wk48_hs1
NR_SA_w5GCN_new_gtpu
NR_SCHED_HARQ
NR_SCHED_PDCCH_PUCCH_HARQ
NR_SCHED_PDCCH_PUCCH_HARQ_rebased
NR_SCHED_fixes
NR_SRB_Config
NR_UE_CONFIG_REQ_FIXES
NR_UE_MAC_scheduler
NR_UE_PUCCH_bugfixes
NR_UE_RA_fixes
NR_UE_SA
NR_UE_UL_DCI_improvements
NR_UE_dlsch_bugfix
NR_UE_enable_parallelization
NR_UE_rework_test
NR_UE_reworking_UCI_procedures
NR_UE_stability_fixes
NR_UL_SCFDMA_100MHz
NR_UL_scheduler
NR_UL_scheduler_rebased
NR_Wireshark
NR_beam_simulation
NR_cleanup_PUCCH_resources
NR_gNB_initial_MIB_fix
NR_mac_uci_functions_rework
NR_multiplexing_HARQ_CSI_PUCCH
NR_phytest_bugfixes
NR_reworking_UL_antennaports
NR_scheduling_CSIRS
NR_scheduling_request
NR_scheduling_request2
NR_scheduling_request3
PBCHNRTCFIX
PUSCH_TA_update
RA_CI_test
RFquality
Saankhya_NRPRACH_HighSpeed
Test_SA_5GREC
UE_DL_DCI_hotfix
add-dmrs-test
add-ru-docker-image
avxllr
bandwidth-testing
bch-fixes-bitmap
benetel_5g_prach_fix
benetel_config_file_fix
benetel_dpdk20
benetel_driver_uldl_pf_merge
benetel_driver_update
benetel_fixes
benetel_phase_rotation
benetel_phase_rotation_old
bsr-fix
bugfix-free-ra-process
bugfix-nr-bands
bugfix-nr-ldpc-post-processing
bugfix-nr-ldpc-size-typo
bugfix-nr-pdcp-sn-size
bugfix-nr-rate-matching-assertion
bugfix-nr-t-reordering
bugfix-x2-SgNBAdditionRequest
bugfix_gnb_rt_stats_html
bupt-sa-merge
cce_indexing_fix
cce_indexing_fix2
ci-deploy-asterix
ci-deploy-docker-compose
ci-fix-module-ul-iperf
ci-new-docker-pipeline
ci-reduce-nb-vms
ci-test
ci-ul-iperf-from-trf-container
ci_benetel_longrun_limits
ci_benetel_test
ci_fix_iperf_for_module
ci_hotfix_module_ue_ip_address
ci_improve_module_ctl
ci_nsa_benetel
ci_nsa_fixes
ci_nsa_pipes_improve
ci_nsa_test_integration_2021_wk19
ci_nsa_traces
ci_nsa_uplink
ci_phytest
ci_quectel_support
ci_sa_rfsim_test
ci_solve_ul_for_module
ci_test_5GREC
ci_test_nsa_fix_quectel_nic
ci_test_nsa_on_develop
ci_test_ra_fr2
ci_testinfra_as_code
ci_vm_resource_fix
cleanup_softmodem_main
constant_power
debug-UL-5GRECORDS
debug_UL_signal
detached-w16-test
develop
develop-CBRA-v3
develop-CCE
develop-NR_SA_F1AP_5GRECORDS
develop-NR_SA_F1AP_5GRECORDS-abs
develop-NR_SA_F1AP_5GRECORDS-hs
develop-NR_SA_F1AP_5GRECORDS-hs1
develop-NR_SA_F1AP_5GRECORDS-lts
develop-NR_SA_F1AP_5GRECORDS-lts-wf
develop-NR_SA_F1AP_5GRECORDS-v3
develop-NR_SA_F1AP_5GRECORDS_100M
develop-NR_SA_F1AP_5GRECORDS_LDPC_FPGA
develop-NR_SA_F1AP_5GRECORDS_lfq_0607
develop-SA-CBRA
develop-SA-CBRA-CUDU
develop-SA-CBRA-Msg5
develop-SA-CBRA-lts
develop-SA-CBRA-ulsch-lts
develop-SA-RA
develop-SnT
develop-aw2sori
develop-oriecpriupdates
develop-sib1
develop-sib1-local
develop-sib1-lts
develop-sib1-update
develop-sib1-update-test1
develop-sib1-update-ue
develop-wf-du
develop_stable
dfts_alternatives
disable_CSI_measrep
dlsch_parallel
docker-improvements-2021-april
docker-no-cache-option
dongzhanyi-zte-develop1
dongzhanyi-zte-develop2
enhance-rfsim
episys-merge
episys/nsa_baseline
episys/nsa_development
feature/make-s1-mme-port-configurable
feature/make-s1-mme-port-configurable-with-astyle-fixes
fedora-gen-kernel-fix
fembms-enb-ue
fft_bench_hotfix
finalize-oaicn-integration
fix-check
fix-ci-tun
fix-compile
fix-itti-segv
fix-nr-pdcp-timer
fix-nr-rlc-range-nack
fix-physim-deploy
fix-quectel
fix-realtime
fix-retransmission-rbg
fix-x2-without-gnb
fix_NR_DLUL_PF
fix_NR_DLUL_PF_benchmark
fix_coreset_dmrs_idx
fix_do_ra_data
fix_nr_ulsim
fix_pdsch_low_prb
fix_rb_corruption
fix_reestablishment
fix_rrc_x2_ticking
fixes-CE-RLC-PDU-size
fixes-mac-sched-nfapi
fixes-mac-sched-tun
fixes-tun
fixgtpu
flexran-apps
flexran-repair-mme-mgmt
flexran-rtc-repo-is-public
fujitsu_lte_contribution
fujitsu_lte_contribution-128
git-dashboard
gnb-freerun-txru
gnb-n300-fixes
gnb-only-test
gnb-realtime-hotfix
gnb-realtime-quickfix
gnb-threadpool
hack-bch-no-sched-sf-0
hack-exit-gnb-when-no-enb-nsa
harq-hotfix
hotfix-minor-remove-nr-rlc-cppcheck-error
hotfix-nr-rlc-tick
integ-w13-test-rt-issue
integration_2020_wk15
integration_2020_wk40
integration_2020_wk41
integration_2020_wk42_2
integration_2020_wk45
integration_2020_wk45_2
integration_2020_wk46
integration_2020_wk46_2
integration_2020_wk47
integration_2020_wk48
integration_2020_wk48_2
integration_2020_wk49
integration_2020_wk50
integration_2020_wk50_1
integration_2020_wk51
integration_2020_wk51_2
integration_2021_wk02
integration_2021_wk02_wMR988
integration_2021_wk04
integration_2021_wk05
integration_2021_wk06
integration_2021_wk06_MR978
integration_2021_wk06_b
integration_2021_wk06_c
integration_2021_wk08
integration_2021_wk08_2
integration_2021_wk08_MR963
integration_2021_wk09
integration_2021_wk09_b
integration_2021_wk10
integration_2021_wk10_b
integration_2021_wk11
integration_2021_wk12
integration_2021_wk12_b
integration_2021_wk13_a
integration_2021_wk13_b
integration_2021_wk13_b_fix_tdas
integration_2021_wk13_b_fixed
integration_2021_wk13_c
integration_2021_wk14_a
integration_2021_wk15_a
integration_2021_wk16
integration_2021_wk17_a
integration_2021_wk17_b
integration_2021_wk18_a
integration_2021_wk18_b
integration_2021_wk19
integration_2021_wk20_a
integration_2021_wk22
integration_2021_wk23
integration_2021_wk27
integration_w5GC_CBRA_test
inter-RRU-final
itti-enhancement
ldpc-decoder-codegen
ldpc-decoder-codegen2
ldpc_offload_t1
ldpc_short_codeword_fixes
load_gnb
lte-ulsch-bugfix
lte_uplink_improvement
mac-fixes-wk45_2
migrate-cpp-check-container
migrate-vm-pipeline-to-bionic
minor-fix-doc-basic-sim
mosaic5g-oai-ran
mosaic5g-oai-sim
msg4_phy_0303_lfq
multiple_ssb_sib1_bugfix
nasmesh_kernel_5.8
new-gtpu
nfapi_nr_arch_mod
nfapi_nr_develop
nfapi_nr_develop_new
ngap-dlul
ngap-support
ngap-w48-merge2
ngap-wf
ngap-wf-1120
ngap-wf-1120-srb
ngap-wf-1120-srb-gtp
ngap-wf-1120-srb-gtp-hs
ngap-wf-1120-srb-gtp-hs1
ngap-wf-1120-srb-gtp-hs2
ngap-wf-1120-srb-gtp-yhz
ngap-wf-1203-yunsdr
ngap-wf-liuyu
ngap_lfq_1120
ngap_merge
noCore
nr-bsr-fix
nr-dl-mimo-2layer
nr-dmrs-fixes
nr-mac-pdu-wireshark
nr-mac-remove-ue-list
nr-pdcp-benchmarking
nr-pdcp-improvements
nr-pdcp-nea2-security
nr-pdcp-nia2-integrity
nr-pdcp-small-bugfixes
nr-pdcp-srb-integrity
nr-ra-fix
nr-rlc-am-bugfix-w44
nr-rlc-bugfix-w44
nr-stats-print
nrPBCHTCFix
nrPbchTcFix
nrUE
nrUE-hs
nrUE-upper-layer
nr_bsr
nr_dl_dmrs_type2
nr_dl_pf
nr_dl_pf2
nr_dl_ul_ptrs
nr_fdd_if_fix
nr_improve_chanest
nr_power_measurement_fixes
nr_prach_fr2
nr_ue_msg3
nr_ue_pdcp_fix
nr_ue_tti_cleanup
nr_ul_pf
nr_ul_scfdma
nsa-ue
nsa_remove_band_hardcodings
oai-sim
oairu
oairu-dockerfile-support
oc-docker-october-improvements
openxg/develop
phy-asan-fixes
physim-build-deploy
physim-deploy-handle-error-cases
prb_based_dl_channel_estimation
ptrs_rrc_config
pusch-mthread-scaling-fix
pusch-retrans-fix-ue
ra-dl-ul
recursive-cmake
remove_nos1_hack_pdcp
remove_x2_gnb_hardcoding
repair-TA
revert_memcpy
rh-ci-add-ue-parallelization
rh_ci_add_runtime_stats
rh_ci_add_uldlharq_stats
rh_ci_fix_autoterminate
rh_ci_fr1_update
rh_ci_gsheet_rt_monitoring
rh_ci_nsa2jenkins
rh_ci_nsa_test_n310
rh_ci_oc
rh_ci_phy_test_improve
rh_ci_py
rh_ci_ra_fr2
rh_ci_rfsim_ra
rh_ci_test_benetel
rh_ci_test_nsa
rh_ci_test_nsa_wk16
rh_ci_test_nsa_wk17_b
rh_ci_test_nsa_wk17b
rh_ci_test_rfsim_sa
rh_ci_ue_parallel
rh_fr1_newjenkins
rh_fr1_update
rh_gnb_compile_fix
rh_wk50_debug
rlc-v2-bugfix-status-reporting
rlc-v2-tick
rohan_ulsim2RxFix
rrc-enb-phy-testmode
s1-subnormal_rewrite
s1_subnormal
s1_subnormal-robert
s1ap-bugfix-rab_setup
sa-demo
sa-demo-hs
sa-merge-rrc-srb
sa-msg4
sa-msg4-rrc
sa-msg4-rrc-yihz
sa-msg4-rrc-yihz-hs
sa_rrc_yihz
sanitize-address
sanitize-v1
sanitize-v1-tmp
sarma_pvnp_oai
scs_60_iisc
sim-channels
small-bugfixes-w40
small-config-change
small_nr_bugfixes
t-gnb-tracer
test-5GREC
test-nsa-benetel
test-panos
test_nsa_gtpu_fix
test_rt-fix_phy-test
testing_with_external_txdata
ue-dci-false-detection
ue-fixes
ue-pdsch-pusch-parallel
ue-race-fix
ue_beam_selection
ul-freq-iq-samps-to-file
ul_dl_dci_same_slot
ulsch_decode_mthread
ulsim_changes
usrp_stop_cleanly
usrp_x400
wf-sa-rrc
wf_testc
wireshark-T-hack-ueid
wireshark-log-scheduling-requests
wk11-with-phytest
x2-endc-processing
x2_handle_sctp_shutdown
xiangwab
xiangwan
xw2
yihongzheng_srb
zzs
2021.wk14_a
2021.wk13_d
2021.wk13_c
2021.w27
2021.w26
2021.w25
2021.w24
2021.w23
2021.w22
2021.w20
2021.w19
2021.w18_b
2021.w18_a
2021.w17_b
2021.w16
2021.w15
2021.w14
2021.w13_a
2021.w12
2021.w11
2021.w10
2021.w09
2021.w08
2021.w06
2021.w05
2021.w04
2021.w02
2020.w51_2
2020.w51
2020.w50
2020.w49
2020.w48_2
2020.w48
2020.w47
2020.w46_2
2020.w46
2020.w45_2
2020.w45
2020.w44
2020.w42_2
2020.w42
2020.w41
2020.w39
2020.w38
2020.w37
2020.w36
2020.w34
benetel_phase_rotation
benetel_gnb_rel_2.0
benetel_gnb_rel_1.0
benetel_enb_rel_2.0
benetel_enb_rel_1.0
No related merge requests found
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
351 additions
and
31 deletions
+351
-31
openair2/LAYER2/MAC/eNB_scheduler_mch.c
openair2/LAYER2/MAC/eNB_scheduler_mch.c
+1
-1
openair2/LAYER2/MAC/ue_procedures.c
openair2/LAYER2/MAC/ue_procedures.c
+3
-3
openair2/M2AP/m2ap_MCE_interface_management.c
openair2/M2AP/m2ap_MCE_interface_management.c
+133
-10
openair2/M2AP/m2ap_MCE_interface_management.h
openair2/M2AP/m2ap_MCE_interface_management.h
+2
-8
openair2/M2AP/m2ap_eNB.c
openair2/M2AP/m2ap_eNB.c
+18
-0
openair2/M2AP/m2ap_eNB_interface_management.c
openair2/M2AP/m2ap_eNB_interface_management.c
+191
-7
openair2/MCE_APP/mce_app.c
openair2/MCE_APP/mce_app.c
+3
-2
No files found.
openair2/LAYER2/MAC/eNB_scheduler_mch.c
View file @
6db9fca1
...
@@ -921,7 +921,7 @@ schedule_MBMS_NFAPI(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
...
@@ -921,7 +921,7 @@ schedule_MBMS_NFAPI(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
((
MSI_ELEMENT
*
)
msi_ptr
)
->
stop_sf_LSB
=
0xFF
;
((
MSI_ELEMENT
*
)
msi_ptr
)
->
stop_sf_LSB
=
0xFF
;
msi_pmch_stop
=
0
;
msi_pmch_stop
=
0
;
}
}
LOG_I
(
MAC
,
"frameP %d, subframeP %d LCID %
l
d rlc_status.bytes_in_buffer %d stop_sf_LSB %d stop_sf_MSB %d msi_pmch_stop %d sf_AllocEnd_r9 %ld, msi_length %d
\n
"
,
frameP
,
subframeP
,((
MSI_ELEMENT
*
)
msi_ptr
)
->
lcid
,
rlc_status
.
bytes_in_buffer
,((
MSI_ELEMENT
*
)
msi_ptr
)
->
stop_sf_LSB
,((
MSI_ELEMENT
*
)
msi_ptr
)
->
stop_sf_MSB
,
msi_pmch_stop
,
cc
->
pmch_Config
[
mbms_mch_i
]
->
sf_AllocEnd_r9
,
msi_length
);
LOG_I
(
MAC
,
"frameP %d, subframeP %d LCID %d rlc_status.bytes_in_buffer %d stop_sf_LSB %d stop_sf_MSB %d msi_pmch_stop %d sf_AllocEnd_r9 %ld, msi_length %d
\n
"
,
frameP
,
subframeP
,((
MSI_ELEMENT
*
)
msi_ptr
)
->
lcid
,
rlc_status
.
bytes_in_buffer
,((
MSI_ELEMENT
*
)
msi_ptr
)
->
stop_sf_LSB
,((
MSI_ELEMENT
*
)
msi_ptr
)
->
stop_sf_MSB
,
msi_pmch_stop
,
cc
->
pmch_Config
[
mbms_mch_i
]
->
sf_AllocEnd_r9
,
msi_length
);
}
}
memcpy
((
char
*
)
buffer_pointer
,
memcpy
((
char
*
)
buffer_pointer
,
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/ue_procedures.c
View file @
6db9fca1
...
@@ -74,7 +74,7 @@ extern module_id_t next_Mod_id;
...
@@ -74,7 +74,7 @@ extern module_id_t next_Mod_id;
int
mbms_rab_id
=
2047
;
//[8] = {2047,2047,2047,2047,2047,2047,2047,2047};
int
mbms_rab_id
=
2047
;
//[8] = {2047,2047,2047,2047,2047,2047,2047,2047};
static
int
mbms_mch_i
=
0
;
static
int
mbms_mch_i
=
0
;
static
int
num_msi_per_CSA
[
28
];
//
static int num_msi_per_CSA[28];
/*
/*
...
@@ -995,14 +995,14 @@ int ue_query_p_mch_info(module_id_t module_idP, uint32_t frameP, uint32_t subfra
...
@@ -995,14 +995,14 @@ int ue_query_p_mch_info(module_id_t module_idP, uint32_t frameP, uint32_t subfra
//static int common_num_sf_alloc=0;
//static int common_num_sf_alloc=0;
//static int x=0;
//static int x=0;
int
ue_query_mch_fembms
(
module_id_t
module_idP
,
uint8_t
CC_id
,
uint32_t
frameP
,
uint32_t
subframe
,
uint8_t
eNB_index
,
uint8_t
*
sync_area
,
uint8_t
*
mcch_active
)
{
int
ue_query_mch_fembms
(
module_id_t
module_idP
,
uint8_t
CC_id
,
uint32_t
frameP
,
uint32_t
subframe
,
uint8_t
eNB_index
,
uint8_t
*
sync_area
,
uint8_t
*
mcch_active
)
{
int
i
=
0
,
j
=
0
,
/* ii = 0,*/
msi_pos
=
-
1
,
mcch_mcs
=
-
1
,
mtch_mcs
=
-
1
,
l
=
0
,
ii
=
0
;
int
i
=
0
,
j
=
0
,
/* ii = 0,*/
msi_pos
=
-
1
,
mcch_mcs
=
-
1
,
mtch_mcs
=
-
1
,
l
=
0
/*,ii=0*/
;
int
mcch_flag
=
0
,
mtch_flag
=
0
,
msi_flag
=
0
;
int
mcch_flag
=
0
,
mtch_flag
=
0
,
msi_flag
=
0
;
int
alloc_offset
=
0
;
int
alloc_offset
=
0
;
uint32_t
period
;
uint32_t
period
;
//uint16_t num_non_mbsfn_SubframeConfig=0;
//uint16_t num_non_mbsfn_SubframeConfig=0;
long
mch_scheduling_period
=
-
1
;
long
mch_scheduling_period
=
-
1
;
uint8_t
mch_lcid
=
0
;
uint8_t
mch_lcid
=
0
;
int
first_pos
=
0
;
//
int first_pos=0;
if
(
UE_mac_inst
[
module_idP
].
non_mbsfn_SubframeConfig
==
NULL
)
if
(
UE_mac_inst
[
module_idP
].
non_mbsfn_SubframeConfig
==
NULL
)
return
-
1
;
return
-
1
;
...
...
This diff is collapsed.
Click to expand it.
openair2/M2AP/m2ap_MCE_interface_management.c
View file @
6db9fca1
...
@@ -521,6 +521,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i
...
@@ -521,6 +521,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i
mbsfn_subframe_configuration
->
radioframeAllocationPeriod
=
m2ap_mbms_scheduling_information
->
mbms_area_config_list
[
i
].
mbms_sf_config_list
[
j
].
radioframe_allocation_period
;
mbsfn_subframe_configuration
->
radioframeAllocationPeriod
=
m2ap_mbms_scheduling_information
->
mbms_area_config_list
[
i
].
mbms_sf_config_list
[
j
].
radioframe_allocation_period
;
mbsfn_subframe_configuration
->
radioframeAllocationOffset
=
m2ap_mbms_scheduling_information
->
mbms_area_config_list
[
i
].
mbms_sf_config_list
[
j
].
radioframe_allocation_offset
;
mbsfn_subframe_configuration
->
radioframeAllocationOffset
=
m2ap_mbms_scheduling_information
->
mbms_area_config_list
[
i
].
mbms_sf_config_list
[
j
].
radioframe_allocation_offset
;
if
(
m2ap_mbms_scheduling_information
->
mbms_area_config_list
[
i
].
mbms_sf_config_list
[
j
].
is_four_sf
){
if
(
m2ap_mbms_scheduling_information
->
mbms_area_config_list
[
i
].
mbms_sf_config_list
[
j
].
is_four_sf
){
LOG_I
(
M2AP
,
"is_four_sf
\n
"
);
mbsfn_subframe_configuration
->
subframeAllocation
.
present
=
M2AP_MBSFN_Subframe_Configuration__subframeAllocation_PR_fourFrames
;
mbsfn_subframe_configuration
->
subframeAllocation
.
present
=
M2AP_MBSFN_Subframe_Configuration__subframeAllocation_PR_fourFrames
;
mbsfn_subframe_configuration
->
subframeAllocation
.
choice
.
oneFrame
.
buf
=
MALLOC
(
3
);
mbsfn_subframe_configuration
->
subframeAllocation
.
choice
.
oneFrame
.
buf
=
MALLOC
(
3
);
mbsfn_subframe_configuration
->
subframeAllocation
.
choice
.
oneFrame
.
buf
[
2
]
=
((
m2ap_mbms_scheduling_information
->
mbms_area_config_list
[
i
].
mbms_sf_config_list
[
j
].
subframe_allocation
)
&
0xFF
);
mbsfn_subframe_configuration
->
subframeAllocation
.
choice
.
oneFrame
.
buf
[
2
]
=
((
m2ap_mbms_scheduling_information
->
mbms_area_config_list
[
i
].
mbms_sf_config_list
[
j
].
subframe_allocation
)
&
0xFF
);
...
@@ -530,6 +531,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i
...
@@ -530,6 +531,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i
mbsfn_subframe_configuration
->
subframeAllocation
.
choice
.
oneFrame
.
bits_unused
=
0
;
mbsfn_subframe_configuration
->
subframeAllocation
.
choice
.
oneFrame
.
bits_unused
=
0
;
}
else
{
}
else
{
LOG_I
(
M2AP
,
"is_one_sf
\n
"
);
mbsfn_subframe_configuration
->
subframeAllocation
.
present
=
M2AP_MBSFN_Subframe_Configuration__subframeAllocation_PR_oneFrame
;
mbsfn_subframe_configuration
->
subframeAllocation
.
present
=
M2AP_MBSFN_Subframe_Configuration__subframeAllocation_PR_oneFrame
;
mbsfn_subframe_configuration
->
subframeAllocation
.
choice
.
oneFrame
.
buf
=
MALLOC
(
1
);
mbsfn_subframe_configuration
->
subframeAllocation
.
choice
.
oneFrame
.
buf
=
MALLOC
(
1
);
mbsfn_subframe_configuration
->
subframeAllocation
.
choice
.
oneFrame
.
size
=
1
;
mbsfn_subframe_configuration
->
subframeAllocation
.
choice
.
oneFrame
.
size
=
1
;
...
@@ -1357,11 +1359,10 @@ int MCE_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
...
@@ -1357,11 +1359,10 @@ int MCE_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
int
MCE_handle_MBMS_SESSION_UPDATE_FAILURE
(
instance_t
instance
,
int
MCE_handle_MBMS_SESSION_UPDATE_FAILURE
(
instance_t
instance
,
module_id_t
du_mod_idP
){
uint32_t
assoc_id
,
uint32_t
stream
,
M2AP_M2AP_PDU_t
*
pdu
){
AssertFatal
(
1
==
0
,
"Not implemented yet
\n
"
);
AssertFatal
(
1
==
0
,
"Not implemented yet
\n
"
);
}
}
/*
/*
...
@@ -1378,16 +1379,138 @@ int MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance,
...
@@ -1378,16 +1379,138 @@ int MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance,
uint32_t
assoc_id
,
uint32_t
assoc_id
,
uint32_t
stream
,
uint32_t
stream
,
M2AP_M2AP_PDU_t
*
pdu
){
M2AP_M2AP_PDU_t
*
pdu
){
AssertFatal
(
1
==
0
,
"Not implemented yet
\n
"
);
//int i;
//AssertFatal(1==0,"Not implemented yet\n");
LOG_D
(
M2AP
,
"MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE
\n
"
);
AssertFatal
(
pdu
->
present
==
M2AP_M2AP_PDU_PR_successfulOutcome
,
"pdu->present != M2AP_M2AP_PDU_PR_successfulOutcome
\n
"
);
AssertFatal
(
pdu
->
choice
.
successfulOutcome
.
procedureCode
==
M2AP_ProcedureCode_id_mbmsServiceCounting
,
"pdu->choice.successfulOutcome->procedureCode != M2AP_ProcedureCode_id_mbmsServiceCounting
\n
"
);
AssertFatal
(
pdu
->
choice
.
successfulOutcome
.
criticality
==
M2AP_Criticality_reject
,
"pdu->choice.successfulOutcome->criticality != M2AP_Criticality_reject
\n
"
);
AssertFatal
(
pdu
->
choice
.
successfulOutcome
.
value
.
present
==
M2AP_SuccessfulOutcome__value_PR_MbmsServiceCountingResponse
,
"pdu->choice.successfulOutcome.value.present != M2AP_SuccessfulOutcome__value_PR_MbmsServiceCountingResponse
\n
"
);
M2AP_MbmsServiceCountingResponse_t
*
in
=
&
pdu
->
choice
.
successfulOutcome
.
value
.
choice
.
MbmsServiceCountingResponse
;
//M2AP_MbmsServiceCountingResponse_Ies_t *ie;
//int MCE_MBMS_M2AP_ID=-1;
//int ENB_MBMS_M2AP_ID=-1;
MessageDef
*
msg_g
=
itti_alloc_new_message
(
TASK_M2AP_MCE
,
M2AP_MBMS_SERVICE_COUNTING_RESP
);
//TODO
LOG_D
(
M2AP
,
"M2AP: MbmsServiceCounting-Resp: protocolIEs.list.count %d
\n
"
,
in
->
protocolIEs
.
list
.
count
);
for
(
int
i
=
0
;
i
<
in
->
protocolIEs
.
list
.
count
;
i
++
)
{
//ie = in->protocolIEs.list.array[i];
// switch (ie->id) {
// case M2AP_ProtocolIE_ID_id_MCE_MBMS_M2AP_ID:
// AssertFatal(ie->criticality == M2AP_Criticality_reject,
// "ie->criticality != M2AP_Criticality_reject\n");
// AssertFatal(ie->value.present == M2AP_SessionStartResponse_Ies__value_PR_MCE_MBMS_M2AP_ID,
// "ie->value.present != M2AP_sessionStartResponse_IEs__value_PR_MCE_MBMS_M2AP_ID\n");
// MCE_MBMS_M2AP_ID=ie->value.choice.MCE_MBMS_M2AP_ID;
// LOG_D(M2AP, "M2AP: SessionStart-Resp: MCE_MBMS_M2AP_ID %d\n",
// MCE_MBMS_M2AP_ID);
// break;
// case M2AP_ProtocolIE_ID_id_ENB_MBMS_M2AP_ID:
// AssertFatal(ie->criticality == M2AP_Criticality_reject,
// "ie->criticality != M2AP_Criticality_reject\n");
// AssertFatal(ie->value.present == M2AP_SessionStartResponse_Ies__value_PR_ENB_MBMS_M2AP_ID,
// "ie->value.present != M2AP_sessionStartResponse_Ies__value_PR_ENB_MBMS_M2AP_ID\n");
// ENB_MBMS_M2AP_ID=ie->value.choice.ENB_MBMS_M2AP_ID;
// LOG_D(M2AP, "M2AP: SessionStart-Resp: ENB_MBMS_M2AP_ID %d\n",
// ENB_MBMS_M2AP_ID);
// break;
// }
}
//AssertFatal(MCE_MBMS_M2AP_ID!=-1,"MCE_MBMS_M2AP_ID was not sent\n");
//AssertFatal(ENB_MBMS_M2AP_ID!=-1,"ENB_MBMS_M2AP_ID was not sent\n");
//M2AP_SESSION_START_RESP(msg_p).
// MSC_LOG_RX_MESSAGE(
// MSC_M2AP_MCE,
// MSC_M2AP_ENB,
//return 0;
// 0,
// 0,
// MSC_AS_TIME_FMT" MCE_handle_M2_SESSION_START_RESPONSE successfulOutcome assoc_id %d",
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
// assoc_id);
//
//LOG_D(M2AP, "Sending ITTI message to ENB_APP with assoc_id (%d->%d)\n",
//assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
itti_send_msg_to_task
(
TASK_MCE_APP
,
ENB_MODULE_ID_TO_INSTANCE
(
assoc_id
),
msg_g
);
return
0
;
}
}
int
MCE_handle_MBMS_SESSION_COUNTING_FAILURE
(
instance_t
instance
,
int
MCE_handle_MBMS_SESSION_COUNTING_FAILURE
(
instance_t
instance
,
module_id_t
du_mod_idP
){
uint32_t
assoc_id
,
uint32_t
stream
,
M2AP_M2AP_PDU_t
pdu
;
M2AP_M2AP_PDU_t
*
pdu
){
M2AP_MbmsServiceCountingRequest_t
*
out
;
AssertFatal
(
1
==
0
,
"Not implemented yet
\n
"
);
M2AP_MbmsServiceCountingRequest_Ies_t
*
ie
;
uint8_t
*
buffer
;
uint32_t
len
;
//int i=0;
//int j=0;
/* Create */
/* 0. pdu Type */
memset
(
&
pdu
,
0
,
sizeof
(
pdu
));
pdu
.
present
=
M2AP_M2AP_PDU_PR_initiatingMessage
;
//pdu.choice.initiatingMessage = (M2AP_InitiatingMessage_t *)calloc(1, sizeof(M2AP_InitiatingMessage_t));
pdu
.
choice
.
initiatingMessage
.
procedureCode
=
M2AP_ProcedureCode_id_mbmsServiceCounting
;
pdu
.
choice
.
initiatingMessage
.
criticality
=
M2AP_Criticality_reject
;
pdu
.
choice
.
initiatingMessage
.
value
.
present
=
M2AP_InitiatingMessage__value_PR_MbmsServiceCountingRequest
;
out
=
&
pdu
.
choice
.
initiatingMessage
.
value
.
choice
.
MbmsServiceCountingRequest
;
/* mandatory */
/* c1. MCCH_Update_Time */
//long
ie
=
(
M2AP_MbmsServiceCountingRequest_Ies_t
*
)
calloc
(
1
,
sizeof
(
M2AP_MbmsSchedulingInformation_Ies_t
));
ie
->
id
=
M2AP_ProtocolIE_ID_id_MCCH_Update_Time
;
ie
->
criticality
=
M2AP_Criticality_reject
;
ie
->
value
.
present
=
M2AP_MbmsServiceCountingRequest_Ies__value_PR_MCCH_Update_Time
;
//ie->value.choice.MCCH_Update_Time = ;
//ie->value.choice.MCCH_Update_Time = m2ap_mbms_scheduling_information->mcch_update_time;
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
/* mandatory */
/* c1. MCE_MBMS_M2AP_ID (integer value) */
//long
ie
=
(
M2AP_MbmsServiceCountingRequest_Ies_t
*
)
calloc
(
1
,
sizeof
(
M2AP_MbmsServiceCountingRequest_Ies_t
));
ie
->
id
=
M2AP_ProtocolIE_ID_id_MBSFN_Area_ID
;
ie
->
criticality
=
M2AP_Criticality_reject
;
ie
->
value
.
present
=
M2AP_MbmsServiceCountingRequest_Ies__value_PR_MBSFN_Area_ID
;
//ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //?
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
/* mandatory */
/* c2. TMGI (integrer value) */
ie
=
(
M2AP_MbmsServiceCountingRequest_Ies_t
*
)
calloc
(
1
,
sizeof
(
M2AP_MbmsServiceCountingRequest_Ies_t
));
ie
->
id
=
M2AP_ProtocolIE_ID_id_MBMS_Counting_Request_Session
;
ie
->
criticality
=
M2AP_Criticality_reject
;
ie
->
value
.
present
=
M2AP_MbmsServiceCountingRequest_Ies__value_PR_MBMS_Counting_Request_Session
;
//M2AP_MBMS_Counting_Request_Session_t * m2ap_mbms_counting_request_session = &ie->value.choice.MBMS_Counting_Request_Session;
//&ie->choice.TMGI.pLMN_Identity);
//INT16_TO_OCTET_STRING(0,&ie->choice.TMGI.serviceId);
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
if
(
m2ap_encode_pdu
(
&
pdu
,
&
buffer
,
&
len
)
<
0
)
{
LOG_E
(
M2AP
,
"Failed to encode MBMS Service Counting Results Report
\n
"
);
return
-
1
;
}
return
0
;
}
}
...
...
This diff is collapsed.
Click to expand it.
openair2/M2AP/m2ap_MCE_interface_management.h
View file @
6db9fca1
...
@@ -150,10 +150,7 @@ int MCE_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
...
@@ -150,10 +150,7 @@ int MCE_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
uint32_t
stream
,
uint32_t
stream
,
M2AP_M2AP_PDU_t
*
pdu
);
M2AP_M2AP_PDU_t
*
pdu
);
int
MCE_handle_MBMS_SESSION_UPDATE_FAILURE
(
instance_t
instance
,
int
MCE_handle_MBMS_SESSION_UPDATE_FAILURE
(
instance_t
instance
,
module_id_t
du_mod_idP
);
uint32_t
assoc_id
,
uint32_t
stream
,
M2AP_M2AP_PDU_t
*
pdu
);
/*
/*
* Service Counting Request
* Service Counting Request
...
@@ -165,10 +162,7 @@ int MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance,
...
@@ -165,10 +162,7 @@ int MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance,
uint32_t
stream
,
uint32_t
stream
,
M2AP_M2AP_PDU_t
*
pdu
);
M2AP_M2AP_PDU_t
*
pdu
);
int
MCE_handle_MBMS_SESSION_COUNTING_FAILURE
(
instance_t
instance
,
int
MCE_handle_MBMS_SESSION_COUNTING_FAILURE
(
instance_t
instance
,
module_id_t
du_mod_idP
);
uint32_t
assoc_id
,
uint32_t
stream
,
M2AP_M2AP_PDU_t
*
pdu
);
/*
/*
* Service Counting Results Report
* Service Counting Results Report
*/
*/
...
...
This diff is collapsed.
Click to expand it.
openair2/M2AP/m2ap_eNB.c
View file @
6db9fca1
...
@@ -142,6 +142,22 @@ void m2ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_associa
...
@@ -142,6 +142,22 @@ void m2ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_associa
sctp_new_association_resp
->
ulp_cnx_id
);
sctp_new_association_resp
->
ulp_cnx_id
);
//m2ap_handle_m2_setup_message(instance_p, m2ap_enb_data_p,
//m2ap_handle_m2_setup_message(instance_p, m2ap_enb_data_p,
// sctp_new_association_resp->sctp_state == SCTP_STATE_SHUTDOWN);
// sctp_new_association_resp->sctp_state == SCTP_STATE_SHUTDOWN);
sleep
(
4
);
int
index
;
/* Trying to connect to the provided list of eNB ip address */
for
(
index
=
0
;
index
<
instance_p
->
nb_m2
;
index
++
)
{
//M2AP_INFO("eNB[%d] eNB id %u acting as an initiator (client)\n",
// instance_id, instance->eNB_id);
m2ap_eNB_register_eNB
(
instance_p
,
&
instance_p
->
target_mce_m2_ip_address
[
index
],
&
instance_p
->
enb_m2_ip_address
,
instance_p
->
sctp_in_streams
,
instance_p
->
sctp_out_streams
,
instance_p
->
enb_port_for_M2C
,
instance_p
->
multi_sd
);
}
return
;
return
;
}
}
...
@@ -304,6 +320,8 @@ void m2ap_eNB_handle_register_eNB(instance_t instance,
...
@@ -304,6 +320,8 @@ void m2ap_eNB_handle_register_eNB(instance_t instance,
DevCheck
(
new_instance
->
mcc
==
m2ap_register_eNB
->
mcc
,
new_instance
->
mcc
,
m2ap_register_eNB
->
mcc
,
0
);
DevCheck
(
new_instance
->
mcc
==
m2ap_register_eNB
->
mcc
,
new_instance
->
mcc
,
m2ap_register_eNB
->
mcc
,
0
);
DevCheck
(
new_instance
->
mnc
==
m2ap_register_eNB
->
mnc
,
new_instance
->
mnc
,
m2ap_register_eNB
->
mnc
,
0
);
DevCheck
(
new_instance
->
mnc
==
m2ap_register_eNB
->
mnc
,
new_instance
->
mnc
,
m2ap_register_eNB
->
mnc
,
0
);
M2AP_WARN
(
"eNB[%d] already registered
\n
"
,
instance
);
M2AP_WARN
(
"eNB[%d] already registered
\n
"
,
instance
);
}
else
{
}
else
{
new_instance
=
calloc
(
1
,
sizeof
(
m2ap_eNB_instance_t
));
new_instance
=
calloc
(
1
,
sizeof
(
m2ap_eNB_instance_t
));
DevAssert
(
new_instance
!=
NULL
);
DevAssert
(
new_instance
!=
NULL
);
...
...
This diff is collapsed.
Click to expand it.
openair2/M2AP/m2ap_eNB_interface_management.c
View file @
6db9fca1
This diff is collapsed.
Click to expand it.
openair2/MCE_APP/mce_app.c
View file @
6db9fca1
...
@@ -372,7 +372,8 @@ void *MCE_app_task(void *args_p) {
...
@@ -372,7 +372,8 @@ void *MCE_app_task(void *args_p) {
// /* Try to register each MCE with MCE each other */
// /* Try to register each MCE with MCE each other */
if
(
is_m3ap_MCE_enabled
()
/*&& !NODE_IS_DU(RC.rrc[0]->node_type)*/
)
{
if
(
is_m3ap_MCE_enabled
()
/*&& !NODE_IS_DU(RC.rrc[0]->node_type)*/
)
{
///*m3_register_mce_pending =*/ MCE_app_register_m3 (mce_id_start, mce_id_end);
///*m3_register_mce_pending =*/
MCE_app_register_m3
(
mce_id_start
,
mce_id_end
);
}
}
do
{
do
{
...
@@ -627,7 +628,7 @@ void *MCE_app_task(void *args_p) {
...
@@ -627,7 +628,7 @@ void *MCE_app_task(void *args_p) {
//}
//}
/*m3_register_mce_pending =*/
MCE_app_register_m3
(
mce_id_start
,
mce_id_end
);
/*m3_register_mce_pending =*/
//
MCE_app_register_m3 (mce_id_start, mce_id_end);
//MCE_app_send_m2ap_session_start_req(0);
//MCE_app_send_m2ap_session_start_req(0);
break
;
break
;
...
...
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