Remove MSC library, it is not used anywhere
This commit is contained in:
@@ -114,7 +114,6 @@ MME :
|
|||||||
MME_APP_LOG_LEVEL = "TRACE";
|
MME_APP_LOG_LEVEL = "TRACE";
|
||||||
S6A_LOG_LEVEL = "TRACE";
|
S6A_LOG_LEVEL = "TRACE";
|
||||||
UTIL_LOG_LEVEL = "ERROR";
|
UTIL_LOG_LEVEL = "ERROR";
|
||||||
MSC_LOG_LEVEL = "ERROR";
|
|
||||||
ITTI_LOG_LEVEL = "ERROR";
|
ITTI_LOG_LEVEL = "ERROR";
|
||||||
ASN1_VERBOSITY = "annoying";
|
ASN1_VERBOSITY = "annoying";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -121,7 +121,6 @@ MME :
|
|||||||
S11_LOG_LEVEL = "DEBUG";
|
S11_LOG_LEVEL = "DEBUG";
|
||||||
S6A_LOG_LEVEL = "DEBUG";
|
S6A_LOG_LEVEL = "DEBUG";
|
||||||
UTIL_LOG_LEVEL = "INFO";
|
UTIL_LOG_LEVEL = "INFO";
|
||||||
MSC_LOG_LEVEL = "ERROR";
|
|
||||||
ITTI_LOG_LEVEL = "ERROR";
|
ITTI_LOG_LEVEL = "ERROR";
|
||||||
MME_SCENARIO_PLAYER_LOG_LEVEL = "ERROR";
|
MME_SCENARIO_PLAYER_LOG_LEVEL = "ERROR";
|
||||||
ASN1_VERBOSITY = "INFO";
|
ASN1_VERBOSITY = "INFO";
|
||||||
|
|||||||
@@ -938,10 +938,6 @@ add_boolean_option(CPU_AFFINITY False "Enable CPU Affinity of threads (only vali
|
|||||||
add_boolean_option(NAS_NETLINK False "useless ??? Must be True to compile nasmesh driver without rtai ????")
|
add_boolean_option(NAS_NETLINK False "useless ??? Must be True to compile nasmesh driver without rtai ????")
|
||||||
add_boolean_option(OAI_NW_DRIVER_USE_NETLINK True "????")
|
add_boolean_option(OAI_NW_DRIVER_USE_NETLINK True "????")
|
||||||
|
|
||||||
add_boolean_option(MESSAGE_CHART_GENERATOR False "For generating sequence diagrams")
|
|
||||||
add_boolean_option(MESSAGE_CHART_GENERATOR_RLC_MAC False "trace RLC-MAC exchanges in sequence diagrams")
|
|
||||||
add_boolean_option(MESSAGE_CHART_GENERATOR_PHY False "trace some PHY exchanges in sequence diagrams")
|
|
||||||
|
|
||||||
add_boolean_option(UE_EXPANSION False "enable UE_EXPANSION with max 256 UE")
|
add_boolean_option(UE_EXPANSION False "enable UE_EXPANSION with max 256 UE")
|
||||||
add_boolean_option(PHY_TX_THREAD False "enable UE_EXPANSION with max 256 UE")
|
add_boolean_option(PHY_TX_THREAD False "enable UE_EXPANSION with max 256 UE")
|
||||||
add_boolean_option(PRE_SCD_THREAD False "enable UE_EXPANSION with max 256 UE")
|
add_boolean_option(PRE_SCD_THREAD False "enable UE_EXPANSION with max 256 UE")
|
||||||
@@ -1301,11 +1297,6 @@ add_library(HASHTABLE
|
|||||||
)
|
)
|
||||||
include_directories(${OPENAIR_DIR}/common/utils/hashtable)
|
include_directories(${OPENAIR_DIR}/common/utils/hashtable)
|
||||||
|
|
||||||
add_library(msc MODULE ${OPENAIR_DIR}/common/utils/msc/msc.c )
|
|
||||||
target_link_libraries (msc LFDS)
|
|
||||||
|
|
||||||
include_directories(${OPENAIR_DIR}/common/utils/msc)
|
|
||||||
|
|
||||||
set(UTIL_SRC
|
set(UTIL_SRC
|
||||||
# ${OPENAIR2_DIR}/UTIL/CLI/cli.c
|
# ${OPENAIR2_DIR}/UTIL/CLI/cli.c
|
||||||
# ${OPENAIR2_DIR}/UTIL/CLI/cli_cmd.c
|
# ${OPENAIR2_DIR}/UTIL/CLI/cli_cmd.c
|
||||||
@@ -2807,7 +2798,7 @@ target_link_libraries (lte-softmodem
|
|||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U_OCP F1AP_LIB F1AP SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB SCHED_RU_LIB
|
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U_OCP F1AP_LIB F1AP SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB SCHED_RU_LIB
|
||||||
PHY_COMMON PHY PHY_RU LFDS L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB LFDS7
|
PHY_COMMON PHY PHY_RU LFDS L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB LFDS7
|
||||||
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} ${PROTO_AGENT_LIB}
|
${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} ${PROTO_AGENT_LIB}
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
|
target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
|
||||||
@@ -2851,7 +2842,7 @@ target_link_libraries (ocp-enb
|
|||||||
|
|
||||||
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U_OCP SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB SCHED_RU_LIB
|
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U_OCP SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB SCHED_RU_LIB
|
||||||
PHY_COMMON PHY PHY_RU LFDS L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB MISC_NFAPI_LTE_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB LFDS7 SIMU_COMMON
|
PHY_COMMON PHY PHY_RU LFDS L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB MISC_NFAPI_LTE_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB LFDS7 SIMU_COMMON
|
||||||
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} ${PROTO_AGENT_LIB}
|
${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} ${PROTO_AGENT_LIB}
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
target_link_libraries (ocp-enb ${LIBXML2_LIBRARIES} pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${LIB_LMS_LIBRARIES} ${T_LIB})
|
target_link_libraries (ocp-enb ${LIBXML2_LIBRARIES} pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES} ${LIB_LMS_LIBRARIES} ${T_LIB})
|
||||||
|
|
||||||
@@ -2945,7 +2936,7 @@ target_link_libraries (lte-uesoftmodem
|
|||||||
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB
|
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB
|
||||||
SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON
|
SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON
|
||||||
PHY_UE PHY_RU LFDS L2_UE L2_LTE LFDS7 SIMU_COMMON SIMU NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
PHY_UE PHY_RU LFDS L2_UE L2_LTE LFDS7 SIMU_COMMON SIMU NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
||||||
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${ATLAS_LIBRARIES}
|
${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${ATLAS_LIBRARIES}
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries (lte-uesoftmodem ${LIBXML2_LIBRARIES})
|
target_link_libraries (lte-uesoftmodem ${LIBXML2_LIBRARIES})
|
||||||
@@ -2989,7 +2980,7 @@ target_compile_definitions(nr-softmodem PUBLIC NEW_GTPU)
|
|||||||
target_link_libraries (nr-softmodem
|
target_link_libraries (nr-softmodem
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS GTPV1U_OCP SECU_CN SECU_OSA
|
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS GTPV1U_OCP SECU_CN SECU_OSA
|
||||||
ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
|
ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
|
||||||
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
||||||
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${PROTO_AGENT_LIB} ${FSPT_MSG_LIB}
|
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${PROTO_AGENT_LIB} ${FSPT_MSG_LIB}
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
@@ -3029,7 +3020,7 @@ add_executable(ocp-gnb
|
|||||||
target_link_libraries (ocp-gnb
|
target_link_libraries (ocp-gnb
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS GTPV1U_OCP SECU_CN SECU_OSA
|
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS GTPV1U_OCP SECU_CN SECU_OSA
|
||||||
ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
|
ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
|
||||||
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
||||||
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB SIMU_COMMON
|
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB SIMU_COMMON
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
@@ -3075,9 +3066,9 @@ target_link_libraries (nr-uesoftmodem
|
|||||||
RRC_LIB NR_RRC_LIB NGAP_LIB NGAP_GNB SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB
|
RRC_LIB NR_RRC_LIB NGAP_LIB NGAP_GNB SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB
|
||||||
PHY_COMMON PHY_NR_COMMON PHY_UE PHY_NR_UE PHY_RU LFDS NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB
|
PHY_COMMON PHY_NR_COMMON PHY_UE PHY_NR_UE PHY_RU LFDS NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB
|
||||||
NFAPI_USER_LIB MISC_NFAPI_NR_LIB S1AP_LIB S1AP_ENB
|
NFAPI_USER_LIB MISC_NFAPI_NR_LIB S1AP_LIB S1AP_ENB
|
||||||
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${ATLAS_LIBRARIES}
|
${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${ATLAS_LIBRARIES}
|
||||||
NFAPI_USER_LIB S1AP_LIB S1AP_ENB
|
NFAPI_USER_LIB S1AP_LIB S1AP_ENB
|
||||||
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${ATLAS_LIBRARIES} LIB_5GNAS_GNB LIB_NAS_SIMUE ${NAS_SIM_LIB}
|
${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${ATLAS_LIBRARIES} LIB_5GNAS_GNB LIB_NAS_SIMUE ${NAS_SIM_LIB}
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries (nr-uesoftmodem ${LIBXML2_LIBRARIES})
|
target_link_libraries (nr-uesoftmodem ${LIBXML2_LIBRARIES})
|
||||||
@@ -3326,7 +3317,7 @@ add_executable(test_epc_generate_scenario
|
|||||||
${OPENAIR3_DIR}/S1AP/s1ap_eNB_defs.h
|
${OPENAIR3_DIR}/S1AP/s1ap_eNB_defs.h
|
||||||
)
|
)
|
||||||
target_link_libraries (test_epc_generate_scenario
|
target_link_libraries (test_epc_generate_scenario
|
||||||
-Wl,--start-group RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP GTPV1U_OCP LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB PHY LFDS ITTI ${MSC_LIB} L2 -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${CONFIG_LIB}
|
-Wl,--start-group RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP GTPV1U_OCP LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB PHY LFDS ITTI L2 -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${CONFIG_LIB}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(test_epc_play_scenario
|
add_executable(test_epc_play_scenario
|
||||||
@@ -3345,7 +3336,7 @@ add_executable(test_epc_play_scenario
|
|||||||
)
|
)
|
||||||
target_include_directories(test_epc_play_scenario PUBLIC /usr/local/share/asn1c)
|
target_include_directories(test_epc_play_scenario PUBLIC /usr/local/share/asn1c)
|
||||||
target_link_libraries (test_epc_play_scenario
|
target_link_libraries (test_epc_play_scenario
|
||||||
-Wl,--start-group RRC_LIB S1AP_LIB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP GTPV1U_OCP LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB PHY_NR_COMMON PHY_COMMON PHY PHY_UE LFDS ITTI ${MSC_LIB} -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${CONFIG_LIB}
|
-Wl,--start-group RRC_LIB S1AP_LIB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP GTPV1U_OCP LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB PHY_NR_COMMON PHY_COMMON PHY PHY_UE LFDS ITTI -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${CONFIG_LIB}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -3386,7 +3377,7 @@ if (${T_TRACER})
|
|||||||
ITTI RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP
|
ITTI RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP
|
||||||
params_libconfig oai_exmimodevif oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif oai_iqplayer
|
params_libconfig oai_exmimodevif oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif oai_iqplayer
|
||||||
oai_eth_transpro oai_mobipass tcp_bridge tcp_bridge_oai
|
oai_eth_transpro oai_mobipass tcp_bridge tcp_bridge_oai
|
||||||
coding FLPT_MSG ASYNC_IF FLEXRAN_AGENT HASHTABLE MSC UTIL OMG_SUMO
|
coding FLPT_MSG ASYNC_IF FLEXRAN_AGENT HASHTABLE UTIL OMG_SUMO
|
||||||
SECU_OSA SECU_CN SCHED_LIB SCHED_NR_LIB SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB default_sched remote_sched RAL
|
SECU_OSA SECU_CN SCHED_LIB SCHED_NR_LIB SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB default_sched remote_sched RAL
|
||||||
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_VNF_LIB NFAPI_USER_LIB
|
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_VNF_LIB NFAPI_USER_LIB
|
||||||
PHY_COMMON PHY PHY_UE PHY_NR PHY_NR_COMMON PHY_NR_UE PHY_RU PHY_MEX
|
PHY_COMMON PHY PHY_UE PHY_NR PHY_NR_COMMON PHY_NR_UE PHY_RU PHY_MEX
|
||||||
@@ -3501,7 +3492,7 @@ target_compile_definitions(nr-ittisim PUBLIC NEW_GTPU)
|
|||||||
target_link_libraries (nr-ittisim
|
target_link_libraries (nr-ittisim
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS GTPV1U_OCP SECU_CN SECU_OSA
|
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS GTPV1U_OCP SECU_CN SECU_OSA
|
||||||
ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_SIM_LIB} RRC_LIB NR_RRC_LIB
|
ITTI ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${RAL_LIB} ${NAS_SIM_LIB} RRC_LIB NR_RRC_LIB
|
||||||
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
||||||
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${PROTO_AGENT_LIB} ${FSPT_MSG_LIB}
|
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${PROTO_AGENT_LIB} ${FSPT_MSG_LIB}
|
||||||
PHY_NR_UE SCHED_NR_UE_LIB NR_L2_UE
|
PHY_NR_UE SCHED_NR_UE_LIB NR_L2_UE
|
||||||
|
|||||||
@@ -409,7 +409,6 @@ set(emm_HDR
|
|||||||
add_library(emm ${emm_SRC} ${emm_HDR})
|
add_library(emm ${emm_SRC} ${emm_HDR})
|
||||||
|
|
||||||
target_include_directories(emm PRIVATE
|
target_include_directories(emm PRIVATE
|
||||||
${OPENAIR_DIR}/common/utils/msc
|
|
||||||
${OPENAIR_DIR}/common/utils
|
${OPENAIR_DIR}/common/utils
|
||||||
${OPENAIR_DIR}/openair2/COMMON
|
${OPENAIR_DIR}/openair2/COMMON
|
||||||
${OPENAIR_NAS_DIR}/UE
|
${OPENAIR_NAS_DIR}/UE
|
||||||
@@ -693,7 +692,6 @@ include_directories(
|
|||||||
${OPENAIR_TARGETS}/COMMON
|
${OPENAIR_TARGETS}/COMMON
|
||||||
${OPENAIR_NAS_DIR}/UE
|
${OPENAIR_NAS_DIR}/UE
|
||||||
${OPENAIR_DIR}/common/utils
|
${OPENAIR_DIR}/common/utils
|
||||||
${OPENAIR_DIR}/common/utils/msc
|
|
||||||
${OPENAIR3_DIR}/COMMON
|
${OPENAIR3_DIR}/COMMON
|
||||||
${OPENAIR3_DIR}/SECU
|
${OPENAIR3_DIR}/SECU
|
||||||
${OPENAIR_NAS_DIR}/src
|
${OPENAIR_NAS_DIR}/src
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ BUILD_ECLIPSE=0
|
|||||||
NR="False"
|
NR="False"
|
||||||
ITTI_SIM="False"
|
ITTI_SIM="False"
|
||||||
SANITIZE_ADDRESS="False"
|
SANITIZE_ADDRESS="False"
|
||||||
OPTIONAL_LIBRARIES="telnetsrv enbscope uescope nrscope msc"
|
OPTIONAL_LIBRARIES="telnetsrv enbscope uescope nrscope"
|
||||||
RU=0
|
RU=0
|
||||||
trap handle_ctrl_c INT
|
trap handle_ctrl_c INT
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ set ( LOG_NO_THREAD True )
|
|||||||
set ( DEADLINE_SCHEDULER False )
|
set ( DEADLINE_SCHEDULER False )
|
||||||
set ( MAC_CONTEXT 1 )
|
set ( MAC_CONTEXT 1 )
|
||||||
set ( MAX_NUM_CCs 1 )
|
set ( MAX_NUM_CCs 1 )
|
||||||
set ( MESSAGE_CHART_GENERATOR False)
|
|
||||||
set ( MSG_PRINT False )
|
set ( MSG_PRINT False )
|
||||||
set ( MU_RECEIVER False )
|
set ( MU_RECEIVER False )
|
||||||
set ( NAS_ADDRESS_FIX False )
|
set ( NAS_ADDRESS_FIX False )
|
||||||
|
|||||||
@@ -410,7 +410,6 @@ check_install_ubuntu_packages() {
|
|||||||
libxml2 \
|
libxml2 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt1-dev \
|
libxslt1-dev \
|
||||||
mscgen \
|
|
||||||
octave-signal \
|
octave-signal \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
openssh-server \
|
openssh-server \
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ set ( LOG_NO_THREAD True )
|
|||||||
set ( DEADLINE_SCHEDULER False )
|
set ( DEADLINE_SCHEDULER False )
|
||||||
set ( MAC_CONTEXT 1 )
|
set ( MAC_CONTEXT 1 )
|
||||||
set ( MAX_NUM_CCs 1 )
|
set ( MAX_NUM_CCs 1 )
|
||||||
set ( MESSAGE_CHART_GENERATOR False)
|
|
||||||
set ( MSG_PRINT False )
|
set ( MSG_PRINT False )
|
||||||
set ( MU_RECEIVER False )
|
set ( MU_RECEIVER False )
|
||||||
set ( NAS_ADDRESS_FIX False )
|
set ( NAS_ADDRESS_FIX False )
|
||||||
|
|||||||
@@ -765,7 +765,6 @@ check_install_oai_software() {
|
|||||||
libxml2 \
|
libxml2 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt1-dev \
|
libxslt1-dev \
|
||||||
mscgen \
|
|
||||||
octave-signal \
|
octave-signal \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
openssh-server \
|
openssh-server \
|
||||||
@@ -793,7 +792,7 @@ check_install_oai_software() {
|
|||||||
fi
|
fi
|
||||||
$SUDO $INSTALLER install -y python-epdb vim-common
|
$SUDO $INSTALLER install -y python-epdb vim-common
|
||||||
else
|
else
|
||||||
$SUDO $INSTALLER install -y mscgen pydb
|
$SUDO $INSTALLER install -y pydb
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$SUDO $INSTALLER install -y \
|
$SUDO $INSTALLER install -y \
|
||||||
|
|||||||
@@ -85,18 +85,7 @@ Tools available:
|
|||||||
|
|
||||||
1) itti_analyser (list messages exchanged between protocol layers)
|
1) itti_analyser (list messages exchanged between protocol layers)
|
||||||
2) xforms (Layer 1)
|
2) xforms (Layer 1)
|
||||||
3) mscgen (under construction, but can give some results now)
|
3) vcd (timing mesurements)
|
||||||
(http://www.mcternan.me.uk/mscgen/)
|
|
||||||
We use the software to generate sequence diagrams
|
|
||||||
with traces generated during the execution of the eNB.
|
|
||||||
After the enb execution:
|
|
||||||
yang@yang:...$ cd /tmp
|
|
||||||
yang@yang:/tmp$ /home/yang/openair4G/trunk/targets/SCRIPTS/msc_gen.py
|
|
||||||
The results are located in the current directory (/tmp in this example) in a folder. The name of the folder
|
|
||||||
is the current date (for example: 2015-04-08_20.34.10).
|
|
||||||
The results are input files for the mscgen tool containing events or messages and the
|
|
||||||
corresponding generated png files.
|
|
||||||
4) vcd (timing mesurements)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -92,18 +92,7 @@ Tools available:
|
|||||||
|
|
||||||
1) itti_analyser (list messages exchanged between protocol layers)
|
1) itti_analyser (list messages exchanged between protocol layers)
|
||||||
2) xforms (Layer 1)
|
2) xforms (Layer 1)
|
||||||
3) mscgen (under construction, but can give some results now)
|
3) vcd (timing mesurements)
|
||||||
(http://www.mcternan.me.uk/mscgen/)
|
|
||||||
We use the software to generate sequence diagrams
|
|
||||||
with traces generated during the execution of the eNB.
|
|
||||||
After the enb execution:
|
|
||||||
yang@yang:...$ cd /tmp
|
|
||||||
yang@yang:/tmp$ /home/yang/openair4G/trunk/targets/SCRIPTS/msc_gen.py
|
|
||||||
The results are located in the current directory (/tmp in this example) in a folder. The name of the folder
|
|
||||||
is the current date (for example: 2015-04-08_20.34.10).
|
|
||||||
The results are input files for the mscgen tool containing events or messages and the
|
|
||||||
corresponding generated png files.
|
|
||||||
4) vcd (timing mesurements)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -32,8 +32,6 @@
|
|||||||
################################
|
################################
|
||||||
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
||||||
source $THIS_SCRIPT_PATH/build_helper
|
source $THIS_SCRIPT_PATH/build_helper
|
||||||
declare -i g_run_msc_gen=0
|
|
||||||
declare g_msc_dir="/tmp"
|
|
||||||
|
|
||||||
|
|
||||||
function help()
|
function help()
|
||||||
@@ -55,7 +53,6 @@ function help()
|
|||||||
echo_error " -M, --target-dl-mcs mcs Downlink target MCS."
|
echo_error " -M, --target-dl-mcs mcs Downlink target MCS."
|
||||||
echo_error " -n, --T-no-wait don't wait for tracer, start immediately"
|
echo_error " -n, --T-no-wait don't wait for tracer, start immediately"
|
||||||
echo_error " -p, --T-port port use given port"
|
echo_error " -p, --T-port port use given port"
|
||||||
echo_error " -m, --mscgen directory Generate mscgen output files in a directory"
|
|
||||||
echo_error " -s, --show-stdout Do not redirect stdout and stderr to file /tmp/lte_softmodem.stdout.txt."
|
echo_error " -s, --show-stdout Do not redirect stdout and stderr to file /tmp/lte_softmodem.stdout.txt."
|
||||||
echo_error " -S, --enable-missed-slot Continue execution in case of missed slot."
|
echo_error " -S, --enable-missed-slot Continue execution in case of missed slot."
|
||||||
echo_error " -T, --target-ul-mcs mcs Uplink target MCS."
|
echo_error " -T, --target-ul-mcs mcs Uplink target MCS."
|
||||||
@@ -68,30 +65,10 @@ function help()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function do_msc_gen()
|
|
||||||
{
|
|
||||||
cd $g_msc_dir
|
|
||||||
last_created_file=`ls -t mscgen* | head -1 | tr -d ':'`
|
|
||||||
$OPENAIR_DIR/targets/SCRIPTS/msc_gen.py
|
|
||||||
sync
|
|
||||||
last_created_file2=`ls -t mscgen* | head -1 | tr -d ':'`
|
|
||||||
|
|
||||||
if [ x"$last_created_file" != x"$last_created_file2" ]; then
|
|
||||||
if [ -f ./$last_created_file2/oai_mscgen_page_0.png ]; then
|
|
||||||
command -v eog 2>/dev/null && eog ./$last_created_file2/oai_mscgen_page_0.png
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function control_c()
|
function control_c()
|
||||||
# run if user hits control-c
|
# run if user hits control-c
|
||||||
{
|
{
|
||||||
echo_warning "\nExiting by ctrl+c\n"
|
echo_warning "\nExiting by ctrl+c\n"
|
||||||
if [ $g_run_msc_gen -eq 1 ]; then
|
|
||||||
do_msc_gen
|
|
||||||
fi
|
|
||||||
exit $?
|
exit $?
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,18 +130,6 @@ function main()
|
|||||||
exe_arguments="$exe_arguments --rf-config-file=$rf_config_file"
|
exe_arguments="$exe_arguments --rf-config-file=$rf_config_file"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
-m | --mscgen)
|
|
||||||
g_msc_dir=$2
|
|
||||||
# can omit file name if last arg on the line
|
|
||||||
if [ -d "$g_msc_dir" ]; then
|
|
||||||
echo "setting mscgen log files to dir: $g_msc_dir"
|
|
||||||
g_run_msc_gen=1
|
|
||||||
shift 2;
|
|
||||||
else
|
|
||||||
echo_error "Mscgen log dir does not exist"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
-M | --target-dl-mcs)
|
-M | --target-dl-mcs)
|
||||||
echo "setting target dl MCS to $2"
|
echo "setting target dl MCS to $2"
|
||||||
exe_arguments="$exe_arguments -m $2"
|
exe_arguments="$exe_arguments -m $2"
|
||||||
@@ -251,9 +216,6 @@ function main()
|
|||||||
else
|
else
|
||||||
gdb -n -x ~/.gdb_lte_softmodem
|
gdb -n -x ~/.gdb_lte_softmodem
|
||||||
fi
|
fi
|
||||||
if [ $g_run_msc_gen -eq 1 ]; then
|
|
||||||
do_msc_gen
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,6 @@ function help()
|
|||||||
echo_error " -l, --log-level set the global log level (8:trace, 7:debug, 6:info, 4:warn, 3:error). Note that the log configuration is eNB config file is ignored for oaisim."
|
echo_error " -l, --log-level set the global log level (8:trace, 7:debug, 6:info, 4:warn, 3:error). Note that the log configuration is eNB config file is ignored for oaisim."
|
||||||
echo_error " -h, --help Print this help."
|
echo_error " -h, --help Print this help."
|
||||||
echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)"
|
echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)"
|
||||||
echo_error " -m, --mscgen directory Generate mscgen output files in a directory"
|
|
||||||
echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format."
|
echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format."
|
||||||
echo_error " -W, --wireshark-l2 Dump MAC frames for visualization with wireshark."
|
echo_error " -W, --wireshark-l2 Dump MAC frames for visualization with wireshark."
|
||||||
echo_error " You need to open Wireshark, open the preferences, and check try heuristics for the UDP protocol, MAC-LTE, RLC-LTE,"
|
echo_error " You need to open Wireshark, open the preferences, and check try heuristics for the UDP protocol, MAC-LTE, RLC-LTE,"
|
||||||
@@ -75,11 +74,9 @@ function main()
|
|||||||
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
|
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
|
||||||
|
|
||||||
local -i run_gdb=0
|
local -i run_gdb=0
|
||||||
local -i run_mscgen=0
|
|
||||||
local exe_arguments=""
|
local exe_arguments=""
|
||||||
local DEFAULT_CONFIG_FILE_ENB=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf
|
local DEFAULT_CONFIG_FILE_ENB=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf
|
||||||
local CONFIG_FILE_ENB=$DEFAULT_CONFIG_FILE_ENB
|
local CONFIG_FILE_ENB=$DEFAULT_CONFIG_FILE_ENB
|
||||||
local MSC_DIR="/tmp"
|
|
||||||
local abstraction_flag=0
|
local abstraction_flag=0
|
||||||
|
|
||||||
until [ -z "$1" ]
|
until [ -z "$1" ]
|
||||||
@@ -136,17 +133,6 @@ function main()
|
|||||||
exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE"
|
exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
-m | --mscgen)
|
|
||||||
MSC_DIR=$2
|
|
||||||
if [ -d "$MSC_DIR" ]; then
|
|
||||||
echo "setting mscgen log files to dir: $MSC_DIR"
|
|
||||||
run_mscgen=1
|
|
||||||
shift 2;
|
|
||||||
else
|
|
||||||
echo_error "Mscgen log dir does not exist"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
# -u | --num-ue )
|
# -u | --num-ue )
|
||||||
|
|
||||||
-V | --vcd)
|
-V | --vcd)
|
||||||
@@ -212,10 +198,6 @@ function main()
|
|||||||
cd $OPENAIR_DIR/targets/bin
|
cd $OPENAIR_DIR/targets/bin
|
||||||
|
|
||||||
|
|
||||||
if [ $run_mscgen -eq 1 ]; then
|
|
||||||
$SUDO rm -f /tmp/openair.msc.*
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $run_gdb -eq 0 ]; then
|
if [ $run_gdb -eq 0 ]; then
|
||||||
exec $SUDO $OPENAIR_DIR/targets/bin/oaisim_nos1.Rel14 $exe_arguments | tee /tmp/enb_ue_nos1.log.txt
|
exec $SUDO $OPENAIR_DIR/targets/bin/oaisim_nos1.Rel14 $exe_arguments | tee /tmp/enb_ue_nos1.log.txt
|
||||||
else
|
else
|
||||||
@@ -227,20 +209,6 @@ function main()
|
|||||||
cat ~/.gdb_enb_ue_nos1
|
cat ~/.gdb_enb_ue_nos1
|
||||||
$SUDO gdb -n -x ~/.gdb_enb_ue_nos1
|
$SUDO gdb -n -x ~/.gdb_enb_ue_nos1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $run_mscgen -eq 1 ]; then
|
|
||||||
cd $MSC_DIR
|
|
||||||
last_created_file=`ls -t mscgen* | head -1 | tr -d ':'`
|
|
||||||
$OPENAIR_DIR/targets/SCRIPTS/msc_gen.py --profile E_UTRAN
|
|
||||||
sync
|
|
||||||
last_created_file2=`ls -t mscgen* | head -1 | tr -d ':'`
|
|
||||||
|
|
||||||
if [ x"$last_created_file" != x"$last_created_file2" ]; then
|
|
||||||
if [ -f ./$last_created_file2/oai_mscgen_page_0.png ]; then
|
|
||||||
command -v eog 2>/dev/null && eog ./$last_created_file2/oai_mscgen_page_0.png
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ function help()
|
|||||||
echo_error " -g, --gdb Run with GDB."
|
echo_error " -g, --gdb Run with GDB."
|
||||||
echo_error " -h, --help Print this help."
|
echo_error " -h, --help Print this help."
|
||||||
echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)"
|
echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)"
|
||||||
echo_error " -m, --mscgen directory Generate mscgen output files in a directory"
|
|
||||||
echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format."
|
echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format."
|
||||||
echo_error " -W, --wireshark-l2 Dump MAC frames for visualization with wireshark."
|
echo_error " -W, --wireshark-l2 Dump MAC frames for visualization with wireshark."
|
||||||
echo_error " You need to open Wireshark, open the preferences, and check try heuristics for the UDP protocol, MAC-LTE, RLC-LTE,"
|
echo_error " You need to open Wireshark, open the preferences, and check try heuristics for the UDP protocol, MAC-LTE, RLC-LTE,"
|
||||||
@@ -100,11 +99,9 @@ function main()
|
|||||||
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
|
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
|
||||||
|
|
||||||
local -i run_gdb=0
|
local -i run_gdb=0
|
||||||
local -i run_mscgen=0
|
|
||||||
local exe_arguments=""
|
local exe_arguments=""
|
||||||
local DEFAULT_CONFIG_FILE_ENB=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf
|
local DEFAULT_CONFIG_FILE_ENB=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf
|
||||||
local CONFIG_FILE_ENB=$DEFAULT_CONFIG_FILE_ENB
|
local CONFIG_FILE_ENB=$DEFAULT_CONFIG_FILE_ENB
|
||||||
local MSC_DIR="/tmp"
|
|
||||||
|
|
||||||
until [ -z "$1" ]
|
until [ -z "$1" ]
|
||||||
do
|
do
|
||||||
@@ -160,19 +157,6 @@ function main()
|
|||||||
exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE"
|
exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
-m | --mscgen)
|
|
||||||
MSC_DIR=$2
|
|
||||||
# can omit file name if last arg on the line
|
|
||||||
if [ -d "$MSC_DIR" ]; then
|
|
||||||
echo "setting mscgen log files to dir: $MSC_DIR"
|
|
||||||
run_mscgen=1
|
|
||||||
shift 2;
|
|
||||||
else
|
|
||||||
echo_error "Mscgen log dir does not exist"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
-V | --vcd)
|
-V | --vcd)
|
||||||
echo "setting gtk-wave output"
|
echo "setting gtk-wave output"
|
||||||
exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd"
|
exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd"
|
||||||
@@ -258,10 +242,6 @@ function main()
|
|||||||
cd $OPENAIR_DIR/targets/bin
|
cd $OPENAIR_DIR/targets/bin
|
||||||
|
|
||||||
|
|
||||||
if [ $run_mscgen -eq 1 ]; then
|
|
||||||
rm -f /tmp/openair.msc.*
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $run_gdb -eq 0 ]; then
|
if [ $run_gdb -eq 0 ]; then
|
||||||
exec $OPENAIR_DIR/targets/bin/oaisim.Rel14 $exe_arguments | tee /tmp/enb_ue_s1.log.txt
|
exec $OPENAIR_DIR/targets/bin/oaisim.Rel14 $exe_arguments | tee /tmp/enb_ue_s1.log.txt
|
||||||
else
|
else
|
||||||
@@ -273,21 +253,6 @@ function main()
|
|||||||
cat ~/.gdb_enb_ue_s1
|
cat ~/.gdb_enb_ue_s1
|
||||||
gdb -n -x ~/.gdb_enb_ue_s1
|
gdb -n -x ~/.gdb_enb_ue_s1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $run_mscgen -eq 1 ]; then
|
|
||||||
cd $MSC_DIR
|
|
||||||
last_created_file=`ls -t mscgen* | head -1 | tr -d ':'`
|
|
||||||
$OPENAIR_DIR/targets/SCRIPTS/msc_gen.py --profile E_UTRAN
|
|
||||||
sync
|
|
||||||
last_created_file2=`ls -t mscgen* | head -1 | tr -d ':'`
|
|
||||||
|
|
||||||
if [ x"$last_created_file" != x"$last_created_file2" ]; then
|
|
||||||
if [ -f ./$last_created_file2/oai_mscgen_page_0.png ]; then
|
|
||||||
command -v eog 2>/dev/null && eog ./$last_created_file2/oai_mscgen_page_0.png
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sudo echo
|
sudo echo
|
||||||
|
|||||||
@@ -65,7 +65,6 @@ To get help on supported parameters you can use specific options:
|
|||||||
-R: Enable online log
|
-R: Enable online log
|
||||||
-g: Set the global log level, valide options: (4:trace, 3:debug, 2:info, 1:warn, (0:error))
|
-g: Set the global log level, valide options: (4:trace, 3:debug, 2:info, 1:warn, (0:error))
|
||||||
--telnetsrv: Start embedded telnet server
|
--telnetsrv: Start embedded telnet server
|
||||||
--msc: Enable the MSC tracing utility
|
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
[LIBCONFIG] loader: 2/2 parameters successfully set, (2 to default value)
|
[LIBCONFIG] loader: 2/2 parameters successfully set, (2 to default value)
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ The list of components defined within oai can be retrieved from the [config mod
|
|||||||
[CONFIG] log_config.perf_log_level set to default value "info"
|
[CONFIG] log_config.perf_log_level set to default value "info"
|
||||||
[CONFIG] log_config.oip_log_level set to default value "info"
|
[CONFIG] log_config.oip_log_level set to default value "info"
|
||||||
[CONFIG] log_config.cli_log_level set to default value "info"
|
[CONFIG] log_config.cli_log_level set to default value "info"
|
||||||
[CONFIG] log_config.msc_log_level set to default value "info"
|
|
||||||
[CONFIG] log_config.ocm_log_level set to default value "info"
|
[CONFIG] log_config.ocm_log_level set to default value "info"
|
||||||
[CONFIG] log_config.udp_log_level set to default value "info"
|
[CONFIG] log_config.udp_log_level set to default value "info"
|
||||||
[CONFIG] log_config.gtpv1u_log_level set to default value "info"
|
[CONFIG] log_config.gtpv1u_log_level set to default value "info"
|
||||||
@@ -108,8 +107,6 @@ The list of components defined within oai can be retrieved from the [config mod
|
|||||||
[CONFIG] log_config.oip_log_infile set to default value
|
[CONFIG] log_config.oip_log_infile set to default value
|
||||||
[CONFIG] cli_log_infile: 0
|
[CONFIG] cli_log_infile: 0
|
||||||
[CONFIG] log_config.cli_log_infile set to default value
|
[CONFIG] log_config.cli_log_infile set to default value
|
||||||
[CONFIG] msc_log_infile: 0
|
|
||||||
[CONFIG] log_config.msc_log_infile set to default value
|
|
||||||
[CONFIG] ocm_log_infile: 0
|
[CONFIG] ocm_log_infile: 0
|
||||||
[CONFIG] log_config.ocm_log_infile set to default value
|
[CONFIG] log_config.ocm_log_infile set to default value
|
||||||
[CONFIG] udp_log_infile: 0
|
[CONFIG] udp_log_infile: 0
|
||||||
|
|||||||
@@ -447,7 +447,6 @@ int logInit (void)
|
|||||||
register_log_component("OCG","",OCG);
|
register_log_component("OCG","",OCG);
|
||||||
register_log_component("PERF","",PERF);
|
register_log_component("PERF","",PERF);
|
||||||
register_log_component("OIP","",OIP);
|
register_log_component("OIP","",OIP);
|
||||||
register_log_component("MSC","log",MSC);
|
|
||||||
register_log_component("OCM","log",OCM);
|
register_log_component("OCM","log",OCM);
|
||||||
register_log_component("HW","",HW);
|
register_log_component("HW","",HW);
|
||||||
register_log_component("OSA","",OSA);
|
register_log_component("OSA","",OSA);
|
||||||
|
|||||||
@@ -210,7 +210,6 @@ typedef enum {
|
|||||||
PERF,
|
PERF,
|
||||||
OIP,
|
OIP,
|
||||||
CLI,
|
CLI,
|
||||||
MSC,
|
|
||||||
OCM,
|
OCM,
|
||||||
UDP_,
|
UDP_,
|
||||||
GTPU,
|
GTPU,
|
||||||
|
|||||||
@@ -1,785 +0,0 @@
|
|||||||
/*
|
|
||||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
|
||||||
* this work for additional information regarding copyright ownership.
|
|
||||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
|
||||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
|
||||||
* except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.openairinterface.org/?page_id=698
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*-------------------------------------------------------------------------------
|
|
||||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
|
||||||
* contact@openairinterface.org
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \file msc.c
|
|
||||||
* \brief Message chart generator logging utility (generated files to processed by a script to produce a mscgen input file for generating a sequence diagram document)
|
|
||||||
* \author Lionel GAUTHIER
|
|
||||||
* \date 2015
|
|
||||||
* \email: lionel.gauthier@eurecom.fr
|
|
||||||
*/
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <inttypes.h>
|
|
||||||
|
|
||||||
#define MSC_LIBRARY
|
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include "liblfds611.h"
|
|
||||||
#include "intertask_interface.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "assertions.h"
|
|
||||||
|
|
||||||
//-------------------------------
|
|
||||||
#define MSC_MAX_QUEUE_ELEMENTS 1024
|
|
||||||
#define MSC_MAX_PROTO_NAME_LENGTH 16
|
|
||||||
#define MSC_MAX_MESSAGE_LENGTH 512
|
|
||||||
|
|
||||||
//-------------------------------
|
|
||||||
|
|
||||||
FILE *g_msc_fd;
|
|
||||||
char g_msc_proto2str[MAX_MSC_PROTOS][MSC_MAX_PROTO_NAME_LENGTH];
|
|
||||||
|
|
||||||
msc_interface_t msc_interface;
|
|
||||||
|
|
||||||
typedef unsigned long msc_message_number_t;
|
|
||||||
typedef struct msc_queue_item_s {
|
|
||||||
char *message_str;
|
|
||||||
uint32_t message_str_size;
|
|
||||||
uint8_t *message_bin;
|
|
||||||
uint32_t message_bin_size;
|
|
||||||
} msc_queue_item_t;
|
|
||||||
|
|
||||||
msc_message_number_t g_message_number = 0;
|
|
||||||
struct lfds611_queue_state *g_msc_message_queue_p = NULL;
|
|
||||||
struct lfds611_stack_state *g_msc_memory_stack_p = NULL;
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
void *msc_task(void *args_p)
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
{
|
|
||||||
MessageDef *received_message_p = NULL;
|
|
||||||
// const char *msg_name = NULL;
|
|
||||||
// instance_t instance = 0;
|
|
||||||
long timer_id;
|
|
||||||
itti_mark_task_ready(TASK_MSC);
|
|
||||||
msc_start_use();
|
|
||||||
timer_setup(0, // seconds
|
|
||||||
50000, // usec
|
|
||||||
TASK_MSC,
|
|
||||||
INSTANCE_DEFAULT,
|
|
||||||
TIMER_PERIODIC,
|
|
||||||
NULL,
|
|
||||||
&timer_id);
|
|
||||||
|
|
||||||
while(1) {
|
|
||||||
itti_receive_msg(TASK_MSC, &received_message_p);
|
|
||||||
|
|
||||||
if (received_message_p != NULL) {
|
|
||||||
// msg_name = ITTI_MSG_NAME (received_message_p);
|
|
||||||
// instance = ITTI_MSG_DESTINATION_INSTANCE (received_message_p);
|
|
||||||
switch (ITTI_MSG_ID(received_message_p)) {
|
|
||||||
case TIMER_HAS_EXPIRED: {
|
|
||||||
msc_flush_messages();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TERMINATE_MESSAGE: {
|
|
||||||
fprintf(stderr, " *** Exiting MSC thread\n");
|
|
||||||
timer_remove(timer_id);
|
|
||||||
msc_end();
|
|
||||||
itti_exit_task();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MESSAGE_TEST: {
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default: {
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(stderr, "Task MSC exiting\n");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
int msc_init(const msc_env_t envP, const int max_threadsP)
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
int rv;
|
|
||||||
void *pointer_p;
|
|
||||||
char msc_filename[256];
|
|
||||||
fprintf(stderr, "Initializing MSC logs\n");
|
|
||||||
rv = snprintf(msc_filename, 256, "/tmp/openair.msc.%i.log", envP); // TODO NAME
|
|
||||||
|
|
||||||
if ((0 >= rv) || (256 < rv)) {
|
|
||||||
fprintf(stderr, "Error in MSC log file name");
|
|
||||||
}
|
|
||||||
|
|
||||||
g_msc_fd = fopen(msc_filename,"w");
|
|
||||||
AssertFatal(g_msc_fd != NULL, "Could not open MSC log file %s : %s", msc_filename, strerror(errno));
|
|
||||||
rv = lfds611_stack_new(&g_msc_memory_stack_p, (lfds611_atom_t)max_threadsP + 2);
|
|
||||||
|
|
||||||
if (0 >= rv) {
|
|
||||||
AssertFatal (0, "lfds611_stack_new failed!\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
rv = lfds611_queue_new(&g_msc_message_queue_p, (lfds611_atom_t)MSC_MAX_QUEUE_ELEMENTS);
|
|
||||||
AssertFatal (rv, "lfds611_queue_new failed!\n");
|
|
||||||
AssertFatal (g_msc_message_queue_p != NULL, "g_msc_message_queue_p is NULL!\n");
|
|
||||||
msc_start_use();
|
|
||||||
|
|
||||||
for (i=0; i < max_threadsP * 30; i++) {
|
|
||||||
pointer_p = malloc(MSC_MAX_MESSAGE_LENGTH);
|
|
||||||
AssertFatal (pointer_p, "malloc failed!\n");
|
|
||||||
rv = lfds611_stack_guaranteed_push( g_msc_memory_stack_p, pointer_p );
|
|
||||||
AssertFatal (rv, "lfds611_stack_guaranteed_push failed for item %d\n", i);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = MIN_MSC_PROTOS; i < MAX_MSC_PROTOS; i++) {
|
|
||||||
switch (i) {
|
|
||||||
case MSC_IP_UE:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "IP_UE");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_IP_ENB:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "IP_ENB");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (envP == MSC_E_UTRAN_LIPA) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_NAS_UE:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "NAS_UE");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_RRC_UE:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "RRC_UE");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_PDCP_UE:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "PDCP_UE");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_RLC_UE:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "RLC_UE");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_MAC_UE:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "MAC_UE");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_PHY_UE:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "PHY_UE");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_PHY_ENB:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "PHY_ENB");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_MAC_ENB:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "MAC_ENB");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_RLC_ENB:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "RLC_ENB");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_PDCP_ENB:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "PDCP_ENB");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_RRC_ENB:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "RRC_ENB");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_S1AP_ENB:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "S1AP_ENB");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_MME_GW) || (envP == MSC_MME)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_GTPU_ENB:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "GTPU_ENB");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_GTPU_SGW:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "GTPU_SGW");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_MME_GW) || (envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_S1AP_MME:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "S1AP_MME");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_MME_GW) || (envP == MSC_MME) || (envP == MSC_E_UTRAN) || (envP == MSC_E_UTRAN_LIPA)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_MMEAPP_MME:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "MME_APP");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_MME_GW) || (envP == MSC_MME)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_NAS_MME:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "NAS_MME");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_NAS_EMM_MME:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "NAS_EMM");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_MME_GW) || (envP == MSC_MME)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_NAS_ESM_MME:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "NAS_ESM");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_MME_GW) || (envP == MSC_MME)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_SP_GWAPP_MME:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "SP_GW_MME");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (envP == MSC_MME_GW) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_S11_MME:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "S11_MME");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (envP == MSC_MME) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_S6A_MME:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "S6A");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_MME_GW) || (envP == MSC_MME)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MSC_HSS:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "HSS");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((envP == MSC_MME_GW) || (envP == MSC_MME)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case MSC_F1AP_CU:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "F1AP_CU");
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;}
|
|
||||||
//if ((envP == MSC_E_UTRAN) || (envP == MSC_MME_GW) || (envP == MSC_MME)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
//}
|
|
||||||
break;
|
|
||||||
case MSC_F1AP_DU:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "F1AP_DU");
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;}
|
|
||||||
//if ((envP == MSC_E_UTRAN) || (envP == MSC_MME_GW) || (envP == MSC_MME)) {
|
|
||||||
msc_log_declare_proto(i);
|
|
||||||
//}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
rv = snprintf(&g_msc_proto2str[i][0], MSC_MAX_PROTO_NAME_LENGTH, "UNKNOWN");
|
|
||||||
|
|
||||||
if (rv >= MSC_MAX_PROTO_NAME_LENGTH) {
|
|
||||||
g_msc_proto2str[i][MSC_MAX_PROTO_NAME_LENGTH-1] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rv = itti_create_task (TASK_MSC, msc_task, NULL);
|
|
||||||
AssertFatal (rv == 0, "Create task for MSC failed!\n");
|
|
||||||
fprintf(stderr, "Initializing MSC logs Done\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
void msc_start_use(void)
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
{
|
|
||||||
lfds611_queue_use(g_msc_message_queue_p);
|
|
||||||
lfds611_stack_use(g_msc_memory_stack_p);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
void msc_flush_messages(void)
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
{
|
|
||||||
int rv;
|
|
||||||
msc_queue_item_t *item_p = NULL;
|
|
||||||
|
|
||||||
while ((rv = lfds611_queue_dequeue( g_msc_message_queue_p, (void **)&item_p )) == 1) {
|
|
||||||
if (NULL != item_p->message_str) {
|
|
||||||
fputs(item_p->message_str, g_msc_fd);
|
|
||||||
// TODO BIN DATA
|
|
||||||
rv = lfds611_stack_guaranteed_push( g_msc_memory_stack_p, item_p->message_str );
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO FREE BIN DATA
|
|
||||||
free(item_p);
|
|
||||||
}
|
|
||||||
|
|
||||||
fflush(g_msc_fd);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
void msc_end(void)
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
{
|
|
||||||
int rv;
|
|
||||||
|
|
||||||
if (NULL != g_msc_fd ) {
|
|
||||||
msc_flush_messages();
|
|
||||||
rv = fflush(g_msc_fd);
|
|
||||||
|
|
||||||
if (rv != 0) {
|
|
||||||
fprintf(stderr, "Error while flushing stream of MSC log file: %s", strerror(errno));
|
|
||||||
}
|
|
||||||
|
|
||||||
rv = fclose(g_msc_fd);
|
|
||||||
|
|
||||||
if (rv != 0) {
|
|
||||||
fprintf(stderr, "Error while closing MSC log file: %s", strerror(errno));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
void msc_log_declare_proto(
|
|
||||||
const msc_proto_t protoP
|
|
||||||
)
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
{
|
|
||||||
int rv = 0;
|
|
||||||
msc_queue_item_t *new_item_p = NULL;
|
|
||||||
char *char_message_p = NULL;
|
|
||||||
|
|
||||||
if ((MIN_MSC_PROTOS <= protoP) && (MAX_MSC_PROTOS > protoP)) {
|
|
||||||
// may be build a memory pool for that also ?
|
|
||||||
new_item_p = malloc(sizeof(msc_queue_item_t));
|
|
||||||
|
|
||||||
if (NULL != new_item_p) {
|
|
||||||
rv = lfds611_stack_pop(g_msc_memory_stack_p, (void **)&char_message_p);
|
|
||||||
|
|
||||||
if (0 == rv) {
|
|
||||||
msc_flush_messages();
|
|
||||||
rv = lfds611_stack_pop(g_msc_memory_stack_p, (void **)&char_message_p);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (1 == rv) {
|
|
||||||
rv = snprintf(char_message_p, MSC_MAX_MESSAGE_LENGTH, "%"PRIu64" [PROTO] %d %s\n", __sync_fetch_and_add (&g_message_number, 1), protoP, &g_msc_proto2str[protoP][0]);
|
|
||||||
|
|
||||||
if (0 > rv) {
|
|
||||||
fprintf(stderr, "Error while declaring new protocol in MSC: %s", strerror(errno));
|
|
||||||
}
|
|
||||||
|
|
||||||
new_item_p->message_str = char_message_p;
|
|
||||||
new_item_p->message_str_size = rv;
|
|
||||||
new_item_p->message_bin = NULL;
|
|
||||||
new_item_p->message_bin_size = 0;
|
|
||||||
rv = lfds611_queue_enqueue( g_msc_message_queue_p, new_item_p );
|
|
||||||
|
|
||||||
if (0 == rv) {
|
|
||||||
rv = lfds611_queue_guaranteed_enqueue(g_msc_message_queue_p, new_item_p );
|
|
||||||
|
|
||||||
if (0 == rv) {
|
|
||||||
fprintf(stderr, "Error while lfds611_queue_guaranteed_enqueue message %s in MSC", char_message_p);
|
|
||||||
rv = lfds611_stack_guaranteed_push( g_msc_memory_stack_p, char_message_p );
|
|
||||||
free(new_item_p);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
fprintf(stderr, "Error while lfds611_stack_pop()\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
free(new_item_p);
|
|
||||||
} else {
|
|
||||||
fprintf(stderr, "Error while malloc in MSC");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
void msc_log_event(
|
|
||||||
const msc_proto_t protoP,
|
|
||||||
char *format, ...)
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
{
|
|
||||||
va_list args;
|
|
||||||
int rv;
|
|
||||||
int rv2;
|
|
||||||
msc_queue_item_t *new_item_p = NULL;
|
|
||||||
char *char_message_p = NULL;
|
|
||||||
|
|
||||||
if ((MIN_MSC_PROTOS > protoP) || (MAX_MSC_PROTOS <= protoP)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
new_item_p = malloc(sizeof(msc_queue_item_t));
|
|
||||||
|
|
||||||
if (NULL != new_item_p) {
|
|
||||||
rv = lfds611_stack_pop(g_msc_memory_stack_p, (void **)&char_message_p);
|
|
||||||
|
|
||||||
if (0 == rv) {
|
|
||||||
msc_flush_messages();
|
|
||||||
rv = lfds611_stack_pop(g_msc_memory_stack_p, (void **)&char_message_p);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (1 == rv) {
|
|
||||||
rv = snprintf(char_message_p, MSC_MAX_MESSAGE_LENGTH, "%"PRIu64" [EVENT] %d ", __sync_fetch_and_add (&g_message_number, 1), protoP);
|
|
||||||
|
|
||||||
if ((0 > rv) || (MSC_MAX_MESSAGE_LENGTH < rv)) {
|
|
||||||
fprintf(stderr, "Error while logging MSC event : %s", &g_msc_proto2str[protoP][0]);
|
|
||||||
goto error_event;
|
|
||||||
}
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
rv2 = vsnprintf(&char_message_p[rv],MSC_MAX_MESSAGE_LENGTH - rv, format, args);
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
if ((0 > rv2) || ((MSC_MAX_MESSAGE_LENGTH - rv) < rv2)) {
|
|
||||||
fprintf(stderr, "Error while logging MSC event : %s", &g_msc_proto2str[protoP][0]);
|
|
||||||
goto error_event;
|
|
||||||
}
|
|
||||||
|
|
||||||
rv += rv2;
|
|
||||||
rv2 = snprintf(&char_message_p[rv],MSC_MAX_MESSAGE_LENGTH - rv, "\n");
|
|
||||||
|
|
||||||
if ((0 > rv2) || ((MSC_MAX_MESSAGE_LENGTH - rv) < rv2)) {
|
|
||||||
fprintf(stderr, "Error while logging MSC event : %s", &g_msc_proto2str[protoP][0]);
|
|
||||||
goto error_event;
|
|
||||||
}
|
|
||||||
|
|
||||||
rv += rv2;
|
|
||||||
new_item_p->message_str = char_message_p;
|
|
||||||
new_item_p->message_str_size = rv;
|
|
||||||
new_item_p->message_bin = NULL;
|
|
||||||
new_item_p->message_bin_size = 0;
|
|
||||||
rv = lfds611_queue_enqueue( g_msc_message_queue_p, new_item_p );
|
|
||||||
|
|
||||||
if (0 == rv) {
|
|
||||||
fprintf(stderr, "Error while lfds611_queue_guaranteed_enqueue message %s in MSC", char_message_p);
|
|
||||||
rv = lfds611_stack_guaranteed_push( g_msc_memory_stack_p, char_message_p );
|
|
||||||
free(new_item_p);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
fprintf(stderr, "Error while lfds611_stack_pop()\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
error_event:
|
|
||||||
rv = lfds611_stack_guaranteed_push( g_msc_memory_stack_p, char_message_p );
|
|
||||||
free(new_item_p);
|
|
||||||
}
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
void msc_log_message(
|
|
||||||
const char *const message_operationP,
|
|
||||||
const msc_proto_t proto1P,
|
|
||||||
const msc_proto_t proto2P,
|
|
||||||
const uint8_t *const bytesP,
|
|
||||||
const unsigned int num_bytes,
|
|
||||||
char *format, ...)
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
{
|
|
||||||
va_list args;
|
|
||||||
uint64_t mac = 0; // TO DO mac on bytesP param
|
|
||||||
int rv;
|
|
||||||
int rv2;
|
|
||||||
msc_queue_item_t *new_item_p = NULL;
|
|
||||||
char *char_message_p = NULL;
|
|
||||||
|
|
||||||
if ((MIN_MSC_PROTOS > proto1P) || (MAX_MSC_PROTOS <= proto1P) ||
|
|
||||||
(MIN_MSC_PROTOS > proto2P) || (MAX_MSC_PROTOS <= proto2P) ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
new_item_p = malloc(sizeof(msc_queue_item_t));
|
|
||||||
|
|
||||||
if (NULL != new_item_p) {
|
|
||||||
rv = lfds611_stack_pop(g_msc_memory_stack_p, (void **)&char_message_p);
|
|
||||||
|
|
||||||
if (0 == rv) {
|
|
||||||
msc_flush_messages();
|
|
||||||
rv = lfds611_stack_pop(g_msc_memory_stack_p, (void **)&char_message_p);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (1 == rv) {
|
|
||||||
rv = snprintf(char_message_p, MSC_MAX_MESSAGE_LENGTH, "%"PRIu64" [MESSAGE] %d %s %d %"PRIu64" ",
|
|
||||||
__sync_fetch_and_add (&g_message_number, 1), proto1P, message_operationP, proto2P, mac);
|
|
||||||
|
|
||||||
if ((0 > rv) || (MSC_MAX_MESSAGE_LENGTH < rv)) {
|
|
||||||
fprintf(stderr, "Error while logging MSC message : %s/%s", &g_msc_proto2str[proto1P][0], &g_msc_proto2str[proto2P][0]);
|
|
||||||
goto error_event;
|
|
||||||
}
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
rv2 = vsnprintf(&char_message_p[rv],MSC_MAX_MESSAGE_LENGTH - rv, format, args);
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
if ((0 > rv2) || ((MSC_MAX_MESSAGE_LENGTH - rv) < rv2)) {
|
|
||||||
fprintf(stderr, "Error while logging MSC message : %s/%s", &g_msc_proto2str[proto1P][0], &g_msc_proto2str[proto2P][0]);
|
|
||||||
goto error_event;
|
|
||||||
}
|
|
||||||
|
|
||||||
rv += rv2;
|
|
||||||
rv2 = snprintf(&char_message_p[rv],MSC_MAX_MESSAGE_LENGTH - rv, "\n");
|
|
||||||
|
|
||||||
if ((0 > rv2) || ((MSC_MAX_MESSAGE_LENGTH - rv) < rv2)) {
|
|
||||||
fprintf(stderr, "Error while logging MSC message : %s/%s", &g_msc_proto2str[proto1P][0], &g_msc_proto2str[proto2P][0]);
|
|
||||||
goto error_event;
|
|
||||||
}
|
|
||||||
|
|
||||||
rv += rv2;
|
|
||||||
new_item_p->message_str = char_message_p;
|
|
||||||
new_item_p->message_str_size = rv;
|
|
||||||
new_item_p->message_bin = NULL; // TO DO
|
|
||||||
new_item_p->message_bin_size = 0; // TO DO
|
|
||||||
rv = lfds611_queue_enqueue( g_msc_message_queue_p, new_item_p );
|
|
||||||
|
|
||||||
if (0 == rv) {
|
|
||||||
fprintf(stderr, "Error while lfds611_queue_guaranteed_enqueue message %s in MSC", char_message_p);
|
|
||||||
rv = lfds611_stack_guaranteed_push( g_msc_memory_stack_p, char_message_p );
|
|
||||||
free(new_item_p);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
fprintf(stderr, "Error while lfds611_stack_pop()\n");
|
|
||||||
msc_flush_messages();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
error_event:
|
|
||||||
rv = lfds611_stack_guaranteed_push( g_msc_memory_stack_p, char_message_p );
|
|
||||||
free(new_item_p);
|
|
||||||
}
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// function called when oai loader loads the msc shared lib
|
|
||||||
int msc_autoinit(msc_interface_t *msc_interface)
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
{
|
|
||||||
msc_interface->msc_init = msc_init;
|
|
||||||
msc_interface->msc_start_use = msc_start_use;
|
|
||||||
msc_interface->msc_end = msc_end;
|
|
||||||
msc_interface->msc_log_event = msc_log_event;
|
|
||||||
msc_interface->msc_log_message = msc_log_message;
|
|
||||||
msc_interface->msc_loaded = 1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,131 +0,0 @@
|
|||||||
/*
|
|
||||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
|
||||||
* this work for additional information regarding copyright ownership.
|
|
||||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
|
||||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
|
||||||
* except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.openairinterface.org/?page_id=698
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*-------------------------------------------------------------------------------
|
|
||||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
|
||||||
* contact@openairinterface.org
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef MSC_H_
|
|
||||||
#define MSC_H_
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
MIN_MSC_ENV = 0,
|
|
||||||
MSC_E_UTRAN = MIN_MSC_ENV,
|
|
||||||
MSC_E_UTRAN_LIPA,
|
|
||||||
MSC_MME_GW,
|
|
||||||
MSC_MME,
|
|
||||||
MSC_SP_GW,
|
|
||||||
MAX_MSC_ENV
|
|
||||||
} msc_env_t;
|
|
||||||
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
MIN_MSC_PROTOS = 0,
|
|
||||||
MSC_IP_UE = MIN_MSC_PROTOS,
|
|
||||||
MSC_NAS_UE,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
MSC_PDCP_UE,
|
|
||||||
MSC_RLC_UE,
|
|
||||||
MSC_MAC_UE,
|
|
||||||
MSC_PHY_UE,
|
|
||||||
MSC_PHY_ENB,
|
|
||||||
MSC_MAC_ENB,
|
|
||||||
MSC_RLC_ENB,
|
|
||||||
MSC_PDCP_ENB,
|
|
||||||
MSC_PDCP_GNB,
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_IP_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
MSC_NGAP_GNB,
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_GTPU_GNB,
|
|
||||||
MSC_GTPU_SGW,
|
|
||||||
MSC_S1AP_MME,
|
|
||||||
MSC_NGAP_AMF,
|
|
||||||
MSC_MMEAPP_MME,
|
|
||||||
MSC_NAS_MME,
|
|
||||||
MSC_NAS_EMM_MME,
|
|
||||||
MSC_NAS_ESM_MME,
|
|
||||||
MSC_SP_GWAPP_MME,
|
|
||||||
MSC_S11_MME,
|
|
||||||
MSC_S6A_MME,
|
|
||||||
MSC_HSS,
|
|
||||||
MSC_F1AP_CU,
|
|
||||||
MSC_F1AP_DU,
|
|
||||||
MSC_X2AP_SRC_ENB,
|
|
||||||
MSC_X2AP_TARGET_ENB,
|
|
||||||
MAX_MSC_PROTOS,
|
|
||||||
} msc_proto_t;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Access stratum
|
|
||||||
#define MSC_AS_TIME_FMT "%05u:%02u"
|
|
||||||
|
|
||||||
#define MSC_AS_TIME_ARGS(CTXT_Pp) \
|
|
||||||
(CTXT_Pp)->frame, \
|
|
||||||
(CTXT_Pp)->subframe
|
|
||||||
|
|
||||||
typedef int(*msc_init_t)(const msc_env_t, const int );
|
|
||||||
typedef void(*msc_start_use_t)(void );
|
|
||||||
typedef void(*msc_end_t)(void);
|
|
||||||
typedef void(*msc_log_event_t)(const msc_proto_t,char *, ...);
|
|
||||||
typedef void(*msc_log_message_t)(const char *const, const msc_proto_t, const msc_proto_t,
|
|
||||||
const uint8_t *const, const unsigned int, char *, ...);
|
|
||||||
typedef struct msc_interface {
|
|
||||||
int msc_loaded;
|
|
||||||
msc_init_t msc_init;
|
|
||||||
msc_start_use_t msc_start_use;
|
|
||||||
msc_end_t msc_end;
|
|
||||||
msc_log_event_t msc_log_event;
|
|
||||||
msc_log_message_t msc_log_message;
|
|
||||||
} msc_interface_t;
|
|
||||||
|
|
||||||
#ifdef MSC_LIBRARY
|
|
||||||
int msc_init(const msc_env_t envP, const int max_threadsP);
|
|
||||||
void msc_start_use(void);
|
|
||||||
void msc_flush_messages(void);
|
|
||||||
void msc_end(void);
|
|
||||||
void msc_log_declare_proto(const msc_proto_t protoP);
|
|
||||||
void msc_log_event(const msc_proto_t protoP,char *format, ...);
|
|
||||||
void msc_log_message(
|
|
||||||
const char *const message_operationP,
|
|
||||||
const msc_proto_t receiverP,
|
|
||||||
const msc_proto_t senderP,
|
|
||||||
const uint8_t *const bytesP,
|
|
||||||
const unsigned int num_bytes,
|
|
||||||
char *format, ...);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#define MESSAGE_CHART_GENERATOR msc_interface.msc_loaded
|
|
||||||
|
|
||||||
extern msc_interface_t msc_interface;
|
|
||||||
#define MSC_INIT(arg1,arg2) if(msc_interface.msc_loaded) msc_interface.msc_init(arg1,arg2)
|
|
||||||
#define MSC_START_USE if(msc_interface.msc_loaded) msc_interface.msc_start_use
|
|
||||||
#define MSC_END if(msc_interface.msc_loaded) msc_interface.msc_end
|
|
||||||
#define MSC_LOG_EVENT(mScPaRaMs, fORMAT, aRGS...) if(msc_interface.msc_loaded) msc_interface.msc_log_event(mScPaRaMs, fORMAT, ##aRGS)
|
|
||||||
#define MSC_LOG_RX_MESSAGE(rECEIVER, sENDER, bYTES, nUMbYTES, fORMAT, aRGS...) if(msc_interface.msc_loaded) msc_interface.msc_log_message("<-",rECEIVER, sENDER, (const uint8_t *)bYTES, nUMbYTES, fORMAT, ##aRGS)
|
|
||||||
#define MSC_LOG_RX_DISCARDED_MESSAGE(rECEIVER, sENDER, bYTES, nUMbYTES, fORMAT, aRGS...) if(msc_interface.msc_loaded) msc_interface.msc_log_message("x-",rECEIVER, sENDER, (const uint8_t *)bYTES, nUMbYTES, fORMAT, ##aRGS)
|
|
||||||
#define MSC_LOG_TX_MESSAGE(sENDER, rECEIVER, bYTES, nUMbYTES, fORMAT, aRGS...) if(msc_interface.msc_loaded) msc_interface.msc_log_message("->",sENDER, rECEIVER, (const uint8_t *)bYTES, nUMbYTES, fORMAT, ##aRGS)
|
|
||||||
#define MSC_LOG_TX_MESSAGE_FAILED(sENDER, rECEIVER, bYTES, nUMbYTES, fORMAT, aRGS...) if(msc_interface.msc_loaded) msc_interface.msc_log_message("-x",sENDER, rECEIVER, (const uint8_t *)bYTES, nUMbYTES, fORMAT, ##aRGS)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -338,7 +338,6 @@ void *rrc_enb_process_msg(void *);
|
|||||||
TASK_DEF(TASK_RRC_NRUE, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
TASK_DEF(TASK_RRC_NRUE, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
||||||
TASK_DEF(TASK_NAS_UE, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
TASK_DEF(TASK_NAS_UE, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
||||||
TASK_DEF(TASK_RAL_UE, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
TASK_DEF(TASK_RAL_UE, TASK_PRIORITY_MED, 200, NULL, NULL) \
|
||||||
TASK_DEF(TASK_MSC, TASK_PRIORITY_MED, 200, NULL, NULL)\
|
|
||||||
TASK_DEF(TASK_GTPV1_U, TASK_PRIORITY_MED, 1000,NULL, NULL)\
|
TASK_DEF(TASK_GTPV1_U, TASK_PRIORITY_MED, 1000,NULL, NULL)\
|
||||||
TASK_DEF(OCP_GTPV1_U, TASK_PRIORITY_MED, 1000,NULL, NULL)\
|
TASK_DEF(OCP_GTPV1_U, TASK_PRIORITY_MED, 1000,NULL, NULL)\
|
||||||
TASK_DEF(TASK_UDP, TASK_PRIORITY_MED, 1000, NULL, NULL)\
|
TASK_DEF(TASK_UDP, TASK_PRIORITY_MED, 1000, NULL, NULL)\
|
||||||
@@ -560,7 +559,6 @@ MessageDef *itti_alloc_new_message_sized(
|
|||||||
This function should be called from the main thread after having created all ITTI tasks.
|
This function should be called from the main thread after having created all ITTI tasks.
|
||||||
**/
|
**/
|
||||||
void itti_wait_tasks_end(void);
|
void itti_wait_tasks_end(void);
|
||||||
#define ADDED_QUEUES_MAX 10 // Fix me: MSC component too hard to understand, we keep room for 10 queues created dynamically
|
|
||||||
void itti_set_task_real_time(task_id_t task_id);
|
void itti_set_task_real_time(task_id_t task_id);
|
||||||
|
|
||||||
/** \brief Send a termination message to all tasks.
|
/** \brief Send a termination message to all tasks.
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ component verbosity level enabled
|
|||||||
16 PERF: medium info N
|
16 PERF: medium info N
|
||||||
17 OIP: medium info N
|
17 OIP: medium info N
|
||||||
18 CLI: medium info N
|
18 CLI: medium info N
|
||||||
19 MSC: medium info N
|
|
||||||
20 OCM: medium info N
|
20 OCM: medium info N
|
||||||
21 UDP: medium info N
|
21 UDP: medium info N
|
||||||
22 GTPV1U: medium info N
|
22 GTPV1U: medium info N
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ ITTI init, useMME: 1
|
|||||||
[0m[0m[TMR] Starting itti queue: TASK_RRC_UE as task 31
|
[0m[0m[TMR] Starting itti queue: TASK_RRC_UE as task 31
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_NAS_UE as task 32
|
[0m[0m[TMR] Starting itti queue: TASK_NAS_UE as task 32
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_RAL_UE as task 33
|
[0m[0m[TMR] Starting itti queue: TASK_RAL_UE as task 33
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_MSC as task 34
|
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_GTPV1_U as task 35
|
[0m[0m[TMR] Starting itti queue: TASK_GTPV1_U as task 35
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_UDP as task 36
|
[0m[0m[TMR] Starting itti queue: TASK_UDP as task 36
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_CU_F1 as task 37
|
[0m[0m[TMR] Starting itti queue: TASK_CU_F1 as task 37
|
||||||
|
|||||||
@@ -58,7 +58,6 @@ CPU Freq is 3.092986
|
|||||||
[0m[0m[TMR] Starting itti queue: TASK_RRC_UE as task 31
|
[0m[0m[TMR] Starting itti queue: TASK_RRC_UE as task 31
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_NAS_UE as task 32
|
[0m[0m[TMR] Starting itti queue: TASK_NAS_UE as task 32
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_RAL_UE as task 33
|
[0m[0m[TMR] Starting itti queue: TASK_RAL_UE as task 33
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_MSC as task 34
|
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_GTPV1_U as task 35
|
[0m[0m[TMR] Starting itti queue: TASK_GTPV1_U as task 35
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_UDP as task 36
|
[0m[0m[TMR] Starting itti queue: TASK_UDP as task 36
|
||||||
[0m[0m[TMR] Starting itti queue: TASK_CU_F1 as task 37
|
[0m[0m[TMR] Starting itti queue: TASK_CU_F1 as task 37
|
||||||
|
|||||||
@@ -104,7 +104,6 @@
|
|||||||
#define CONFIG_HLP_LOGL "Set the global log level, valid options: (4:trace, 3:debug, 2:info, 1:warn, (0:error))\n"
|
#define CONFIG_HLP_LOGL "Set the global log level, valid options: (4:trace, 3:debug, 2:info, 1:warn, (0:error))\n"
|
||||||
#define CONFIG_HLP_LOGV "Set the global log verbosity \n"
|
#define CONFIG_HLP_LOGV "Set the global log verbosity \n"
|
||||||
#define CONFIG_HLP_TELN "Start embedded telnet server \n"
|
#define CONFIG_HLP_TELN "Start embedded telnet server \n"
|
||||||
#define CONFIG_HLP_MSC "Enable the MSC tracing utility \n"
|
|
||||||
#define CONFIG_HLP_SNR "Set average SNR in dB (for --siml1 option)\n"
|
#define CONFIG_HLP_SNR "Set average SNR in dB (for --siml1 option)\n"
|
||||||
#define CONFIG_HLP_NOS1 "Disable s1 interface\n"
|
#define CONFIG_HLP_NOS1 "Disable s1 interface\n"
|
||||||
#define CONFIG_HLP_NOKRNMOD "(noS1 only): Use tun instead of namesh module \n"
|
#define CONFIG_HLP_NOKRNMOD "(noS1 only): Use tun instead of namesh module \n"
|
||||||
@@ -112,13 +111,11 @@
|
|||||||
/* command line parameters for LOG utility */
|
/* command line parameters for LOG utility */
|
||||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||||
/*--------------------------------------------------------------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
#define START_MSC softmodem_params.start_msc
|
|
||||||
#define CMDLINE_LOGPARAMS_DESC_NR { \
|
#define CMDLINE_LOGPARAMS_DESC_NR { \
|
||||||
{"R" , CONFIG_HLP_FLOG, 0, uptr:&online_log_messages, defintval:1, TYPE_INT, 0}, \
|
{"R" , CONFIG_HLP_FLOG, 0, uptr:&online_log_messages, defintval:1, TYPE_INT, 0}, \
|
||||||
{"g" , CONFIG_HLP_LOGL, 0, uptr:&glog_level, defintval:0, TYPE_UINT, 0}, \
|
{"g" , CONFIG_HLP_LOGL, 0, uptr:&glog_level, defintval:0, TYPE_UINT, 0}, \
|
||||||
{"G" , CONFIG_HLP_LOGV, 0, uptr:&glog_verbosity, defintval:0, TYPE_UINT16, 0}, \
|
{"G" , CONFIG_HLP_LOGV, 0, uptr:&glog_verbosity, defintval:0, TYPE_UINT16, 0}, \
|
||||||
{"telnetsrv", CONFIG_HLP_TELN, PARAMFLAG_BOOL, uptr:&start_telnetsrv, defintval:0, TYPE_UINT, 0}, \
|
{"telnetsrv", CONFIG_HLP_TELN, PARAMFLAG_BOOL, uptr:&start_telnetsrv, defintval:0, TYPE_UINT, 0}, \
|
||||||
{"msc", CONFIG_HLP_MSC, PARAMFLAG_BOOL, uptr:&START_MSC, defintval:0, TYPE_UINT, 0}, \
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define CMDLINE_ONLINELOG_IDX 0
|
#define CMDLINE_ONLINELOG_IDX 0
|
||||||
|
|||||||
@@ -29,8 +29,6 @@
|
|||||||
#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
|
#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||||
#include <common/utils/assertions.h>
|
#include <common/utils/assertions.h>
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include "PHY/types.h"
|
#include "PHY/types.h"
|
||||||
#include "common/ran_context.h"
|
#include "common/ran_context.h"
|
||||||
|
|
||||||
@@ -684,7 +682,6 @@ int main( int argc, char **argv ) {
|
|||||||
cpuf=get_cpu_freq_GHz();
|
cpuf=get_cpu_freq_GHz();
|
||||||
itti_init(TASK_MAX, tasks_info);
|
itti_init(TASK_MAX, tasks_info);
|
||||||
// initialize mscgen log after ITTI
|
// initialize mscgen log after ITTI
|
||||||
MSC_INIT(MSC_E_UTRAN, ADDED_QUEUES_MAX+TASK_MAX);
|
|
||||||
init_opt();
|
init_opt();
|
||||||
if(PDCP_USE_NETLINK && !IS_SOFTMODEM_NOS1) {
|
if(PDCP_USE_NETLINK && !IS_SOFTMODEM_NOS1) {
|
||||||
netlink_init();
|
netlink_init();
|
||||||
|
|||||||
@@ -93,7 +93,6 @@ time_stats_t softmodem_stats_rx_sf; // total rx time
|
|||||||
// not used but needed for link
|
// not used but needed for link
|
||||||
openair0_config_t openair0_cfg[MAX_CARDS];
|
openair0_config_t openair0_cfg[MAX_CARDS];
|
||||||
uint16_t slot_ahead=6;
|
uint16_t slot_ahead=6;
|
||||||
msc_interface_t msc_interface;
|
|
||||||
AGENT_RRC_xface *agent_rrc_xface[NUM_MAX_ENB];
|
AGENT_RRC_xface *agent_rrc_xface[NUM_MAX_ENB];
|
||||||
AGENT_MAC_xface *agent_mac_xface[NUM_MAX_ENB];
|
AGENT_MAC_xface *agent_mac_xface[NUM_MAX_ENB];
|
||||||
int flexran_agent_start(mid_t mod_id) {
|
int flexran_agent_start(mid_t mod_id) {
|
||||||
|
|||||||
@@ -45,7 +45,6 @@
|
|||||||
static softmodem_params_t softmodem_params;
|
static softmodem_params_t softmodem_params;
|
||||||
char *parallel_config=NULL;
|
char *parallel_config=NULL;
|
||||||
char *worker_config=NULL;
|
char *worker_config=NULL;
|
||||||
msc_interface_t msc_interface;
|
|
||||||
int usrp_tx_thread = 0;
|
int usrp_tx_thread = 0;
|
||||||
|
|
||||||
uint8_t nfapi_mode=0;
|
uint8_t nfapi_mode=0;
|
||||||
|
|||||||
@@ -173,19 +173,16 @@ extern int usrp_tx_thread;
|
|||||||
#define CONFIG_HLP_LOGL "Set the global log level, valid options: (4:trace, 3:debug, 2:info, 1:warn, (0:error))\n"
|
#define CONFIG_HLP_LOGL "Set the global log level, valid options: (4:trace, 3:debug, 2:info, 1:warn, (0:error))\n"
|
||||||
#define CONFIG_HLP_LOGV "Set the global log verbosity \n"
|
#define CONFIG_HLP_LOGV "Set the global log verbosity \n"
|
||||||
#define CONFIG_HLP_TELN "Start embedded telnet server \n"
|
#define CONFIG_HLP_TELN "Start embedded telnet server \n"
|
||||||
#define CONFIG_HLP_MSC "Enable the MSC tracing utility \n"
|
|
||||||
#define CONFIG_FLOG_OPT "R"
|
#define CONFIG_FLOG_OPT "R"
|
||||||
#define CONFIG_LOGL_OPT "g"
|
#define CONFIG_LOGL_OPT "g"
|
||||||
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
/* command line parameters for LOG utility */
|
/* command line parameters for LOG utility */
|
||||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||||
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
#define START_MSC softmodem_params.start_msc
|
|
||||||
#define CMDLINE_LOGPARAMS_DESC { \
|
#define CMDLINE_LOGPARAMS_DESC { \
|
||||||
{CONFIG_FLOG_OPT , CONFIG_HLP_FLOG, 0, uptr:&online_log_messages, defintval:1, TYPE_INT, 0}, \
|
{CONFIG_FLOG_OPT , CONFIG_HLP_FLOG, 0, uptr:&online_log_messages, defintval:1, TYPE_INT, 0}, \
|
||||||
{CONFIG_LOGL_OPT , CONFIG_HLP_LOGL, 0, uptr:&glog_level, defintval:0, TYPE_UINT, 0}, \
|
{CONFIG_LOGL_OPT , CONFIG_HLP_LOGL, 0, uptr:&glog_level, defintval:0, TYPE_UINT, 0}, \
|
||||||
{"telnetsrv", CONFIG_HLP_TELN, PARAMFLAG_BOOL, uptr:&start_telnetsrv, defintval:0, TYPE_UINT, 0}, \
|
{"telnetsrv", CONFIG_HLP_TELN, PARAMFLAG_BOOL, uptr:&start_telnetsrv, defintval:0, TYPE_UINT, 0}, \
|
||||||
{"msc", CONFIG_HLP_MSC, PARAMFLAG_BOOL, uptr:&START_MSC, defintval:0, TYPE_UINT, 0}, \
|
|
||||||
{"log-mem", NULL, 0, strptr:(char **)&logmem_filename, defstrval:NULL, TYPE_STRING, 0}, \
|
{"log-mem", NULL, 0, strptr:(char **)&logmem_filename, defstrval:NULL, TYPE_STRING, 0}, \
|
||||||
{"telnetclt", NULL, 0, uptr:&start_telnetclt, defstrval:NULL, TYPE_UINT, 0}, \
|
{"telnetclt", NULL, 0, uptr:&start_telnetclt, defstrval:NULL, TYPE_UINT, 0}, \
|
||||||
}
|
}
|
||||||
@@ -250,7 +247,6 @@ typedef struct {
|
|||||||
int chain_offset;
|
int chain_offset;
|
||||||
int numerology;
|
int numerology;
|
||||||
int band;
|
int band;
|
||||||
unsigned int start_msc;
|
|
||||||
uint32_t clock_source;
|
uint32_t clock_source;
|
||||||
uint32_t timing_source;
|
uint32_t timing_source;
|
||||||
int hw_timing_advance;
|
int hw_timing_advance;
|
||||||
|
|||||||
@@ -415,10 +415,8 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
|
|||||||
fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig,
|
fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig,
|
||||||
fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset
|
fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset
|
||||||
);
|
);
|
||||||
LOG_D(PHY,"[MSC_NEW][FRAME 00000][PHY_eNB][MOD %02"PRIu8"][]\n", eNB->Mod_id);
|
|
||||||
LOG_I (PHY, "[eNB %" PRIu8 "] Initializing DL_FRAME_PARMS : N_RB_DL %" PRIu8 ", PHICH Resource %d, PHICH Duration %d\n",
|
LOG_I (PHY, "[eNB %" PRIu8 "] Initializing DL_FRAME_PARMS : N_RB_DL %" PRIu8 ", PHICH Resource %d, PHICH Duration %d\n",
|
||||||
eNB->Mod_id, fp->N_RB_DL, fp->phich_config_common.phich_resource, fp->phich_config_common.phich_duration);
|
eNB->Mod_id, fp->N_RB_DL, fp->phich_config_common.phich_resource, fp->phich_config_common.phich_duration);
|
||||||
LOG_D (PHY, "[MSC_NEW][FRAME 00000][PHY_eNB][MOD %02" PRIu8 "][]\n", eNB->Mod_id);
|
|
||||||
crcTableInit();
|
crcTableInit();
|
||||||
lte_gold (fp, eNB->lte_gold_table, fp->Nid_cell);
|
lte_gold (fp, eNB->lte_gold_table, fp->Nid_cell);
|
||||||
generate_pcfich_reg_mapping (fp);
|
generate_pcfich_reg_mapping (fp);
|
||||||
|
|||||||
@@ -104,7 +104,6 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
|
|||||||
|
|
||||||
load_dftslib();
|
load_dftslib();
|
||||||
|
|
||||||
LOG_D(PHY,"[MSC_NEW][FRAME 00000][PHY_gNB][MOD %02"PRIu8"][]\n", gNB->Mod_id);
|
|
||||||
crcTableInit();
|
crcTableInit();
|
||||||
init_scrambling_luts();
|
init_scrambling_luts();
|
||||||
init_pucch2_luts();
|
init_pucch2_luts();
|
||||||
|
|||||||
@@ -145,7 +145,6 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue,
|
|||||||
int n_scid;
|
int n_scid;
|
||||||
abstraction_flag = 0;
|
abstraction_flag = 0;
|
||||||
LOG_I(PHY, "Initializing UE vars (abstraction %u) for gNB TXant %u, UE RXant %u\n", abstraction_flag, fp->nb_antennas_tx, fp->nb_antennas_rx);
|
LOG_I(PHY, "Initializing UE vars (abstraction %u) for gNB TXant %u, UE RXant %u\n", abstraction_flag, fp->nb_antennas_tx, fp->nb_antennas_rx);
|
||||||
//LOG_D(PHY,"[MSC_NEW][FRAME 00000][PHY_UE][MOD %02u][]\n", ue->Mod_id+NB_gNB_INST);
|
|
||||||
phy_init_nr_top(ue);
|
phy_init_nr_top(ue);
|
||||||
// many memory allocation sizes are hard coded
|
// many memory allocation sizes are hard coded
|
||||||
AssertFatal( fp->nb_antennas_rx <= 4, "hard coded allocation for ue_common_vars->dl_ch_estimates[gNB_id]" );
|
AssertFatal( fp->nb_antennas_rx <= 4, "hard coded allocation for ue_common_vars->dl_ch_estimates[gNB_id]" );
|
||||||
|
|||||||
@@ -55,7 +55,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "common_lib.h"
|
#include "common_lib.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include "defs_common.h"
|
#include "defs_common.h"
|
||||||
#include "impl_defs_top.h"
|
#include "impl_defs_top.h"
|
||||||
|
|||||||
@@ -54,7 +54,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "common_lib.h"
|
#include "common_lib.h"
|
||||||
#include "msc.h"
|
|
||||||
#include <common/utils/LOG/log.h>
|
#include <common/utils/LOG/log.h>
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,6 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "common_lib.h"
|
#include "common_lib.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "defs_common.h"
|
#include "defs_common.h"
|
||||||
#include "defs_RU.h"
|
#include "defs_RU.h"
|
||||||
#include "impl_defs_top.h"
|
#include "impl_defs_top.h"
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "common_lib.h"
|
#include "common_lib.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "fapi_nr_ue_interface.h"
|
#include "fapi_nr_ue_interface.h"
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@
|
|||||||
#include <nfapi/oai_integration/nfapi_pnf.h>
|
#include <nfapi/oai_integration/nfapi_pnf.h>
|
||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,6 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,6 @@
|
|||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "common/utils/system.h"
|
#include "common/utils/system.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,6 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
#include "T.h"
|
#include "T.h"
|
||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
// RU OFDM Modulator gNodeB
|
// RU OFDM Modulator gNodeB
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
#include "executables/softmodem-common.h"
|
#include "executables/softmodem-common.h"
|
||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
|||||||
@@ -72,13 +72,11 @@ openair0_config_t openair0_cfg[MAX_CARDS];
|
|||||||
uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
||||||
int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
||||||
uint16_t sl_ahead = 0;
|
uint16_t sl_ahead = 0;
|
||||||
msc_interface_t msc_interface;
|
|
||||||
uint32_t N_RB_DL = 106;
|
uint32_t N_RB_DL = 106;
|
||||||
|
|
||||||
//void dump_nr_prach_config(NR_DL_FRAME_PARMS *frame_parms,uint8_t subframe);
|
//void dump_nr_prach_config(NR_DL_FRAME_PARMS *frame_parms,uint8_t subframe);
|
||||||
|
|
||||||
/* temporary dummy implem of get_softmodem_optmask, till basic simulators implemented as device */
|
/* temporary dummy implem of get_softmodem_optmask, till basic simulators implemented as device */
|
||||||
msc_interface_t msc_interface;
|
|
||||||
uint64_t get_softmodem_optmask(void) {return 0;}
|
uint64_t get_softmodem_optmask(void) {return 0;}
|
||||||
softmodem_params_t *get_softmodem_params(void) {return 0;}
|
softmodem_params_t *get_softmodem_params(void) {return 0;}
|
||||||
int oai_nfapi_dl_tti_req(nfapi_nr_dl_tti_request_t *dl_config_req) { return(0); }
|
int oai_nfapi_dl_tti_req(nfapi_nr_dl_tti_request_t *dl_config_req) { return(0); }
|
||||||
|
|||||||
@@ -357,7 +357,6 @@
|
|||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#include "T.h"
|
#include "T.h"
|
||||||
#include "common/ran_context.h"
|
#include "common/ran_context.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
/* Checking version of ASN1C compiler */
|
/* Checking version of ASN1C compiler */
|
||||||
#if (ASN1C_ENVIRONMENT_VERSION < ASN1C_MINIMUM_VERSION)
|
#if (ASN1C_ENVIRONMENT_VERSION < ASN1C_MINIMUM_VERSION)
|
||||||
|
|||||||
@@ -481,14 +481,6 @@ int DU_handle_F1_SETUP_RESPONSE(instance_t instance,
|
|||||||
for (int i=0; i<num_cells_to_activate; i++)
|
for (int i=0; i<num_cells_to_activate; i++)
|
||||||
AssertFatal(F1AP_SETUP_RESP (msg_p).cells_to_activate[i].num_SI > 0, "System Information %d is missing",i);
|
AssertFatal(F1AP_SETUP_RESP (msg_p).cells_to_activate[i].num_SI > 0, "System Information %d is missing",i);
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_F1AP_DU,
|
|
||||||
MSC_F1AP_CU,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" DU_handle_F1_SETUP_RESPONSE successfulOutcome assoc_id %d",
|
|
||||||
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
assoc_id);
|
|
||||||
LOG_D(F1AP, "Sending F1AP_SETUP_RESP ITTI message\n");
|
LOG_D(F1AP, "Sending F1AP_SETUP_RESP ITTI message\n");
|
||||||
itti_send_msg_to_task(TASK_F1APP, GNB_MODULE_ID_TO_INSTANCE(assoc_id), msg_p);
|
itti_send_msg_to_task(TASK_F1APP, GNB_MODULE_ID_TO_INSTANCE(assoc_id), msg_p);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -910,14 +902,6 @@ int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance,
|
|||||||
AssertFatal(TransactionId!=-1,"TransactionId was not sent\n");
|
AssertFatal(TransactionId!=-1,"TransactionId was not sent\n");
|
||||||
LOG_D(F1AP,"F1AP: num_cells_to_activate %d\n",num_cells_to_activate);
|
LOG_D(F1AP,"F1AP: num_cells_to_activate %d\n",num_cells_to_activate);
|
||||||
F1AP_GNB_CU_CONFIGURATION_UPDATE (msg_p).num_cells_to_activate = num_cells_to_activate;
|
F1AP_GNB_CU_CONFIGURATION_UPDATE (msg_p).num_cells_to_activate = num_cells_to_activate;
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_F1AP_DU,
|
|
||||||
MSC_F1AP_CU,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" DU_handle_GNB_CU_CONFIGURATION_UPDATE initiatingMessage assoc_id %d",
|
|
||||||
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
assoc_id);
|
|
||||||
LOG_D(F1AP, "Sending F1AP_GNB_CU_CONFIGURATION_UPDATE ITTI message \n");
|
LOG_D(F1AP, "Sending F1AP_GNB_CU_CONFIGURATION_UPDATE ITTI message \n");
|
||||||
itti_send_msg_to_task(TASK_F1APP, GNB_MODULE_ID_TO_INSTANCE(assoc_id), msg_p);
|
itti_send_msg_to_task(TASK_F1APP, GNB_MODULE_ID_TO_INSTANCE(assoc_id), msg_p);
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -34,7 +34,6 @@
|
|||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "platform_types.h"
|
#include "platform_types.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include "LAYER2/MAC/mac.h"
|
#include "LAYER2/MAC/mac.h"
|
||||||
#include "LAYER2/MAC/mac_extern.h"
|
#include "LAYER2/MAC/mac_extern.h"
|
||||||
@@ -1421,8 +1420,6 @@ cancel_ra_proc(module_id_t module_idP, int CC_id, frame_t frameP,
|
|||||||
rnti_t rnti) {
|
rnti_t rnti) {
|
||||||
unsigned char i;
|
unsigned char i;
|
||||||
RA_t *ra = (RA_t *) & RC.mac[module_idP]->common_channels[CC_id].ra[0];
|
RA_t *ra = (RA_t *) & RC.mac[module_idP]->common_channels[CC_id].ra[0];
|
||||||
MSC_LOG_EVENT(MSC_PHY_ENB, "RA Cancelling procedure ue %" PRIx16 " ",
|
|
||||||
rnti);
|
|
||||||
LOG_D(MAC,
|
LOG_D(MAC,
|
||||||
"[eNB %d][RAPROC] CC_id %d Frame %d Cancelling RA procedure for UE rnti %x\n",
|
"[eNB %d][RAPROC] CC_id %d Frame %d Cancelling RA procedure for UE rnti %x\n",
|
||||||
module_idP, CC_id, frameP, rnti);
|
module_idP, CC_id, frameP, rnti);
|
||||||
|
|||||||
@@ -215,7 +215,6 @@ void mac_init_cell_params(int Mod_idP, int CC_idP)
|
|||||||
int j;
|
int j;
|
||||||
UE_TEMPLATE *UE_template;
|
UE_TEMPLATE *UE_template;
|
||||||
|
|
||||||
LOG_D(MAC, "[MSC_NEW][FRAME 00000][MAC_eNB][MOD %02d][]\n", Mod_idP);
|
|
||||||
//COMMON_channels_t *cc = &RC.mac[Mod_idP]->common_channels[CC_idP];
|
//COMMON_channels_t *cc = &RC.mac[Mod_idP]->common_channels[CC_idP];
|
||||||
|
|
||||||
memset(&RC.mac[Mod_idP]->eNB_stats, 0, sizeof(eNB_STATS));
|
memset(&RC.mac[Mod_idP]->eNB_stats, 0, sizeof(eNB_STATS));
|
||||||
|
|||||||
@@ -348,7 +348,7 @@ PRACH_RESOURCES_t *ue_get_rach(module_id_t module_idP, int CC_id,
|
|||||||
Size16 = (uint16_t) Size;
|
Size16 = (uint16_t) Size;
|
||||||
// LOG_D(MAC,"[UE %d] Frame %d: Requested RRCConnectionRequest, got %d bytes\n",module_idP,frameP,Size);
|
// LOG_D(MAC,"[UE %d] Frame %d: Requested RRCConnectionRequest, got %d bytes\n",module_idP,frameP,Size);
|
||||||
LOG_I(RRC,
|
LOG_I(RRC,
|
||||||
"[MSC_MSG][FRAME %05d][RRC_UE][MOD %02d][][--- MAC_DATA_REQ (RRCConnectionRequest eNB %d) --->][MAC_UE][MOD %02d][]\n",
|
"[FRAME %05d][RRC_UE][MOD %02d][][--- MAC_DATA_REQ (RRCConnectionRequest eNB %d) --->][MAC_UE][MOD %02d][]\n",
|
||||||
frameP, module_idP, eNB_indexP, module_idP);
|
frameP, module_idP, eNB_indexP, module_idP);
|
||||||
LOG_I(MAC,
|
LOG_I(MAC,
|
||||||
"[UE %d] Frame %d: Requested RRCConnectionRequest, got %d bytes\n",
|
"[UE %d] Frame %d: Requested RRCConnectionRequest, got %d bytes\n",
|
||||||
|
|||||||
@@ -48,7 +48,6 @@
|
|||||||
#include "platform_constants.h"
|
#include "platform_constants.h"
|
||||||
#include "nfapi/oai_integration/vendor_ext.h"
|
#include "nfapi/oai_integration/vendor_ext.h"
|
||||||
#include "common/utils/LOG/vcd_signal_dumper.h"
|
#include "common/utils/LOG/vcd_signal_dumper.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "common/ngran_types.h"
|
#include "common/ngran_types.h"
|
||||||
#include "targets/COMMON/openairinterface5g_limits.h"
|
#include "targets/COMMON/openairinterface5g_limits.h"
|
||||||
#include "targets/RT/USER/lte-softmodem.h"
|
#include "targets/RT/USER/lte-softmodem.h"
|
||||||
@@ -1058,14 +1057,6 @@ pdcp_data_ind(
|
|||||||
ctxt_pP->rnti,
|
ctxt_pP->rnti,
|
||||||
rb_id + 4,
|
rb_id + 4,
|
||||||
sdu_buffer_sizeP - payload_offset );
|
sdu_buffer_sizeP - payload_offset );
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_PDCP_ENB,
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
NULL,0,
|
|
||||||
"0 GTPV1U_ENB_TUNNEL_DATA_REQ ue %x rab %u len %u",
|
|
||||||
ctxt_pP->rnti,
|
|
||||||
rb_id + 4,
|
|
||||||
sdu_buffer_sizeP - payload_offset);
|
|
||||||
//LOG_T(PDCP,"Sending to GTPV1U %d bytes\n", sdu_buffer_sizeP - payload_offset);
|
//LOG_T(PDCP,"Sending to GTPV1U %d bytes\n", sdu_buffer_sizeP - payload_offset);
|
||||||
gtpu_buffer_p = itti_malloc(TASK_PDCP_ENB, TASK_GTPV1_U,
|
gtpu_buffer_p = itti_malloc(TASK_PDCP_ENB, TASK_GTPV1_U,
|
||||||
sdu_buffer_sizeP - payload_offset + GTPU_HEADER_OVERHEAD_MAX);
|
sdu_buffer_sizeP - payload_offset + GTPU_HEADER_OVERHEAD_MAX);
|
||||||
@@ -2228,20 +2219,6 @@ pdcp_config_set_security(
|
|||||||
pdcp_pP->kUPenc = kUPenc;
|
pdcp_pP->kUPenc = kUPenc;
|
||||||
/* Activate security */
|
/* Activate security */
|
||||||
pdcp_pP->security_activated = 1;
|
pdcp_pP->security_activated = 1;
|
||||||
MSC_LOG_EVENT(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
"0 Set security ciph %X integ %x UE %"PRIx16" ",
|
|
||||||
pdcp_pP->cipheringAlgorithm,
|
|
||||||
pdcp_pP->integrityProtAlgorithm,
|
|
||||||
ctxt_pP->rnti);
|
|
||||||
} else {
|
|
||||||
MSC_LOG_EVENT(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
"0 Set security failed UE %"PRIx16" ",
|
|
||||||
ctxt_pP->rnti);
|
|
||||||
LOG_E(PDCP,PROTOCOL_PDCP_CTXT_FMT" bad security mode %d",
|
|
||||||
PROTOCOL_PDCP_CTXT_ARGS(ctxt_pP,pdcp_pP),
|
|
||||||
security_modeP);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,6 @@ extern int otg_enabled;
|
|||||||
#include "nfapi/oai_integration/vendor_ext.h"
|
#include "nfapi/oai_integration/vendor_ext.h"
|
||||||
#include "common/utils/LOG/vcd_signal_dumper.h"
|
#include "common/utils/LOG/vcd_signal_dumper.h"
|
||||||
#include "platform_constants.h"
|
#include "platform_constants.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "pdcp.h"
|
#include "pdcp.h"
|
||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
@@ -343,12 +342,6 @@ int pdcp_fifo_read_input_mbms_sdus_fromtun (const protocol_ctxt_t *const ctxt_p
|
|||||||
LOG_D(PDCP, "[FRAME %5u][UE][IP][INSTANCE %ld][RB %ld][--- PDCP_DATA_REQ / %d Bytes --->][PDCP][MOD %u][UE %04x][RB %ld]\n",
|
LOG_D(PDCP, "[FRAME %5u][UE][IP][INSTANCE %ld][RB %ld][--- PDCP_DATA_REQ / %d Bytes --->][PDCP][MOD %u][UE %04x][RB %ld]\n",
|
||||||
ctxt.frame, ctxt.instance, rab_id, len, ctxt.module_id,
|
ctxt.frame, ctxt.instance, rab_id, len, ctxt.module_id,
|
||||||
ctxt.rnti, rab_id);
|
ctxt.rnti, rab_id);
|
||||||
MSC_LOG_RX_MESSAGE((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_IP_ENB:MSC_IP_UE,
|
|
||||||
NULL, 0,
|
|
||||||
MSC_AS_TIME_FMT" DATA-REQ inst %u rb %u rab %u size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ctxt.instance, rab_id, rab_id, len);
|
|
||||||
pdcp_data_req(
|
pdcp_data_req(
|
||||||
&ctxt,
|
&ctxt,
|
||||||
SRB_FLAG_NO,
|
SRB_FLAG_NO,
|
||||||
@@ -368,14 +361,6 @@ int pdcp_fifo_read_input_mbms_sdus_fromtun (const protocol_ctxt_t *const ctxt_p
|
|||||||
// , NULL, NULL
|
// , NULL, NULL
|
||||||
// );
|
// );
|
||||||
} else {
|
} else {
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_IP_ENB:MSC_IP_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" DATA-REQ inst %u rb %u rab %u size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ctxt.instance, rab_id, rab_id, len);
|
|
||||||
LOG_D(PDCP,
|
LOG_D(PDCP,
|
||||||
"[FRAME %5u][UE][IP][INSTANCE %ld][RB %ld][--- PDCP_DATA_REQ / %d Bytes ---X][PDCP][MOD %u][UE %04x][RB %ld] NON INSTANCIATED INSTANCE key 0x%"PRIx64", DROPPED\n",
|
"[FRAME %5u][UE][IP][INSTANCE %ld][RB %ld][--- PDCP_DATA_REQ / %d Bytes ---X][PDCP][MOD %u][UE %04x][RB %ld] NON INSTANCIATED INSTANCE key 0x%"PRIx64", DROPPED\n",
|
||||||
ctxt.frame, ctxt.instance, rab_id, len, ctxt.module_id,
|
ctxt.frame, ctxt.instance, rab_id, len, ctxt.module_id,
|
||||||
@@ -566,17 +551,6 @@ int pdcp_fifo_read_input_sdus_fromnetlinksock (const protocol_ctxt_t *const ctx
|
|||||||
(NFAPI_MODE == NFAPI_UE_STUB_PNF || NFAPI_MODE == NFAPI_MODE_STANDALONE_PNF) ? NULL : &pdcp_read_header_g.destinationL2Id
|
(NFAPI_MODE == NFAPI_UE_STUB_PNF || NFAPI_MODE == NFAPI_MODE_STANDALONE_PNF) ? NULL : &pdcp_read_header_g.destinationL2Id
|
||||||
);
|
);
|
||||||
} else { /* else of h_rc == HASH_TABLE_OK */
|
} else { /* else of h_rc == HASH_TABLE_OK */
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_IP_ENB:MSC_IP_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" DATA-REQ inst %u rb %u rab %u size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
pdcp_read_header_g.inst,
|
|
||||||
pdcp_read_header_g.rb_id,
|
|
||||||
rab_id,
|
|
||||||
pdcp_read_header_g.data_size);
|
|
||||||
LOG_D(PDCP,
|
LOG_D(PDCP,
|
||||||
"[FRAME %5u][UE][IP][INSTANCE %u][RB %ld][--- PDCP_DATA_REQ / %d Bytes ---X][PDCP][MOD %u][UE %u][RB %ld] NON INSTANCIATED INSTANCE key 0x%"PRIx64", DROPPED\n",
|
"[FRAME %5u][UE][IP][INSTANCE %u][RB %ld][--- PDCP_DATA_REQ / %d Bytes ---X][PDCP][MOD %u][UE %u][RB %ld] NON INSTANCIATED INSTANCE key 0x%"PRIx64", DROPPED\n",
|
||||||
ctxt.frame,
|
ctxt.frame,
|
||||||
@@ -739,17 +713,6 @@ void pdcp_fifo_read_input_sdus_frompc5s (const protocol_ctxt_t *const ctxt_pP)
|
|||||||
ctxt.module_id,
|
ctxt.module_id,
|
||||||
ctxt.rnti,
|
ctxt.rnti,
|
||||||
rab_id);
|
rab_id);
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_IP_ENB:MSC_IP_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" DATA-REQ inst %u rb %u rab %u size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
pc5s_header->inst,
|
|
||||||
pc5s_header->rb_id,
|
|
||||||
rab_id,
|
|
||||||
pc5s_header->data_size);
|
|
||||||
/* pointers to pc5s_header fields possibly not aligned because pc5s_header points to a packed structure
|
/* pointers to pc5s_header fields possibly not aligned because pc5s_header points to a packed structure
|
||||||
* Using these possibly unaligned pointers in a function call may trigger alignment errors at run time and
|
* Using these possibly unaligned pointers in a function call may trigger alignment errors at run time and
|
||||||
* gcc, from v9, now warns about it. fix these warnings by using local variables
|
* gcc, from v9, now warns about it. fix these warnings by using local variables
|
||||||
@@ -771,17 +734,6 @@ void pdcp_fifo_read_input_sdus_frompc5s (const protocol_ctxt_t *const ctxt_pP)
|
|||||||
pc5s_header->sourceL2Id = sourceL2Id;
|
pc5s_header->sourceL2Id = sourceL2Id;
|
||||||
pc5s_header->destinationL2Id=destinationL2Id;
|
pc5s_header->destinationL2Id=destinationL2Id;
|
||||||
} else { /* else of h_rc == HASH_TABLE_OK */
|
} else { /* else of h_rc == HASH_TABLE_OK */
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_IP_ENB:MSC_IP_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" DATA-REQ inst %u rb %u rab %u size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
pc5s_header->inst,
|
|
||||||
pc5s_header->rb_id,
|
|
||||||
rab_id,
|
|
||||||
pc5s_header->data_size);
|
|
||||||
LOG_D(PDCP,
|
LOG_D(PDCP,
|
||||||
"[FRAME %5u][UE][IP][INSTANCE %u][RB %ld][--- PDCP_DATA_REQ / %d Bytes ---X][PDCP][MOD %u][UE %u][RB %ld] NON INSTANCIATED INSTANCE key 0x%"PRIx64", DROPPED\n",
|
"[FRAME %5u][UE][IP][INSTANCE %u][RB %ld][--- PDCP_DATA_REQ / %d Bytes ---X][PDCP][MOD %u][UE %u][RB %ld] NON INSTANCIATED INSTANCE key 0x%"PRIx64", DROPPED\n",
|
||||||
ctxt.frame,
|
ctxt.frame,
|
||||||
@@ -803,16 +755,6 @@ void pdcp_fifo_read_input_sdus_frompc5s (const protocol_ctxt_t *const ctxt_pP)
|
|||||||
ctxt.module_id,
|
ctxt.module_id,
|
||||||
ctxt.rnti,
|
ctxt.rnti,
|
||||||
DEFAULT_RAB_ID);
|
DEFAULT_RAB_ID);
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_IP_ENB:MSC_IP_UE,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" DATA-REQ inst %u rb %u default rab %u size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
pc5s_header->inst,
|
|
||||||
pc5s_header->rb_id,
|
|
||||||
DEFAULT_RAB_ID,
|
|
||||||
pc5s_header->data_size);
|
|
||||||
/* pointers to pc5s_header fields possibly not aligned because pc5s_header points to a packed structure
|
/* pointers to pc5s_header fields possibly not aligned because pc5s_header points to a packed structure
|
||||||
* Using these possibly unaligned pointers in a function call may trigger alignment errors at run time and
|
* Using these possibly unaligned pointers in a function call may trigger alignment errors at run time and
|
||||||
* gcc, from v9, now warns about it. fix these warnings by using local variables
|
* gcc, from v9, now warns about it. fix these warnings by using local variables
|
||||||
|
|||||||
@@ -60,7 +60,6 @@
|
|||||||
|
|
||||||
#include "pdcp.h"
|
#include "pdcp.h"
|
||||||
#include "pdcp_primitives.h"
|
#include "pdcp_primitives.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
|
|
||||||
#define PDCP_QUEUE_NB_ELEMENTS 200
|
#define PDCP_QUEUE_NB_ELEMENTS 200
|
||||||
@@ -187,7 +186,6 @@ void *pdcp_netlink_thread_fct(void *arg)
|
|||||||
pdcp_thread_read_state = 0;
|
pdcp_thread_read_state = 0;
|
||||||
memset(nl_rx_buf, 0, NL_MAX_PAYLOAD);
|
memset(nl_rx_buf, 0, NL_MAX_PAYLOAD);
|
||||||
LOG_I(PDCP, "[NETLINK_THREAD] binding to fd %d\n",nas_sock_fd);
|
LOG_I(PDCP, "[NETLINK_THREAD] binding to fd %d\n",nas_sock_fd);
|
||||||
MSC_START_USE();
|
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
len = recvmsg(nas_sock_fd, &nas_msg_rx, 0);
|
len = recvmsg(nas_sock_fd, &nas_msg_rx, 0);
|
||||||
|
|||||||
@@ -37,7 +37,6 @@
|
|||||||
#include "LAYER2/MAC/mac_extern.h"
|
#include "LAYER2/MAC/mac_extern.h"
|
||||||
|
|
||||||
#include "pdcp.h"
|
#include "pdcp.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "pdcp_primitives.h"
|
#include "pdcp_primitives.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -223,11 +222,6 @@ pdcp_validate_security(
|
|||||||
if (stream_check_integrity(pdcp_pP->integrityProtAlgorithm,
|
if (stream_check_integrity(pdcp_pP->integrityProtAlgorithm,
|
||||||
&decrypt_params,
|
&decrypt_params,
|
||||||
&pdcp_pdu_buffer[sdu_buffer_size]) != 0) {
|
&pdcp_pdu_buffer[sdu_buffer_size]) != 0) {
|
||||||
MSC_LOG_EVENT(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
" Security: failed MAC-I Algo %X UE %"PRIx16" ",
|
|
||||||
pdcp_pP->integrityProtAlgorithm,
|
|
||||||
ctxt_pP->rnti);
|
|
||||||
LOG_E(PDCP, "[OSA][RB %ld] %s failed to validate MAC-I (key %llx) of incoming PDU\n",
|
LOG_E(PDCP, "[OSA][RB %ld] %s failed to validate MAC-I (key %llx) of incoming PDU\n",
|
||||||
rb_id, (pdcp_pP->is_ue != 0) ? "UE" : "eNB",((long long unsigned int*)decrypt_params.key)[0]);
|
rb_id, (pdcp_pP->is_ue != 0) ? "UE" : "eNB",((long long unsigned int*)decrypt_params.key)[0]);
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDCP_VALIDATE_SECURITY, VCD_FUNCTION_OUT);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDCP_VALIDATE_SECURITY, VCD_FUNCTION_OUT);
|
||||||
|
|||||||
@@ -27,7 +27,6 @@
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "hashtable.h"
|
#include "hashtable.h"
|
||||||
#include "rlc_am.h"
|
#include "rlc_am.h"
|
||||||
#include "rlc_am_segment.h"
|
#include "rlc_am_segment.h"
|
||||||
@@ -238,17 +237,6 @@ void config_req_rlc_am_asn1 (
|
|||||||
(config_am_pP->ul_AM_RLC.t_PollRetransmit<LTE_T_PollRetransmit_spare5) &&
|
(config_am_pP->ul_AM_RLC.t_PollRetransmit<LTE_T_PollRetransmit_spare5) &&
|
||||||
(config_am_pP->dl_AM_RLC.t_Reordering<32) &&
|
(config_am_pP->dl_AM_RLC.t_Reordering<32) &&
|
||||||
(config_am_pP->dl_AM_RLC.t_StatusProhibit<LTE_T_StatusProhibit_spare2) ) {
|
(config_am_pP->dl_AM_RLC.t_StatusProhibit<LTE_T_StatusProhibit_spare2) ) {
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RRC_ENB:MSC_RRC_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" CONFIG-REQ t_PollRetx %u t_Reord %u t_StatusPro %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
|
|
||||||
PollRetransmit_tab[config_am_pP->ul_AM_RLC.t_PollRetransmit],
|
|
||||||
am_t_Reordering_tab[config_am_pP->dl_AM_RLC.t_Reordering],
|
|
||||||
t_StatusProhibit_tab[config_am_pP->dl_AM_RLC.t_StatusProhibit]);
|
|
||||||
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" CONFIG_REQ (max_retx_threshold=%d poll_pdu=%d poll_byte=%d t_poll_retransmit=%d t_reord=%d t_status_prohibit=%d)\n",
|
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" CONFIG_REQ (max_retx_threshold=%d poll_pdu=%d poll_byte=%d t_poll_retransmit=%d t_reord=%d t_status_prohibit=%d)\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
|
||||||
maxRetxThreshold_tab[config_am_pP->ul_AM_RLC.maxRetxThreshold],
|
maxRetxThreshold_tab[config_am_pP->ul_AM_RLC.maxRetxThreshold],
|
||||||
@@ -267,14 +255,6 @@ void config_req_rlc_am_asn1 (
|
|||||||
am_t_Reordering_tab[config_am_pP->dl_AM_RLC.t_Reordering],
|
am_t_Reordering_tab[config_am_pP->dl_AM_RLC.t_Reordering],
|
||||||
t_StatusProhibit_tab[config_am_pP->dl_AM_RLC.t_StatusProhibit]);
|
t_StatusProhibit_tab[config_am_pP->dl_AM_RLC.t_StatusProhibit]);
|
||||||
} else {
|
} else {
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RRC_ENB:MSC_RRC_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" CONFIG-REQ",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p));
|
|
||||||
LOG_D(RLC,
|
LOG_D(RLC,
|
||||||
PROTOCOL_RLC_AM_CTXT_FMT"ILLEGAL CONFIG_REQ (max_retx_threshold=%ld poll_pdu=%ld poll_byte=%ld t_poll_retransmit=%ld t_reord=%ld t_status_prohibit=%ld), RLC-AM NOT CONFIGURED\n",
|
PROTOCOL_RLC_AM_CTXT_FMT"ILLEGAL CONFIG_REQ (max_retx_threshold=%ld poll_pdu=%ld poll_byte=%ld t_poll_retransmit=%ld t_reord=%ld t_status_prohibit=%ld), RLC-AM NOT CONFIGURED\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
|
||||||
@@ -537,27 +517,6 @@ rlc_am_mac_status_indication (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MESSAGE_CHART_GENERATOR) {
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_MAC_ENB:MSC_MAC_UE,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS-IND %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc));
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_MAC_ENB:MSC_MAC_UE,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS-RESP BO:%u/n%u(%u) %s sdu remain %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc),
|
|
||||||
status_resp.buffer_occupancy_in_bytes,
|
|
||||||
status_resp.buffer_occupancy_in_pdus,rlc->nb_sdu,
|
|
||||||
(status_resp.head_sdu_is_segmented)?"sdu seg":"sdu not seg",
|
|
||||||
status_resp.head_sdu_remaining_size_to_send);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (LOG_DEBUGFLAG(DEBUG_RLC)) {
|
if (LOG_DEBUGFLAG(DEBUG_RLC)) {
|
||||||
LOG_UI(RLC, PROTOCOL_RLC_AM_CTXT_FMT" MAC_STATUS_INDICATION (DATA) -> %d bytes\n",
|
LOG_UI(RLC, PROTOCOL_RLC_AM_CTXT_FMT" MAC_STATUS_INDICATION (DATA) -> %d bytes\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc),
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc),
|
||||||
@@ -610,7 +569,7 @@ rlc_am_mac_data_request (
|
|||||||
|
|
||||||
data_req.rlc_info.rlc_protocol_state = l_rlc_p->protocol_state;
|
data_req.rlc_info.rlc_protocol_state = l_rlc_p->protocol_state;
|
||||||
|
|
||||||
if ( (MESSAGE_CHART_GENERATOR || LOG_DEBUGFLAG(DEBUG_RLC))&& data_req.data.nb_elements > 0) {
|
if ( (LOG_DEBUGFLAG(DEBUG_RLC))&& data_req.data.nb_elements > 0) {
|
||||||
tb_p = data_req.data.head;
|
tb_p = data_req.data.head;
|
||||||
|
|
||||||
while (tb_p != NULL) {
|
while (tb_p != NULL) {
|
||||||
@@ -619,39 +578,6 @@ rlc_am_mac_data_request (
|
|||||||
|
|
||||||
if ((((struct mac_tb_req *) (tb_p->data))->data_ptr[0] & RLC_DC_MASK) == RLC_DC_DATA_PDU ) {
|
if ((((struct mac_tb_req *) (tb_p->data))->data_ptr[0] & RLC_DC_MASK) == RLC_DC_DATA_PDU ) {
|
||||||
if (rlc_am_get_data_pdu_infos(ctxt_pP,l_rlc_p,rlc_am_pdu_sn_10_p, tb_size_in_bytes, &pdu_info) >= 0) {
|
if (rlc_am_get_data_pdu_infos(ctxt_pP,l_rlc_p,rlc_am_pdu_sn_10_p, tb_size_in_bytes, &pdu_info) >= 0) {
|
||||||
if (MESSAGE_CHART_GENERATOR) {
|
|
||||||
message_string_size = 0;
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size],
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA SN %u size %u RF %u P %u FI %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
|
|
||||||
pdu_info.sn,
|
|
||||||
tb_size_in_bytes,
|
|
||||||
pdu_info.rf,
|
|
||||||
pdu_info.p,
|
|
||||||
pdu_info.fi);
|
|
||||||
|
|
||||||
if (pdu_info.rf) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " LSF %u\n", pdu_info.lsf);
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " SO %u\n", pdu_info.so);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pdu_info.e) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "| HE:");
|
|
||||||
|
|
||||||
for (index=0; index < pdu_info.num_li; index++) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
|
|
||||||
(char *)rlc_am_pdu_sn_10_p,
|
|
||||||
tb_size_in_bytes,
|
|
||||||
message_string);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
|
if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
|
||||||
message_string_size = 0;
|
message_string_size = 0;
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
||||||
@@ -723,34 +649,6 @@ rlc_am_mac_data_request (
|
|||||||
if (rlc_am_get_control_pdu_infos(rlc_am_pdu_sn_10_p, &tb_size_in_bytes, &l_rlc_p->control_pdu_info) >= 0) {
|
if (rlc_am_get_control_pdu_infos(rlc_am_pdu_sn_10_p, &tb_size_in_bytes, &l_rlc_p->control_pdu_info) >= 0) {
|
||||||
tb_size_in_bytes = ((struct mac_tb_req *) (tb_p->data))->tb_size; //tb_size_in_bytes modified by rlc_am_get_control_pdu_infos!
|
tb_size_in_bytes = ((struct mac_tb_req *) (tb_p->data))->tb_size; //tb_size_in_bytes modified by rlc_am_get_control_pdu_infos!
|
||||||
|
|
||||||
if (MESSAGE_CHART_GENERATOR ) {
|
|
||||||
message_string_size = 0;
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size],
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS ACK_SN %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
|
|
||||||
l_rlc_p->control_pdu_info.ack_sn);
|
|
||||||
|
|
||||||
for (num_nack = 0; num_nack < l_rlc_p->control_pdu_info.num_nack; num_nack++) {
|
|
||||||
if (l_rlc_p->control_pdu_info.nack_list[num_nack].e2) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " NACK SN %u SO START %u SO END %u",
|
|
||||||
l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn,
|
|
||||||
l_rlc_p->control_pdu_info.nack_list[num_nack].so_start,
|
|
||||||
l_rlc_p->control_pdu_info.nack_list[num_nack].so_end);
|
|
||||||
} else {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " NACK SN %u",
|
|
||||||
l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
|
|
||||||
(char *)rlc_am_pdu_sn_10_p,
|
|
||||||
tb_size_in_bytes,
|
|
||||||
message_string);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
|
if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
|
||||||
message_string_size = 0;
|
message_string_size = 0;
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
||||||
@@ -780,7 +678,7 @@ rlc_am_mac_data_request (
|
|||||||
|
|
||||||
tb_p = tb_p->next;
|
tb_p = tb_p->next;
|
||||||
} /* while */
|
} /* while */
|
||||||
} /* MESSAGE_CHART_GENERATOR && data_req.data.nb_elements > 0 */
|
} /* data_req.data.nb_elements > 0 */
|
||||||
|
|
||||||
data_req.buffer_occupancy_in_pdus = 0;
|
data_req.buffer_occupancy_in_pdus = 0;
|
||||||
return data_req;
|
return data_req;
|
||||||
@@ -812,7 +710,7 @@ rlc_am_mac_data_indication (
|
|||||||
(void)index;
|
(void)index;
|
||||||
(void)l_rlc_p; /* avoid gcc warning "unused variable" */
|
(void)l_rlc_p; /* avoid gcc warning "unused variable" */
|
||||||
|
|
||||||
if ( LOG_DEBUGFLAG(DEBUG_RLC) || MESSAGE_CHART_GENERATOR ) {
|
if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
|
||||||
if (data_indP.data.nb_elements > 0) {
|
if (data_indP.data.nb_elements > 0) {
|
||||||
tb_p = data_indP.data.head;
|
tb_p = data_indP.data.head;
|
||||||
|
|
||||||
@@ -822,39 +720,6 @@ rlc_am_mac_data_indication (
|
|||||||
|
|
||||||
if ((((struct mac_tb_ind *) (tb_p->data))->data_ptr[0] & RLC_DC_MASK) == RLC_DC_DATA_PDU ) {
|
if ((((struct mac_tb_ind *) (tb_p->data))->data_ptr[0] & RLC_DC_MASK) == RLC_DC_DATA_PDU ) {
|
||||||
if (rlc_am_get_data_pdu_infos(ctxt_pP,l_rlc_p,rlc_am_pdu_sn_10_p, tb_size_in_bytes, &pdu_info) >= 0) {
|
if (rlc_am_get_data_pdu_infos(ctxt_pP,l_rlc_p,rlc_am_pdu_sn_10_p, tb_size_in_bytes, &pdu_info) >= 0) {
|
||||||
if (MESSAGE_CHART_GENERATOR) {
|
|
||||||
message_string_size = 0;
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size],
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA SN %u size %u RF %u P %u FI %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
|
|
||||||
pdu_info.sn,
|
|
||||||
tb_size_in_bytes,
|
|
||||||
pdu_info.rf,
|
|
||||||
pdu_info.p,
|
|
||||||
pdu_info.fi);
|
|
||||||
|
|
||||||
if (pdu_info.rf) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " LSF %u\n", pdu_info.lsf);
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " SO %u\n", pdu_info.so);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pdu_info.e) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "| HE:");
|
|
||||||
|
|
||||||
for (index=0; index < pdu_info.num_li; index++) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
|
|
||||||
(char *)rlc_am_pdu_sn_10_p,
|
|
||||||
tb_size_in_bytes,
|
|
||||||
message_string);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
|
if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "PDU size : %u\n", tb_size_in_bytes);
|
message_string_size += sprintf(&message_string[message_string_size], "PDU size : %u\n", tb_size_in_bytes);
|
||||||
@@ -923,34 +788,6 @@ rlc_am_mac_data_indication (
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (rlc_am_get_control_pdu_infos(rlc_am_pdu_sn_10_p, &tb_size_in_bytes, &l_rlc_p->control_pdu_info) >= 0) {
|
if (rlc_am_get_control_pdu_infos(rlc_am_pdu_sn_10_p, &tb_size_in_bytes, &l_rlc_p->control_pdu_info) >= 0) {
|
||||||
if (MESSAGE_CHART_GENERATOR) {
|
|
||||||
message_string_size = 0;
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size],
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS size ACK_SN %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
|
|
||||||
l_rlc_p->control_pdu_info.ack_sn);
|
|
||||||
|
|
||||||
for (num_nack = 0; num_nack < l_rlc_p->control_pdu_info.num_nack; num_nack++) {
|
|
||||||
if (l_rlc_p->control_pdu_info.nack_list[num_nack].e2) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " NACK SN %u SO START %u SO END %u",
|
|
||||||
l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn,
|
|
||||||
l_rlc_p->control_pdu_info.nack_list[num_nack].so_start,
|
|
||||||
l_rlc_p->control_pdu_info.nack_list[num_nack].so_end);
|
|
||||||
} else {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " NACK SN %u",
|
|
||||||
l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
|
|
||||||
(char *)rlc_am_pdu_sn_10_p,
|
|
||||||
tb_size_in_bytes,
|
|
||||||
message_string);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
|
if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
|
||||||
message_string_size = 0;
|
message_string_size = 0;
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
||||||
@@ -1009,16 +846,6 @@ rlc_am_data_req (
|
|||||||
mui = ((struct rlc_am_data_req *) (sdu_pP->data))->mui;
|
mui = ((struct rlc_am_data_req *) (sdu_pP->data))->mui;
|
||||||
data_offset = ((struct rlc_am_data_req *) (sdu_pP->data))->data_offset;
|
data_offset = ((struct rlc_am_data_req *) (sdu_pP->data))->data_offset;
|
||||||
data_size = ((struct rlc_am_data_req *) (sdu_pP->data))->data_size;
|
data_size = ((struct rlc_am_data_req *) (sdu_pP->data))->data_size;
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
(const char *)(&sdu_pP->data[data_offset]),
|
|
||||||
data_size,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA-REQ size %u mui %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
|
|
||||||
data_size,
|
|
||||||
mui);
|
|
||||||
|
|
||||||
if (LOG_DEBUGFLAG(DEBUG_RLC)) {
|
if (LOG_DEBUGFLAG(DEBUG_RLC)) {
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
||||||
@@ -1094,22 +921,6 @@ rlc_am_data_req (
|
|||||||
l_rlc_p->vt_s);
|
l_rlc_p->vt_s);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if( MESSAGE_CHART_GENERATOR) {
|
|
||||||
mui = ((struct rlc_am_data_req *) (sdu_pP->data))->mui;
|
|
||||||
data_offset = ((struct rlc_am_data_req *) (sdu_pP->data))->data_offset;
|
|
||||||
data_size = ((struct rlc_am_data_req *) (sdu_pP->data))->data_size;
|
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
(const char *)(&sdu_pP->data[data_offset]),
|
|
||||||
data_size,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA-REQ size %u mui %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
|
|
||||||
data_size,
|
|
||||||
mui);
|
|
||||||
}
|
|
||||||
|
|
||||||
LOG_W(RLC, PROTOCOL_RLC_AM_CTXT_FMT" RLC_AM_DATA_REQ BUFFER FULL, NB SDU %d current_sdu_index=%d next_sdu_index=%d size_input_sdus_buffer=%d vtA=%d vtS=%d\n",
|
LOG_W(RLC, PROTOCOL_RLC_AM_CTXT_FMT" RLC_AM_DATA_REQ BUFFER FULL, NB SDU %d current_sdu_index=%d next_sdu_index=%d size_input_sdus_buffer=%d vtA=%d vtS=%d\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
|
||||||
l_rlc_p->nb_sdu,
|
l_rlc_p->nb_sdu,
|
||||||
|
|||||||
@@ -78,16 +78,7 @@
|
|||||||
int pmtl_rc = pthread_mutex_trylock(mUTEX);\
|
int pmtl_rc = pthread_mutex_trylock(mUTEX);\
|
||||||
if (pmtl_rc != 0){\
|
if (pmtl_rc != 0){\
|
||||||
if (pmtl_rc == EBUSY) {\
|
if (pmtl_rc == EBUSY) {\
|
||||||
MSC_LOG_EVENT((cTXT->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 " PROTOCOL_RLC_AM_MSC_FMT " Warning try lock %s busy",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(cTXT,rLC),\
|
|
||||||
#mUTEX);\
|
|
||||||
pthread_mutex_lock(mUTEX);\
|
pthread_mutex_lock(mUTEX);\
|
||||||
} else {\
|
|
||||||
MSC_LOG_EVENT((cTXT->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 " PROTOCOL_RLC_AM_MSC_FMT " Error try lock %s %d",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(cTXT,rLC),\
|
|
||||||
#mUTEX, pmtl_rc);\
|
|
||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|||||||
@@ -30,7 +30,6 @@
|
|||||||
#include "list.h"
|
#include "list.h"
|
||||||
//#include "LAYER2/MAC/extern.h"
|
//#include "LAYER2/MAC/extern.h"
|
||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
inline void
|
inline void
|
||||||
@@ -152,16 +151,6 @@ rlc_am_send_sdu (
|
|||||||
#if !ENABLE_ITTI
|
#if !ENABLE_ITTI
|
||||||
RLC_AM_MUTEX_UNLOCK(&rlc_pP->lock_input_sdus);
|
RLC_AM_MUTEX_UNLOCK(&rlc_pP->lock_input_sdus);
|
||||||
#endif
|
#endif
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
(const char *)(rlc_pP->output_sdu_in_construction->data),
|
|
||||||
rlc_pP->output_sdu_size_to_write,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA-IND size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP),
|
|
||||||
rlc_pP->output_sdu_size_to_write
|
|
||||||
);
|
|
||||||
rlc_data_ind (ctxt_pP,
|
rlc_data_ind (ctxt_pP,
|
||||||
BOOL_NOT(rlc_pP->is_data_plane),
|
BOOL_NOT(rlc_pP->is_data_plane),
|
||||||
MBMS_FLAG_NO,
|
MBMS_FLAG_NO,
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
#include "platform_types.h"
|
#include "platform_types.h"
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "rlc.h"
|
#include "rlc.h"
|
||||||
#include "rlc_am.h"
|
#include "rlc_am.h"
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
|
|||||||
@@ -28,7 +28,6 @@
|
|||||||
#include "rlc.h"
|
#include "rlc.h"
|
||||||
#include "LAYER2/MAC/mac_extern.h"
|
#include "LAYER2/MAC/mac_extern.h"
|
||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "msc.h"
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
boolean_t rlc_am_nack_pdu (
|
boolean_t rlc_am_nack_pdu (
|
||||||
const protocol_ctxt_t* const ctxt_pP,
|
const protocol_ctxt_t* const ctxt_pP,
|
||||||
|
|||||||
@@ -26,7 +26,6 @@
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
#include "platform_types.h"
|
#include "platform_types.h"
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
#include "msc.h"
|
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
#include "rlc_am.h"
|
#include "rlc_am.h"
|
||||||
#include "LAYER2/MAC/mac_extern.h"
|
#include "LAYER2/MAC/mac_extern.h"
|
||||||
|
|||||||
@@ -29,7 +29,6 @@
|
|||||||
#include "rlc_am.h"
|
#include "rlc_am.h"
|
||||||
#include "LAYER2/MAC/mac_extern.h"
|
#include "LAYER2/MAC/mac_extern.h"
|
||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "msc.h"
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void
|
void
|
||||||
rlc_am_check_timer_poll_retransmit(
|
rlc_am_check_timer_poll_retransmit(
|
||||||
@@ -69,11 +68,6 @@ rlc_am_check_timer_poll_retransmit(
|
|||||||
rlc_pP->t_poll_retransmit.running = 0;
|
rlc_pP->t_poll_retransmit.running = 0;
|
||||||
rlc_pP->t_poll_retransmit.timed_out = 1;
|
rlc_pP->t_poll_retransmit.timed_out = 1;
|
||||||
rlc_pP->stat_timer_poll_retransmit_timed_out += 1;
|
rlc_pP->stat_timer_poll_retransmit_timed_out += 1;
|
||||||
#if MESSAGE_CHART_GENERATOR_RLC_MAC
|
|
||||||
MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 "PROTOCOL_RLC_AM_MSC_FMT" t_poll_retransmit timed-out",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP));
|
|
||||||
#endif
|
|
||||||
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T_POLL_RETRANSMIT] TIME-OUT\n",
|
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T_POLL_RETRANSMIT] TIME-OUT\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
||||||
|
|
||||||
@@ -144,11 +138,6 @@ rlc_am_stop_and_reset_timer_poll_retransmit(
|
|||||||
rlc_pP->t_poll_retransmit.ms_time_out = 0;
|
rlc_pP->t_poll_retransmit.ms_time_out = 0;
|
||||||
rlc_pP->t_poll_retransmit.ms_start = 0;
|
rlc_pP->t_poll_retransmit.ms_start = 0;
|
||||||
rlc_pP->t_poll_retransmit.timed_out = 0;
|
rlc_pP->t_poll_retransmit.timed_out = 0;
|
||||||
#if MESSAGE_CHART_GENERATOR_RLC_MAC
|
|
||||||
MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 "PROTOCOL_RLC_AM_MSC_FMT" t_poll_retransmit stopped & reseted",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP));
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void
|
void
|
||||||
@@ -167,11 +156,6 @@ rlc_am_start_timer_poll_retransmit(
|
|||||||
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T_POLL_RETRANSMIT] STARTED (TIME-OUT = FRAME %05d)\n",
|
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T_POLL_RETRANSMIT] STARTED (TIME-OUT = FRAME %05d)\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
|
||||||
rlc_pP->t_poll_retransmit.ms_time_out);
|
rlc_pP->t_poll_retransmit.ms_time_out);
|
||||||
#if MESSAGE_CHART_GENERATOR_RLC_MAC
|
|
||||||
MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 "PROTOCOL_RLC_AM_MSC_FMT" t_poll_retransmit started (TO %u ms)",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP), rlc_pP->t_poll_retransmit.ms_time_out);
|
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T_POLL_RETRANSMIT] NOT STARTED, CAUSE CONFIGURED 0 ms\n",
|
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T_POLL_RETRANSMIT] NOT STARTED, CAUSE CONFIGURED 0 ms\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
||||||
|
|||||||
@@ -28,7 +28,6 @@
|
|||||||
#include "rlc_am.h"
|
#include "rlc_am.h"
|
||||||
# include "LAYER2/MAC/mac_extern.h"
|
# include "LAYER2/MAC/mac_extern.h"
|
||||||
#include "common/utils//LOG/log.h"
|
#include "common/utils//LOG/log.h"
|
||||||
#include "msc.h"
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void
|
void
|
||||||
rlc_am_check_timer_reordering(
|
rlc_am_check_timer_reordering(
|
||||||
@@ -64,12 +63,6 @@ rlc_am_check_timer_reordering(
|
|||||||
// - start t-Reordering;
|
// - start t-Reordering;
|
||||||
// - set VR(X) to VR(H).
|
// - set VR(X) to VR(H).
|
||||||
|
|
||||||
#if MESSAGE_CHART_GENERATOR_RLC_MAC
|
|
||||||
MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 "PROTOCOL_RLC_AM_MSC_FMT" t_reordering timed out",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//AssertFatal (rlc_pP->vr_x != RLC_SN_UNDEFINED, "RLC AM TReordering Expiry vrX not defined LcId=%d\n", rlc_pP->channel_id);
|
//AssertFatal (rlc_pP->vr_x != RLC_SN_UNDEFINED, "RLC AM TReordering Expiry vrX not defined LcId=%d\n", rlc_pP->channel_id);
|
||||||
if(rlc_pP->vr_x == RLC_SN_UNDEFINED){
|
if(rlc_pP->vr_x == RLC_SN_UNDEFINED){
|
||||||
LOG_E(RLC, "RLC AM TReordering Expiry vrX not defined LcId=%d\n", rlc_pP->channel_id);
|
LOG_E(RLC, "RLC AM TReordering Expiry vrX not defined LcId=%d\n", rlc_pP->channel_id);
|
||||||
@@ -153,11 +146,6 @@ rlc_am_stop_and_reset_timer_reordering(
|
|||||||
rlc_pP->t_reordering.ms_time_out = 0;
|
rlc_pP->t_reordering.ms_time_out = 0;
|
||||||
rlc_pP->t_reordering.ms_start = 0;
|
rlc_pP->t_reordering.ms_start = 0;
|
||||||
rlc_pP->t_reordering.timed_out = 0;
|
rlc_pP->t_reordering.timed_out = 0;
|
||||||
#if MESSAGE_CHART_GENERATOR_RLC_MAC
|
|
||||||
MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 "PROTOCOL_RLC_AM_MSC_FMT" t_reordering stopped & reseted",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP));
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void
|
void
|
||||||
@@ -175,11 +163,6 @@ rlc_am_start_timer_reordering(
|
|||||||
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T-REORDERING] STARTED (TIME-OUT = %5u ms)\n",
|
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T-REORDERING] STARTED (TIME-OUT = %5u ms)\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
|
||||||
rlc_pP->t_reordering.ms_time_out);
|
rlc_pP->t_reordering.ms_time_out);
|
||||||
#if MESSAGE_CHART_GENERATOR_RLC_MAC
|
|
||||||
MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 "PROTOCOL_RLC_AM_MSC_FMT" t_reordering started (TO %u ms)",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP), rlc_pP->t_reordering.ms_time_out);
|
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T-REORDERING] NOT STARTED, CAUSE CONFIGURED 0 ms\n",
|
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T-REORDERING] NOT STARTED, CAUSE CONFIGURED 0 ms\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
||||||
|
|||||||
@@ -28,7 +28,6 @@
|
|||||||
#include "rlc_am.h"
|
#include "rlc_am.h"
|
||||||
#include "LAYER2/MAC/mac_extern.h"
|
#include "LAYER2/MAC/mac_extern.h"
|
||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "msc.h"
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void
|
void
|
||||||
rlc_am_check_timer_status_prohibit(
|
rlc_am_check_timer_status_prohibit(
|
||||||
@@ -60,12 +59,6 @@ rlc_am_check_timer_status_prohibit(
|
|||||||
rlc_pP->t_status_prohibit.running = 0;
|
rlc_pP->t_status_prohibit.running = 0;
|
||||||
rlc_pP->t_status_prohibit.timed_out = 1;
|
rlc_pP->t_status_prohibit.timed_out = 1;
|
||||||
rlc_pP->stat_timer_status_prohibit_timed_out += 1;
|
rlc_pP->stat_timer_status_prohibit_timed_out += 1;
|
||||||
|
|
||||||
#if MESSAGE_CHART_GENERATOR_RLC_MAC
|
|
||||||
MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 "PROTOCOL_RLC_AM_MSC_FMT" t_status_prohibit timed out",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP));
|
|
||||||
#endif
|
|
||||||
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T-STATUS-PROHIBIT] TIME-OUT\n",
|
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T-STATUS-PROHIBIT] TIME-OUT\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
||||||
//#warning TO DO rlc_am_check_timer_status_prohibit
|
//#warning TO DO rlc_am_check_timer_status_prohibit
|
||||||
@@ -91,11 +84,6 @@ rlc_am_stop_and_reset_timer_status_prohibit(
|
|||||||
rlc_pP->t_status_prohibit.ms_time_out = 0;
|
rlc_pP->t_status_prohibit.ms_time_out = 0;
|
||||||
rlc_pP->t_status_prohibit.ms_start = 0;
|
rlc_pP->t_status_prohibit.ms_start = 0;
|
||||||
rlc_pP->t_status_prohibit.timed_out = 0;
|
rlc_pP->t_status_prohibit.timed_out = 0;
|
||||||
#if MESSAGE_CHART_GENERATOR_RLC_MAC
|
|
||||||
MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 "PROTOCOL_RLC_AM_MSC_FMT" t_status_prohibit stopped & reseted",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP));
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -117,11 +105,6 @@ rlc_am_start_timer_status_prohibit(
|
|||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
|
||||||
rlc_pP->t_status_prohibit.ms_time_out);
|
rlc_pP->t_status_prohibit.ms_time_out);
|
||||||
LOG_D(RLC, "TIME-OUT = FRAME %u\n", rlc_pP->t_status_prohibit.ms_time_out);
|
LOG_D(RLC, "TIME-OUT = FRAME %u\n", rlc_pP->t_status_prohibit.ms_time_out);
|
||||||
#if MESSAGE_CHART_GENERATOR_RLC_MAC
|
|
||||||
MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 "PROTOCOL_RLC_AM_MSC_FMT" t_status_prohibit started (TO %u ms)",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP), rlc_pP->t_status_prohibit.ms_time_out);
|
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T-STATUS-PROHIBIT] NOT STARTED, CAUSE CONFIGURED 0 ms\n",
|
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T-STATUS-PROHIBIT] NOT STARTED, CAUSE CONFIGURED 0 ms\n",
|
||||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
||||||
|
|||||||
@@ -30,7 +30,6 @@
|
|||||||
#include "intertask_interface.h"
|
#include "intertask_interface.h"
|
||||||
#endif
|
#endif
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "rlc_um.h"
|
#include "rlc_um.h"
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
#include "rlc_primitives.h"
|
#include "rlc_primitives.h"
|
||||||
@@ -166,7 +165,6 @@ rlc_um_rx (const protocol_ctxt_t *const ctxt_pP, void *argP, struct mac_data_ind
|
|||||||
char message_string[10000];
|
char message_string[10000];
|
||||||
mem_block_t *tb_p;
|
mem_block_t *tb_p;
|
||||||
int16_t tb_size_in_bytes;
|
int16_t tb_size_in_bytes;
|
||||||
size_t message_string_size = 0;
|
|
||||||
rlc_um_pdu_info_t pdu_info;
|
rlc_um_pdu_info_t pdu_info;
|
||||||
int index;
|
int index;
|
||||||
int octet_index;
|
int octet_index;
|
||||||
@@ -183,38 +181,15 @@ rlc_um_rx (const protocol_ctxt_t *const ctxt_pP, void *argP, struct mac_data_ind
|
|||||||
LOG_I(RLC, PROTOCOL_RLC_UM_CTXT_FMT" ERROR MAC_DATA_IND IN RLC_NULL_STATE\n",
|
LOG_I(RLC, PROTOCOL_RLC_UM_CTXT_FMT" ERROR MAC_DATA_IND IN RLC_NULL_STATE\n",
|
||||||
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p));
|
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p));
|
||||||
|
|
||||||
if (data_indP.data.nb_elements > 0 && MESSAGE_CHART_GENERATOR) {
|
if (data_indP.data.nb_elements > 0) {
|
||||||
tb_p = data_indP.data.head;
|
tb_p = data_indP.data.head;
|
||||||
|
|
||||||
while (tb_p != NULL) {
|
while (tb_p != NULL) {
|
||||||
tb_size_in_bytes = ((struct mac_tb_ind *) (tb_p->data))->size;
|
tb_size_in_bytes = ((struct mac_tb_ind *) (tb_p->data))->size;
|
||||||
rlc_um_get_pdu_infos(ctxt_pP,l_rlc_p,(rlc_um_pdu_sn_10_t *) ((struct mac_tb_ind *) (tb_p->data))->data_ptr, tb_size_in_bytes, &pdu_info, l_rlc_p->rx_sn_length);
|
rlc_um_get_pdu_infos(ctxt_pP,l_rlc_p,(rlc_um_pdu_sn_10_t *) ((struct mac_tb_ind *) (tb_p->data))->data_ptr, tb_size_in_bytes, &pdu_info, l_rlc_p->rx_sn_length);
|
||||||
message_string_size = 0;
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size],
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT"DATA SN %u size %u FI %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, l_rlc_p),
|
|
||||||
pdu_info.sn,
|
|
||||||
tb_size_in_bytes,
|
|
||||||
pdu_info.fi);
|
|
||||||
|
|
||||||
if (pdu_info.e) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "| HE:");
|
|
||||||
|
|
||||||
for (index=0; index < pdu_info.num_li; index++) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
|
|
||||||
(const char *)pdu_info.payload,
|
|
||||||
tb_size_in_bytes,
|
|
||||||
message_string);
|
|
||||||
tb_p = tb_p->next;
|
tb_p = tb_p->next;
|
||||||
}
|
}
|
||||||
}/*MESSAGE_CHART_GENERATOR*/
|
}
|
||||||
|
|
||||||
list_free (&data_indP.data);
|
list_free (&data_indP.data);
|
||||||
break;
|
break;
|
||||||
@@ -237,7 +212,7 @@ rlc_um_rx (const protocol_ctxt_t *const ctxt_pP, void *argP, struct mac_data_ind
|
|||||||
// - enters the LOCAL_SUSPEND state.
|
// - enters the LOCAL_SUSPEND state.
|
||||||
data_indP.tb_size = data_indP.tb_size >> 3;
|
data_indP.tb_size = data_indP.tb_size >> 3;
|
||||||
|
|
||||||
if (data_indP.data.nb_elements > 0 && (MESSAGE_CHART_GENERATOR || LOG_DEBUGFLAG(DEBUG_RLC))) {
|
if (data_indP.data.nb_elements > 0 && (LOG_DEBUGFLAG(DEBUG_RLC))) {
|
||||||
LOG_D(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_DATA_IND %d TBs\n",
|
LOG_D(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_DATA_IND %d TBs\n",
|
||||||
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p),
|
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p),
|
||||||
data_indP.data.nb_elements);
|
data_indP.data.nb_elements);
|
||||||
@@ -251,32 +226,6 @@ rlc_um_rx (const protocol_ctxt_t *const ctxt_pP, void *argP, struct mac_data_ind
|
|||||||
&pdu_info,
|
&pdu_info,
|
||||||
l_rlc_p->rx_sn_length);
|
l_rlc_p->rx_sn_length);
|
||||||
|
|
||||||
if (MESSAGE_CHART_GENERATOR) {
|
|
||||||
message_string_size = 0;
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size],
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT"DATA SN %u size %u FI %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, l_rlc_p),
|
|
||||||
pdu_info.sn,
|
|
||||||
tb_size_in_bytes,
|
|
||||||
pdu_info.fi);
|
|
||||||
|
|
||||||
if (pdu_info.e) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "| HE:");
|
|
||||||
|
|
||||||
for (index=0; index < pdu_info.num_li; index++) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
|
|
||||||
(char *)pdu_info.payload,
|
|
||||||
tb_size_in_bytes,
|
|
||||||
message_string);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (LOG_DEBUGFLAG(DEBUG_RLC)) {
|
if (LOG_DEBUGFLAG(DEBUG_RLC)) {
|
||||||
message_string_size = 0;
|
message_string_size = 0;
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
||||||
@@ -483,89 +432,61 @@ rlc_um_mac_data_request (const protocol_ctxt_t *const ctxt_pP, void *rlc_pP,cons
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MESSAGE_CHART_GENERATOR || LOG_DEBUGFLAG(DEBUG_RLC) ) {
|
if (LOG_DEBUGFLAG(DEBUG_RLC) ) {
|
||||||
rlc_um_get_pdu_infos(ctxt_pP, l_rlc_p,(rlc_um_pdu_sn_10_t *) ((struct mac_tb_req *) (tb_p->data))->data_ptr, tb_size_in_bytes, &pdu_info, l_rlc_p->rx_sn_length);
|
rlc_um_get_pdu_infos(ctxt_pP, l_rlc_p,(rlc_um_pdu_sn_10_t *) ((struct mac_tb_req *) (tb_p->data))->data_ptr, tb_size_in_bytes, &pdu_info, l_rlc_p->rx_sn_length);
|
||||||
|
|
||||||
if(MESSAGE_CHART_GENERATOR) {
|
message_string_size = 0;
|
||||||
message_string_size = 0;
|
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
||||||
message_string_size += sprintf(&message_string[message_string_size],
|
message_string_size += sprintf(&message_string[message_string_size], "PDU size : %u\n", tb_size_in_bytes);
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT" DATA SN %u size %u FI %u",
|
message_string_size += sprintf(&message_string[message_string_size], "Header size : %u\n", pdu_info.header_size);
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
message_string_size += sprintf(&message_string[message_string_size], "Payload size: %u\n", pdu_info.payload_size);
|
||||||
PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, l_rlc_p),
|
message_string_size += sprintf(&message_string[message_string_size], "PDU type : RLC UM DATA IND: UMD PDU\n\n");
|
||||||
pdu_info.sn,
|
message_string_size += sprintf(&message_string[message_string_size], "Header :\n");
|
||||||
tb_size_in_bytes,
|
message_string_size += sprintf(&message_string[message_string_size], " FI : %u\n", pdu_info.fi);
|
||||||
pdu_info.fi);
|
message_string_size += sprintf(&message_string[message_string_size], " E : %u\n", pdu_info.e);
|
||||||
|
message_string_size += sprintf(&message_string[message_string_size], " SN : %u\n", pdu_info.sn);
|
||||||
|
|
||||||
if (pdu_info.e) {
|
if (pdu_info.e) {
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "|HE:");
|
message_string_size += sprintf(&message_string[message_string_size], "\nHeader extension : \n");
|
||||||
|
|
||||||
for (index=0; index < pdu_info.num_li; index++) {
|
for (index=0; index < pdu_info.num_li; index++) {
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
|
message_string_size += sprintf(&message_string[message_string_size], " LI : %u\n", pdu_info.li_list[index]);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
|
|
||||||
(const char *)pdu_info.payload,
|
|
||||||
pdu_info.payload_size,
|
|
||||||
message_string);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(LOG_DEBUGFLAG(DEBUG_RLC)) {
|
message_string_size += sprintf(&message_string[message_string_size], "\nPayload : \n");
|
||||||
message_string_size = 0;
|
message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "Bearer : %ld\n", l_rlc_p->rb_id);
|
message_string_size += sprintf(&message_string[message_string_size], " | 0 1 2 3 4 5 6 7 8 9 a b c d e f |\n");
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "PDU size : %u\n", tb_size_in_bytes);
|
message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "Header size : %u\n", pdu_info.header_size);
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "Payload size: %u\n", pdu_info.payload_size);
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "PDU type : RLC UM DATA IND: UMD PDU\n\n");
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "Header :\n");
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " FI : %u\n", pdu_info.fi);
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " E : %u\n", pdu_info.e);
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " SN : %u\n", pdu_info.sn);
|
|
||||||
|
|
||||||
if (pdu_info.e) {
|
for (octet_index = 0; octet_index < pdu_info.payload_size; octet_index++) {
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "\nHeader extension : \n");
|
if ((octet_index % 16) == 0) {
|
||||||
|
if (octet_index != 0) {
|
||||||
for (index=0; index < pdu_info.num_li; index++) {
|
message_string_size += sprintf(&message_string[message_string_size], " |\n");
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " LI : %u\n", pdu_info.li_list[index]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "\nPayload : \n");
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " | 0 1 2 3 4 5 6 7 8 9 a b c d e f |\n");
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
|
|
||||||
|
|
||||||
for (octet_index = 0; octet_index < pdu_info.payload_size; octet_index++) {
|
|
||||||
if ((octet_index % 16) == 0) {
|
|
||||||
if (octet_index != 0) {
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " |\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
|
||||||
* Print every single octet in hexadecimal form
|
|
||||||
*/
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " %02x", pdu_info.payload[octet_index]);
|
|
||||||
/*
|
|
||||||
* Align newline and pipes according to the octets in groups of 2
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Append enough spaces and put final pipe
|
* Print every single octet in hexadecimal form
|
||||||
*/
|
*/
|
||||||
for (index = octet_index; index < 16; ++index) {
|
message_string_size += sprintf(&message_string[message_string_size], " %02x", pdu_info.payload[octet_index]);
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " ");
|
/*
|
||||||
}
|
* Align newline and pipes according to the octets in groups of 2
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
message_string_size += sprintf(&message_string[message_string_size], " |\n");
|
/*
|
||||||
LOG_UI(RLC, "%s\n", message_string);
|
* Append enough spaces and put final pipe
|
||||||
} /*LOG_DEBUGFLAG(DEBUG_RLC) */
|
*/
|
||||||
} /* MESSAGE_CHART_GENERATOR || LOG_DEBUGFLAG(DEBUG_RLC) */
|
for (index = octet_index; index < 16; ++index) {
|
||||||
|
message_string_size += sprintf(&message_string[message_string_size], " ");
|
||||||
|
}
|
||||||
|
|
||||||
|
message_string_size += sprintf(&message_string[message_string_size], " |\n");
|
||||||
|
LOG_UI(RLC, "%s\n", message_string);
|
||||||
|
} /* LOG_DEBUGFLAG(DEBUG_RLC) */
|
||||||
|
|
||||||
tb_p = tb_p->next;
|
tb_p = tb_p->next;
|
||||||
} /* while (tb_p != NULL) */
|
} /* while (tb_p != NULL) */
|
||||||
@@ -607,15 +528,6 @@ rlc_um_data_req (const protocol_ctxt_t *const ctxt_pP, void *rlc_pP, mem_block_t
|
|||||||
//rlc_p->next_sdu_index = (rlc_p->next_sdu_index + 1) % rlc_p->size_input_sdus_buffer;
|
//rlc_p->next_sdu_index = (rlc_p->next_sdu_index + 1) % rlc_p->size_input_sdus_buffer;
|
||||||
rlc_p->stat_tx_pdcp_sdu += 1;
|
rlc_p->stat_tx_pdcp_sdu += 1;
|
||||||
rlc_p->stat_tx_pdcp_bytes += ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->sdu_size;
|
rlc_p->stat_tx_pdcp_bytes += ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->sdu_size;
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT" DATA-REQ size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, rlc_p),
|
|
||||||
((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->sdu_size);
|
|
||||||
|
|
||||||
if (LOG_DEBUGFLAG(DEBUG_RLC) ) {
|
if (LOG_DEBUGFLAG(DEBUG_RLC) ) {
|
||||||
data_offset = sizeof (struct rlc_um_data_req_alloc);
|
data_offset = sizeof (struct rlc_um_data_req_alloc);
|
||||||
@@ -660,14 +572,6 @@ rlc_um_data_req (const protocol_ctxt_t *const ctxt_pP, void *rlc_pP, mem_block_t
|
|||||||
list_add_tail_eurecom(sdu_pP, &rlc_p->input_sdus);
|
list_add_tail_eurecom(sdu_pP, &rlc_p->input_sdus);
|
||||||
RLC_UM_MUTEX_UNLOCK(&rlc_p->lock_input_sdus);
|
RLC_UM_MUTEX_UNLOCK(&rlc_p->lock_input_sdus);
|
||||||
|
|
||||||
if (MESSAGE_CHART_GENERATOR) {
|
|
||||||
if (rlc_p->buffer_occupancy > 4096) {
|
|
||||||
MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 "PROTOCOL_RLC_AM_MSC_FMT" BO %u bytes",\
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_p), rlc_p->buffer_occupancy);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
LOG_T(RLC, PROTOCOL_RLC_UM_CTXT_FMT" BO %d , NB SDU %d\n",
|
LOG_T(RLC, PROTOCOL_RLC_UM_CTXT_FMT" BO %d , NB SDU %d\n",
|
||||||
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
||||||
rlc_p->buffer_occupancy,
|
rlc_p->buffer_occupancy,
|
||||||
|
|||||||
@@ -56,28 +56,13 @@
|
|||||||
rLC_Pp->rb_id,\
|
rLC_Pp->rb_id,\
|
||||||
__FUNCTION__
|
__FUNCTION__
|
||||||
|
|
||||||
#define PROTOCOL_RLC_UM_MSC_FMT "[RNTI %" PRIx16 " %s %02ld]"
|
|
||||||
#define PROTOCOL_RLC_UM_MSC_ARGS(CTXT_Pp, rLC_Pp) \
|
|
||||||
CTXT_Pp->rnti,\
|
|
||||||
(rLC_Pp->is_data_plane) ? "DRB UM" : "SRB UM",\
|
|
||||||
rLC_Pp->rb_id
|
|
||||||
|
|
||||||
#if defined(TRACE_RLC_MUTEX)
|
#if defined(TRACE_RLC_MUTEX)
|
||||||
#define RLC_UM_MUTEX_LOCK(mUTEX, cTXT, rLC) \
|
#define RLC_UM_MUTEX_LOCK(mUTEX, cTXT, rLC) \
|
||||||
do {\
|
do {\
|
||||||
int pmtl_rc = pthread_mutex_trylock(mUTEX);\
|
int pmtl_rc = pthread_mutex_trylock(mUTEX);\
|
||||||
if (pmtl_rc != 0){\
|
if (pmtl_rc != 0){\
|
||||||
if (pmtl_rc == EBUSY) {\
|
if (pmtl_rc == EBUSY) {\
|
||||||
MSC_LOG_EVENT((cTXT->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 " PROTOCOL_RLC_UM_MSC_FMT " Warning try lock %s busy",\
|
|
||||||
PROTOCOL_RLC_UM_MSC_ARGS(cTXT,rLC),\
|
|
||||||
#mUTEX);\
|
|
||||||
pthread_mutex_lock(mUTEX);\
|
pthread_mutex_lock(mUTEX);\
|
||||||
} else {\
|
|
||||||
MSC_LOG_EVENT((cTXT->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
|
|
||||||
"0 " PROTOCOL_RLC_UM_MSC_FMT " Error try lock %s %d",\
|
|
||||||
PROTOCOL_RLC_UM_MSC_ARGS(cTXT,rLC),\
|
|
||||||
#mUTEX, pmtl_rc);\
|
|
||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|||||||
@@ -32,7 +32,6 @@
|
|||||||
|
|
||||||
#include "rlc_um_control_primitives.h"
|
#include "rlc_um_control_primitives.h"
|
||||||
#include "LTE_T-Reordering.h"
|
#include "LTE_T-Reordering.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void config_req_rlc_um (
|
void config_req_rlc_um (
|
||||||
@@ -173,15 +172,6 @@ void config_req_rlc_um_asn1 (
|
|||||||
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
||||||
rlc_p->rb_id,
|
rlc_p->rb_id,
|
||||||
ul_rlc_pP->sn_FieldLength);
|
ul_rlc_pP->sn_FieldLength);
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RRC_ENB:MSC_RRC_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" CONFIG-REQ UL sn_FieldLength %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc_p),
|
|
||||||
ul_rlc_pP->sn_FieldLength);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -201,15 +191,6 @@ void config_req_rlc_um_asn1 (
|
|||||||
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
||||||
rlc_p->rb_id,
|
rlc_p->rb_id,
|
||||||
dl_rlc_pP->sn_FieldLength);
|
dl_rlc_pP->sn_FieldLength);
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RRC_ENB:MSC_RRC_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" CONFIG-REQ DL sn_FieldLength %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc_p),
|
|
||||||
dl_rlc_pP->sn_FieldLength);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,15 +201,6 @@ void config_req_rlc_um_asn1 (
|
|||||||
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
||||||
rlc_p->rb_id,
|
rlc_p->rb_id,
|
||||||
dl_rlc_pP->t_Reordering);
|
dl_rlc_pP->t_Reordering);
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RRC_ENB:MSC_RRC_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" CONFIG-REQ t_Reord %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc_p),
|
|
||||||
dl_rlc_pP->t_Reordering);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -239,34 +211,12 @@ void config_req_rlc_um_asn1 (
|
|||||||
ul_sn_FieldLength,
|
ul_sn_FieldLength,
|
||||||
dl_sn_FieldLength,
|
dl_sn_FieldLength,
|
||||||
mbms_flagP);
|
mbms_flagP);
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RRC_ENB:MSC_RRC_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" CONFIG-REQ t_Reord %u rx snfl %u tx snfl %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc_p),
|
|
||||||
t_Reordering,
|
|
||||||
ul_sn_FieldLength,
|
|
||||||
dl_sn_FieldLength);
|
|
||||||
} else {
|
} else {
|
||||||
rlc_um_configure(ctxt_pP,rlc_p,
|
rlc_um_configure(ctxt_pP,rlc_p,
|
||||||
t_Reordering,
|
t_Reordering,
|
||||||
dl_sn_FieldLength,
|
dl_sn_FieldLength,
|
||||||
ul_sn_FieldLength,
|
ul_sn_FieldLength,
|
||||||
mbms_flagP);
|
mbms_flagP);
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RRC_ENB:MSC_RRC_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" CONFIG-REQ t_Reord %u rx snfl %u tx snfl %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc_p),
|
|
||||||
t_Reordering,
|
|
||||||
dl_sn_FieldLength,
|
|
||||||
ul_sn_FieldLength);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
#include "platform_types.h"
|
#include "platform_types.h"
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
#include "msc.h"
|
|
||||||
#include "rlc.h"
|
#include "rlc.h"
|
||||||
#include "rlc_um.h"
|
#include "rlc_um.h"
|
||||||
#include "rlc_primitives.h"
|
#include "rlc_primitives.h"
|
||||||
|
|||||||
@@ -35,7 +35,6 @@
|
|||||||
#include "list.h"
|
#include "list.h"
|
||||||
#include "LAYER2/MAC/mac_extern.h"
|
#include "LAYER2/MAC/mac_extern.h"
|
||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
inline void
|
inline void
|
||||||
@@ -117,17 +116,6 @@ rlc_um_send_sdu (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP)
|
|||||||
rlc_pP->stat_rx_pdcp_sdu += 1;
|
rlc_pP->stat_rx_pdcp_sdu += 1;
|
||||||
rlc_pP->stat_rx_pdcp_bytes += rlc_pP->output_sdu_size_to_write;
|
rlc_pP->stat_rx_pdcp_bytes += rlc_pP->output_sdu_size_to_write;
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
|
|
||||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
|
||||||
(const char*)(rlc_pP->output_sdu_in_construction->data),
|
|
||||||
rlc_pP->output_sdu_size_to_write,
|
|
||||||
MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT" DATA-IND size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP,rlc_pP),
|
|
||||||
rlc_pP->output_sdu_size_to_write
|
|
||||||
);
|
|
||||||
|
|
||||||
#if TEST_RLC_UM
|
#if TEST_RLC_UM
|
||||||
#if TRACE_RLC_UM_DISPLAY_ASCII_DATA
|
#if TRACE_RLC_UM_DISPLAY_ASCII_DATA
|
||||||
rlc_pP->output_sdu_in_construction->data[rlc_pP->output_sdu_size_to_write] = 0;
|
rlc_pP->output_sdu_in_construction->data[rlc_pP->output_sdu_size_to_write] = 0;
|
||||||
|
|||||||
@@ -27,7 +27,6 @@
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
#include "rlc_um.h"
|
#include "rlc_um.h"
|
||||||
#include "rlc_primitives.h"
|
#include "rlc_primitives.h"
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
|
|
||||||
#include "m2ap_itti_messaging.h"
|
#include "m2ap_itti_messaging.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
@@ -174,8 +173,6 @@ int m2ap_MCE_generate_m2_setup_request(
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 M2Setup/initiatingMessage assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
|
|
||||||
m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 0);
|
m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -311,8 +308,6 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC
|
|||||||
|
|
||||||
m2ap_MCE_data_p->state = M2AP_MCE_STATE_READY;
|
m2ap_MCE_data_p->state = M2AP_MCE_STATE_READY;
|
||||||
|
|
||||||
//MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 M2Setup/successfulOutcome assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
|
|
||||||
m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 0);
|
m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -367,11 +362,6 @@ int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE,
|
|
||||||
// MSC_M2AP_TARGET_MCE, NULL, 0,
|
|
||||||
// "0 M2Setup/unsuccessfulOutcome assoc_id %u cause %u value %u",
|
|
||||||
// assoc_id, cause_type, cause_value);
|
|
||||||
|
|
||||||
m2ap_MCE_itti_send_sctp_data_req(instance, assoc_id, buffer, len, 0);
|
m2ap_MCE_itti_send_sctp_data_req(instance, assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -557,8 +547,6 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 X2Handover/initiatingMessage assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -650,8 +638,6 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 X2Handover/successfulOutcome assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -712,8 +698,6 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 X2UEContextRelease/initiatingMessage assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -796,8 +780,6 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 X2HandoverCancel/initiatingMessage assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
#include "m2ap_MCE_interface_management.h"
|
#include "m2ap_MCE_interface_management.h"
|
||||||
//#include "m2ap_eNB_interface_management.h"
|
//#include "m2ap_eNB_interface_management.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
|
|||||||
@@ -210,16 +210,7 @@ int MCE_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
|
|||||||
AssertFatal(MCE_MBMS_M2AP_ID!=-1,"MCE_MBMS_M2AP_ID was not sent\n");
|
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");
|
AssertFatal(ENB_MBMS_M2AP_ID!=-1,"ENB_MBMS_M2AP_ID was not sent\n");
|
||||||
//M2AP_SESSION_START_RESP(msg_p).
|
//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 M2AP_SESSION_START_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
LOG_D(M2AP, "Sending M2AP_SESSION_START_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
||||||
assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
|
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);
|
itti_send_msg_to_task(TASK_MCE_APP, ENB_MODULE_ID_TO_INSTANCE(assoc_id), msg_g);
|
||||||
@@ -348,14 +339,6 @@ int MCE_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
|
|||||||
AssertFatal(MCE_MBMS_M2AP_ID!=-1,"MCE_MBMS_M2AP_ID was not sent\n");
|
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");
|
AssertFatal(ENB_MBMS_M2AP_ID!=-1,"ENB_MBMS_M2AP_ID was not sent\n");
|
||||||
// M2AP_SESSION_STOP_RESP(msg_p).
|
// M2AP_SESSION_STOP_RESP(msg_p).
|
||||||
// MSC_LOG_RX_MESSAGE(
|
|
||||||
// MSC_M2AP_MCE,
|
|
||||||
// MSC_M2AP_ENB,
|
|
||||||
// 0,
|
|
||||||
// 0,
|
|
||||||
// MSC_AS_TIME_FMT" MCE_handle_M2_SESSION_STOP_RESPONSE successfulOutcome assoc_id %d",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// assoc_id);
|
|
||||||
|
|
||||||
// LOG_D(M2AP, "Sending M2AP_SESSION_START_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
// LOG_D(M2AP, "Sending M2AP_SESSION_START_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
||||||
// assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
|
// assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
|
||||||
@@ -645,14 +628,6 @@ int MCE_handle_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance,
|
|||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// M2AP_SESSION_STOP_RESP(msg_p).
|
// M2AP_SESSION_STOP_RESP(msg_p).
|
||||||
// MSC_LOG_RX_MESSAGE(
|
|
||||||
// MSC_M2AP_MCE,
|
|
||||||
// MSC_M2AP_ENB,
|
|
||||||
// 0,
|
|
||||||
// 0,
|
|
||||||
// MSC_AS_TIME_FMT" MCE_handle_M2_SCHEDULING_INFORMATION_RESPONSE successfulOutcome assoc_id %d",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// assoc_id);
|
|
||||||
//
|
//
|
||||||
// LOG_D(M2AP, "Sending M2AP_SCHEDULING_INFO_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
// LOG_D(M2AP, "Sending M2AP_SCHEDULING_INFO_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
||||||
// assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
|
// assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
|
||||||
@@ -836,15 +811,6 @@ int MCE_handle_M2_SETUP_REQUEST(instance_t instance,
|
|||||||
*m2ap_mce_data_from_enb = M2AP_SETUP_REQ(message_p);
|
*m2ap_mce_data_from_enb = M2AP_SETUP_REQ(message_p);
|
||||||
//printf("m2ap_mce_data_from_enb->assoc_id %d %d\n",m2ap_mce_data_from_enb->assoc_id,assoc_id);
|
//printf("m2ap_mce_data_from_enb->assoc_id %d %d\n",m2ap_mce_data_from_enb->assoc_id,assoc_id);
|
||||||
|
|
||||||
// MSC_LOG_TX_MESSAGE(
|
|
||||||
// MSC_M2AP_MCE,
|
|
||||||
// MSC_RRC_ENB,
|
|
||||||
// 0,
|
|
||||||
// 0,
|
|
||||||
// MSC_AS_TIME_FMT" MCE_handle_M2_SETUP_REQUEST",
|
|
||||||
// 0,0//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// );
|
|
||||||
//
|
|
||||||
if (num_mbms_available > 0) {
|
if (num_mbms_available > 0) {
|
||||||
itti_send_msg_to_task(TASK_MCE_APP, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
|
itti_send_msg_to_task(TASK_MCE_APP, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
|
||||||
} else {
|
} else {
|
||||||
@@ -1217,15 +1183,6 @@ int MCE_handle_MCE_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
|||||||
//for (int i=0;i<num_cells_to_activate;i++)
|
//for (int i=0;i<num_cells_to_activate;i++)
|
||||||
// AssertFatal(M2AP_SETUP_RESP (msg_p).num_SI[i] > 0, "System Information %d is missing",i);
|
// AssertFatal(M2AP_SETUP_RESP (msg_p).num_SI[i] > 0, "System Information %d is missing",i);
|
||||||
|
|
||||||
//MSC_LOG_RX_MESSAGE(
|
|
||||||
// MSC_M2AP_eNB,
|
|
||||||
// MSC_M2AP_CU,
|
|
||||||
// 0,
|
|
||||||
// 0,
|
|
||||||
// MSC_AS_TIME_FMT" eNB_handle_M2_SETUP_RESPONSE successfulOutcome assoc_id %d",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// assoc_id);
|
|
||||||
|
|
||||||
//LOG_D(M2AP, "Sending M2AP_SETUP_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
//LOG_D(M2AP, "Sending M2AP_SETUP_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
||||||
// assoc_id,ENB_MOeNBLE_ID_TO_INSTANCE(assoc_id));
|
// assoc_id,ENB_MOeNBLE_ID_TO_INSTANCE(assoc_id));
|
||||||
|
|
||||||
@@ -1430,16 +1387,7 @@ int MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance,
|
|||||||
//AssertFatal(MCE_MBMS_M2AP_ID!=-1,"MCE_MBMS_M2AP_ID was not sent\n");
|
//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");
|
//AssertFatal(ENB_MBMS_M2AP_ID!=-1,"ENB_MBMS_M2AP_ID was not sent\n");
|
||||||
//M2AP_SESSION_START_RESP(msg_p).
|
//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",
|
//LOG_D(M2AP, "Sending ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
||||||
//assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
|
//assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
|
|
||||||
#include "m2ap_itti_messaging.h"
|
#include "m2ap_itti_messaging.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
@@ -169,15 +168,6 @@
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
// LOG_W(M2AP,"pdu.present %d\n",pdu.present);
|
// LOG_W(M2AP,"pdu.present %d\n",pdu.present);
|
||||||
// // MSC_LOG_TX_MESSAGE(
|
|
||||||
// // MSC_M2AP_eNB,
|
|
||||||
// // MSC_M2AP_MCE,
|
|
||||||
// // (const char *)buffer,
|
|
||||||
// // len,
|
|
||||||
// // MSC_AS_TIME_FMT" M2_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// // 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// // m2ap_eNB_data_p->ENBname);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p, m2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p, m2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
||||||
//
|
//
|
||||||
// return 0;
|
// return 0;
|
||||||
@@ -315,8 +305,6 @@
|
|||||||
//
|
//
|
||||||
// m2ap_eNB_data_p->state = M2AP_ENB_STATE_READY;
|
// m2ap_eNB_data_p->state = M2AP_ENB_STATE_READY;
|
||||||
//
|
//
|
||||||
// //MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB, MSC_M2AP_TARGET_ENB, NULL, 0, "0 M2Setup/successfulOutcome assoc_id %u", m2ap_eNB_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -371,11 +359,6 @@
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// //MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB,
|
|
||||||
// // MSC_M2AP_TARGET_ENB, NULL, 0,
|
|
||||||
// // "0 M2Setup/unsuccessfulOutcome assoc_id %u cause %u value %u",
|
|
||||||
// // assoc_id, cause_type, cause_value);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance, assoc_id, buffer, len, 0);
|
// m2ap_eNB_itti_send_sctp_data_req(instance, assoc_id, buffer, len, 0);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -561,8 +544,6 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB, MSC_M2AP_TARGET_ENB, NULL, 0, "0 X2Handover/initiatingMessage assoc_id %u", m2ap_eNB_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -654,8 +635,6 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB, MSC_M2AP_TARGET_ENB, NULL, 0, "0 X2Handover/successfulOutcome assoc_id %u", m2ap_eNB_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -716,8 +695,6 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB, MSC_M2AP_TARGET_ENB, NULL, 0, "0 X2UEContextRelease/initiatingMessage assoc_id %u", m2ap_eNB_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -800,8 +777,6 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB, MSC_M2AP_TARGET_ENB, NULL, 0, "0 X2HandoverCancel/initiatingMessage assoc_id %u", m2ap_eNB_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
//#include "m2ap_MCE_interface_management.h"
|
//#include "m2ap_MCE_interface_management.h"
|
||||||
#include "m2ap_eNB_interface_management.h"
|
#include "m2ap_eNB_interface_management.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
|
|
||||||
#include "m2ap_itti_messaging.h"
|
#include "m2ap_itti_messaging.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
@@ -255,15 +254,6 @@ int eNB_send_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance, m2ap_mbms
|
|||||||
|
|
||||||
|
|
||||||
LOG_D(M2AP,"pdu.present %d\n",pdu.present);
|
LOG_D(M2AP,"pdu.present %d\n",pdu.present);
|
||||||
// MSC_LOG_TX_MESSAGE(
|
|
||||||
// MSC_M2AP_eNB,
|
|
||||||
// MSC_M2AP_MCE,
|
|
||||||
// (const char *)buffer,
|
|
||||||
// len,
|
|
||||||
// MSC_AS_TIME_FMT" M2_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// m2ap_eNB_data_p->ENBname);
|
|
||||||
|
|
||||||
m2ap_eNB_itti_send_sctp_data_req(instance, m2ap_enb_data_g->assoc_id, buffer, len, 0);
|
m2ap_eNB_itti_send_sctp_data_req(instance, m2ap_enb_data_g->assoc_id, buffer, len, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -359,14 +349,6 @@ int eNB_send_MBMS_SESSION_START_RESPONSE(instance_t instance, m2ap_session_start
|
|||||||
|
|
||||||
|
|
||||||
LOG_D(M2AP,"pdu.present %d\n",pdu.present);
|
LOG_D(M2AP,"pdu.present %d\n",pdu.present);
|
||||||
// MSC_LOG_TX_MESSAGE(
|
|
||||||
// MSC_M2AP_eNB,
|
|
||||||
// MSC_M2AP_MCE,
|
|
||||||
// (const char *)buffer,
|
|
||||||
// len,
|
|
||||||
// MSC_AS_TIME_FMT" M2_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// m2ap_eNB_data_p->ENBname);
|
|
||||||
|
|
||||||
m2ap_eNB_itti_send_sctp_data_req(instance, m2ap_enb_data_g->assoc_id, buffer, len, 0);
|
m2ap_eNB_itti_send_sctp_data_req(instance, m2ap_enb_data_g->assoc_id, buffer, len, 0);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -531,14 +513,6 @@ int eNB_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m2ap_session_stop_r
|
|||||||
|
|
||||||
|
|
||||||
LOG_D(M2AP,"pdu.present %d\n",pdu.present);
|
LOG_D(M2AP,"pdu.present %d\n",pdu.present);
|
||||||
// MSC_LOG_TX_MESSAGE(
|
|
||||||
// MSC_M2AP_eNB,
|
|
||||||
// MSC_M2AP_MCE,
|
|
||||||
// (const char *)buffer,
|
|
||||||
// len,
|
|
||||||
// MSC_AS_TIME_FMT" M2_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// m2ap_eNB_data_p->ENBname);
|
|
||||||
|
|
||||||
m2ap_eNB_itti_send_sctp_data_req(instance, m2ap_enb_data_g->assoc_id, buffer, len, 0);
|
m2ap_eNB_itti_send_sctp_data_req(instance, m2ap_enb_data_g->assoc_id, buffer, len, 0);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -700,15 +674,6 @@ int eNB_send_M2_SETUP_REQUEST(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t*
|
|||||||
|
|
||||||
|
|
||||||
LOG_D(M2AP,"pdu.present %d\n",pdu.present);
|
LOG_D(M2AP,"pdu.present %d\n",pdu.present);
|
||||||
// MSC_LOG_TX_MESSAGE(
|
|
||||||
// MSC_M2AP_eNB,
|
|
||||||
// MSC_M2AP_MCE,
|
|
||||||
// (const char *)buffer,
|
|
||||||
// len,
|
|
||||||
// MSC_AS_TIME_FMT" M2_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// m2ap_eNB_data_p->ENBname);
|
|
||||||
|
|
||||||
|
|
||||||
// buffer = &bytes[0];
|
// buffer = &bytes[0];
|
||||||
// len = 40;
|
// len = 40;
|
||||||
@@ -826,15 +791,6 @@ int eNB_handle_M2_SETUP_RESPONSE(instance_t instance,
|
|||||||
//for (int i=0;i<num_cells_to_activate;i++)
|
//for (int i=0;i<num_cells_to_activate;i++)
|
||||||
// AssertFatal(M2AP_SETUP_RESP (msg_p).num_SI[i] > 0, "System Information %d is missing",i);
|
// AssertFatal(M2AP_SETUP_RESP (msg_p).num_SI[i] > 0, "System Information %d is missing",i);
|
||||||
|
|
||||||
//MSC_LOG_RX_MESSAGE(
|
|
||||||
// MSC_M2AP_eNB,
|
|
||||||
// MSC_M2AP_CU,
|
|
||||||
// 0,
|
|
||||||
// 0,
|
|
||||||
// MSC_AS_TIME_FMT" eNB_handle_M2_SETUP_RESPONSE successfulOutcome assoc_id %d",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// assoc_id);
|
|
||||||
|
|
||||||
//LOG_D(M2AP, "Sending M2AP_SETUP_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
//LOG_D(M2AP, "Sending M2AP_SETUP_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
||||||
// assoc_id,ENB_MOeNBLE_ID_TO_INSTANCE(assoc_id));
|
// assoc_id,ENB_MOeNBLE_ID_TO_INSTANCE(assoc_id));
|
||||||
//itti_send_msg_to_task(TASK_ENB_APP, ENB_MODULE_ID_TO_INSTANCE(assoc_id), msg_p2);
|
//itti_send_msg_to_task(TASK_ENB_APP, ENB_MODULE_ID_TO_INSTANCE(assoc_id), msg_p2);
|
||||||
@@ -880,15 +836,6 @@ int eNB_handle_M2_SETUP_FAILURE(instance_t instance,
|
|||||||
//for (int i=0;i<num_cells_to_activate;i++)
|
//for (int i=0;i<num_cells_to_activate;i++)
|
||||||
// AssertFatal(M2AP_SETUP_RESP (msg_p).num_SI[i] > 0, "System Information %d is missing",i);
|
// AssertFatal(M2AP_SETUP_RESP (msg_p).num_SI[i] > 0, "System Information %d is missing",i);
|
||||||
|
|
||||||
//MSC_LOG_RX_MESSAGE(
|
|
||||||
// MSC_M2AP_eNB,
|
|
||||||
// MSC_M2AP_CU,
|
|
||||||
// 0,
|
|
||||||
// 0,
|
|
||||||
// MSC_AS_TIME_FMT" eNB_handle_M2_SETUP_RESPONSE successfulOutcome assoc_id %d",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// assoc_id);
|
|
||||||
|
|
||||||
//LOG_D(M2AP, "Sending M2AP_SETUP_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
//LOG_D(M2AP, "Sending M2AP_SETUP_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
||||||
// assoc_id,ENB_MOeNBLE_ID_TO_INSTANCE(assoc_id));
|
// assoc_id,ENB_MOeNBLE_ID_TO_INSTANCE(assoc_id));
|
||||||
|
|
||||||
@@ -1025,15 +972,6 @@ int eNB_send_eNB_CONFIGURATION_UPDATE(instance_t instance, m2ap_enb_configuratio
|
|||||||
|
|
||||||
|
|
||||||
LOG_D(M2AP,"pdu.present %d\n",pdu.present);
|
LOG_D(M2AP,"pdu.present %d\n",pdu.present);
|
||||||
// MSC_LOG_TX_MESSAGE(
|
|
||||||
// MSC_M2AP_eNB,
|
|
||||||
// MSC_M2AP_MCE,
|
|
||||||
// (const char *)buffer,
|
|
||||||
// len,
|
|
||||||
// MSC_AS_TIME_FMT" M2_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// m2ap_eNB_data_p->ENBname);
|
|
||||||
|
|
||||||
|
|
||||||
// buffer = &bytes[0];
|
// buffer = &bytes[0];
|
||||||
// len = 40;
|
// len = 40;
|
||||||
@@ -1086,15 +1024,6 @@ int eNB_handle_eNB_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
|||||||
//for (int i=0;i<num_cells_to_activate;i++)
|
//for (int i=0;i<num_cells_to_activate;i++)
|
||||||
// AssertFatal(M2AP_SETUP_RESP (msg_p).num_SI[i] > 0, "System Information %d is missing",i);
|
// AssertFatal(M2AP_SETUP_RESP (msg_p).num_SI[i] > 0, "System Information %d is missing",i);
|
||||||
|
|
||||||
//MSC_LOG_RX_MESSAGE(
|
|
||||||
// MSC_M2AP_eNB,
|
|
||||||
// MSC_M2AP_CU,
|
|
||||||
// 0,
|
|
||||||
// 0,
|
|
||||||
// MSC_AS_TIME_FMT" eNB_handle_M2_SETUP_RESPONSE successfulOutcome assoc_id %d",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// assoc_id);
|
|
||||||
|
|
||||||
//LOG_D(M2AP, "Sending M2AP_SETUP_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
//LOG_D(M2AP, "Sending M2AP_SETUP_RESP ITTI message to ENB_APP with assoc_id (%d->%d)\n",
|
||||||
// assoc_id,ENB_MOeNBLE_ID_TO_INSTANCE(assoc_id));
|
// assoc_id,ENB_MOeNBLE_ID_TO_INSTANCE(assoc_id));
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
#include "m2ap_MCE_interface_management.h"
|
#include "m2ap_MCE_interface_management.h"
|
||||||
#include "m2ap_eNB_interface_management.h"
|
#include "m2ap_eNB_interface_management.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@
|
|||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "rrc_eNB_UE_context.h"
|
#include "rrc_eNB_UE_context.h"
|
||||||
#include "pdcp.h"
|
#include "pdcp.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "common/ran_context.h"
|
#include "common/ran_context.h"
|
||||||
|
|
||||||
#include "intertask_interface.h"
|
#include "intertask_interface.h"
|
||||||
|
|||||||
@@ -34,7 +34,6 @@
|
|||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "rrc_eNB_UE_context.h"
|
#include "rrc_eNB_UE_context.h"
|
||||||
#include "pdcp.h"
|
#include "pdcp.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "common/ran_context.h"
|
#include "common/ran_context.h"
|
||||||
|
|
||||||
#include "intertask_interface.h"
|
#include "intertask_interface.h"
|
||||||
@@ -62,16 +61,6 @@ rrc_data_req(
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
ctxt_pP->enb_flag ? MSC_RRC_ENB : MSC_RRC_UE,
|
|
||||||
ctxt_pP->enb_flag ? MSC_PDCP_ENB : MSC_PDCP_UE,
|
|
||||||
buffer_pP,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT"RRC_DCCH_DATA_REQ UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ctxt_pP->rnti,
|
|
||||||
muiP,
|
|
||||||
sdu_sizeP);
|
|
||||||
MessageDef *message_p;
|
MessageDef *message_p;
|
||||||
// Uses a new buffer to avoid issue with PDCP buffer content that could be changed by PDCP (asynchronous message handling).
|
// Uses a new buffer to avoid issue with PDCP buffer content that could be changed by PDCP (asynchronous message handling).
|
||||||
uint8_t *message_buffer;
|
uint8_t *message_buffer;
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "rrc_eNB_UE_context.h"
|
#include "rrc_eNB_UE_context.h"
|
||||||
#include "pdcp.h"
|
#include "pdcp.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
|
|
||||||
#include "intertask_interface.h"
|
#include "intertask_interface.h"
|
||||||
@@ -274,16 +273,6 @@ rrc_data_req_ue(
|
|||||||
)
|
)
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
{
|
{
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
ctxt_pP->enb_flag ? MSC_RRC_ENB : MSC_RRC_UE,
|
|
||||||
ctxt_pP->enb_flag ? MSC_PDCP_ENB : MSC_PDCP_UE,
|
|
||||||
buffer_pP,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT"RRC_DCCH_DATA_REQ UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ctxt_pP->rnti,
|
|
||||||
muiP,
|
|
||||||
sdu_sizeP);
|
|
||||||
{
|
{
|
||||||
MessageDef *message_p;
|
MessageDef *message_p;
|
||||||
// Uses a new buffer to avoid issue with PDCP buffer content that could be changed by PDCP (asynchronous message handling).
|
// Uses a new buffer to avoid issue with PDCP buffer content that could be changed by PDCP (asynchronous message handling).
|
||||||
|
|||||||
@@ -71,7 +71,6 @@
|
|||||||
|
|
||||||
#include "pdcp.h"
|
#include "pdcp.h"
|
||||||
#include "plmn_data.h"
|
#include "plmn_data.h"
|
||||||
#include "msc.h"
|
|
||||||
#include <common/utils/system.h>
|
#include <common/utils/system.h>
|
||||||
|
|
||||||
#include "intertask_interface.h"
|
#include "intertask_interface.h"
|
||||||
@@ -1390,16 +1389,6 @@ rrc_ue_process_radioResourceConfigDedicated(
|
|||||||
uint8_t *kUPenc = NULL;
|
uint8_t *kUPenc = NULL;
|
||||||
derive_key_up_enc(UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm,
|
derive_key_up_enc(UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm,
|
||||||
UE_rrc_inst[ctxt_pP->module_id].kenb, &kUPenc);
|
UE_rrc_inst[ctxt_pP->module_id].kenb, &kUPenc);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_UE,
|
|
||||||
MSC_PDCP_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" CONFIG_REQ UE %x DRB (security %X)",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ctxt_pP->rnti,
|
|
||||||
UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm |
|
|
||||||
(UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm << 4));
|
|
||||||
// Refresh DRBs
|
// Refresh DRBs
|
||||||
rrc_pdcp_config_asn1_req(ctxt_pP,
|
rrc_pdcp_config_asn1_req(ctxt_pP,
|
||||||
(LTE_SRB_ToAddModList_t *)NULL,
|
(LTE_SRB_ToAddModList_t *)NULL,
|
||||||
|
|||||||
@@ -58,7 +58,6 @@
|
|||||||
#include "rlc.h"
|
#include "rlc.h"
|
||||||
#include "rrc_eNB_UE_context.h"
|
#include "rrc_eNB_UE_context.h"
|
||||||
#include "platform_types.h"
|
#include "platform_types.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "LTE_SL-CommConfig-r12.h"
|
#include "LTE_SL-CommConfig-r12.h"
|
||||||
#include "LTE_PeriodicBSR-Timer-r12.h"
|
#include "LTE_PeriodicBSR-Timer-r12.h"
|
||||||
#include "LTE_RetxBSR-Timer-r12.h"
|
#include "LTE_RetxBSR-Timer-r12.h"
|
||||||
@@ -1247,16 +1246,6 @@ rrc_eNB_generate_SecurityModeCommand(
|
|||||||
size,
|
size,
|
||||||
rrc_eNB_mui,
|
rrc_eNB_mui,
|
||||||
DCCH);
|
DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" securityModeCommand UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
|
|
||||||
if (!NODE_IS_DU(RC.rrc[ctxt_pP->module_id]->node_type)) {
|
if (!NODE_IS_DU(RC.rrc[ctxt_pP->module_id]->node_type)) {
|
||||||
LOG_I(RRC,"calling rrc_data_req :securityModeCommand\n");
|
LOG_I(RRC,"calling rrc_data_req :securityModeCommand\n");
|
||||||
@@ -1301,16 +1290,6 @@ rrc_eNB_generate_UECapabilityEnquiry(
|
|||||||
size,
|
size,
|
||||||
rrc_eNB_mui,
|
rrc_eNB_mui,
|
||||||
DCCH);
|
DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" rrcUECapabilityEnquiry UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
rrc_data_req(
|
rrc_data_req(
|
||||||
ctxt_pP,
|
ctxt_pP,
|
||||||
DCCH,
|
DCCH,
|
||||||
@@ -1352,16 +1331,6 @@ rrc_eNB_generate_NR_UECapabilityEnquiry(
|
|||||||
size,
|
size,
|
||||||
rrc_eNB_mui,
|
rrc_eNB_mui,
|
||||||
DCCH);
|
DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" rrcNRUECapabilityEnquiry UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
rrc_data_req(
|
rrc_data_req(
|
||||||
ctxt_pP,
|
ctxt_pP,
|
||||||
DCCH,
|
DCCH,
|
||||||
@@ -1391,15 +1360,6 @@ rrc_eNB_generate_RRCConnectionReject(
|
|||||||
(char *)(ue_p->Srb0.Tx_buffer.Payload),
|
(char *)(ue_p->Srb0.Tx_buffer.Payload),
|
||||||
ue_p->Srb0.Tx_buffer.payload_size,
|
ue_p->Srb0.Tx_buffer.payload_size,
|
||||||
"[MSG] RRCConnectionReject\n");
|
"[MSG] RRCConnectionReject\n");
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
ue_p->Srb0.Tx_buffer.Header,
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionReject UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP == NULL ? -1 : ue_context_pP->ue_context.rnti,
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size);
|
|
||||||
LOG_I(RRC,
|
LOG_I(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating LTE_RRCConnectionReject (bytes %d)\n",
|
PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating LTE_RRCConnectionReject (bytes %d)\n",
|
||||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
@@ -1509,14 +1469,6 @@ rrc_eNB_generate_RRCConnectionReestablishment(
|
|||||||
} // for (int cnt = 0; cnt < (*SRB_configList)->list.count; cnt++)
|
} // for (int cnt = 0; cnt < (*SRB_configList)->list.count; cnt++)
|
||||||
} // if (*SRB_configList != NULL)
|
} // if (*SRB_configList != NULL)
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
ue_context->Srb0.Tx_buffer.Header,
|
|
||||||
ue_context->Srb0.Tx_buffer.payload_size,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionReestablishment UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context->rnti,
|
|
||||||
ue_context->Srb0.Tx_buffer.payload_size);
|
|
||||||
LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating LTE_RRCConnectionReestablishment (bytes %d)\n",
|
LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating LTE_RRCConnectionReestablishment (bytes %d)\n",
|
||||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
ue_context->Srb0.Tx_buffer.payload_size);
|
ue_context->Srb0.Tx_buffer.payload_size);
|
||||||
@@ -2058,16 +2010,6 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
|
|||||||
LOG_D(RRC,
|
LOG_D(RRC,
|
||||||
"[FRAME %05d][RRC_eNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
"[FRAME %05d][RRC_eNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
||||||
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_eNB_mui, ctxt_pP->module_id, DCCH);
|
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_eNB_mui, ctxt_pP->module_id, DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
rrc_data_req(
|
rrc_data_req(
|
||||||
ctxt_pP,
|
ctxt_pP,
|
||||||
DCCH,
|
DCCH,
|
||||||
@@ -2154,15 +2096,6 @@ rrc_eNB_generate_RRCConnectionReestablishmentReject(
|
|||||||
(char *)(ue_p->Srb0.Tx_buffer.Payload),
|
(char *)(ue_p->Srb0.Tx_buffer.Payload),
|
||||||
ue_p->Srb0.Tx_buffer.payload_size,
|
ue_p->Srb0.Tx_buffer.payload_size,
|
||||||
"[MSG] RRCConnectionReestablishmentReject\n");
|
"[MSG] RRCConnectionReestablishmentReject\n");
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
ue_p->Srb0.Tx_buffer.Header,
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionReestablishmentReject UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP == NULL ? -1 : ue_context_pP->ue_context.rnti,
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size);
|
|
||||||
LOG_I(RRC,
|
LOG_I(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating LTE_RRCConnectionReestablishmentReject (bytes %d)\n",
|
PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating LTE_RRCConnectionReestablishmentReject (bytes %d)\n",
|
||||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
@@ -2230,16 +2163,6 @@ rrc_eNB_generate_RRCConnectionRelease(
|
|||||||
size,
|
size,
|
||||||
rrc_eNB_mui,
|
rrc_eNB_mui,
|
||||||
DCCH);
|
DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionRelease UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
pthread_mutex_lock(&rrc_release_freelist);
|
pthread_mutex_lock(&rrc_release_freelist);
|
||||||
|
|
||||||
for (release_num = 0; release_num < NUMBER_OF_UE_MAX; release_num++) {
|
for (release_num = 0; release_num < NUMBER_OF_UE_MAX; release_num++) {
|
||||||
@@ -2525,16 +2448,6 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t *co
|
|||||||
LOG_D(RRC,
|
LOG_D(RRC,
|
||||||
"[FRAME %05d][RRC_eNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
"[FRAME %05d][RRC_eNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
||||||
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_eNB_mui, ctxt_pP->module_id, DCCH);
|
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_eNB_mui, ctxt_pP->module_id, DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" dedicated LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
rrc_data_req(
|
rrc_data_req(
|
||||||
ctxt_pP,
|
ctxt_pP,
|
||||||
DCCH,
|
DCCH,
|
||||||
@@ -2773,16 +2686,6 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t *cons
|
|||||||
LOG_D(RRC,
|
LOG_D(RRC,
|
||||||
"[FRAME %05d][RRC_eNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
"[FRAME %05d][RRC_eNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
||||||
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_eNB_mui, ctxt_pP->module_id, DCCH);
|
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_eNB_mui, ctxt_pP->module_id, DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" dedicated LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
rrc_data_req(
|
rrc_data_req(
|
||||||
ctxt_pP,
|
ctxt_pP,
|
||||||
DCCH,
|
DCCH,
|
||||||
@@ -2883,16 +2786,6 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release( const protocol_
|
|||||||
LOG_D(RRC,
|
LOG_D(RRC,
|
||||||
"[FRAME %05d][RRC_eNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
"[FRAME %05d][RRC_eNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
||||||
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_eNB_mui, ctxt_pP->module_id, DCCH);
|
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_eNB_mui, ctxt_pP->module_id, DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" dedicated LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
rrc_data_req(
|
rrc_data_req(
|
||||||
ctxt_pP,
|
ctxt_pP,
|
||||||
DCCH,
|
DCCH,
|
||||||
@@ -3603,15 +3496,6 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
|
|||||||
rrc_eNB_mui,
|
rrc_eNB_mui,
|
||||||
ctxt_pP->module_id,
|
ctxt_pP->module_id,
|
||||||
DCCH);
|
DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
rrc_data_req(ctxt_pP,
|
rrc_data_req(ctxt_pP,
|
||||||
DCCH,
|
DCCH,
|
||||||
rrc_eNB_mui++,
|
rrc_eNB_mui++,
|
||||||
@@ -4316,15 +4200,6 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
|
|||||||
rrc_eNB_mui,
|
rrc_eNB_mui,
|
||||||
ctxt_pP->module_id,
|
ctxt_pP->module_id,
|
||||||
DCCH);
|
DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
rrc_data_req(ctxt_pP,
|
rrc_data_req(ctxt_pP,
|
||||||
DCCH,
|
DCCH,
|
||||||
rrc_eNB_mui++,
|
rrc_eNB_mui++,
|
||||||
@@ -4392,16 +4267,6 @@ rrc_eNB_generate_RRCConnectionReconfiguration_SCell(
|
|||||||
);
|
);
|
||||||
LOG_I(RRC,"[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration (bytes %d, UE id %x)\n",
|
LOG_I(RRC,"[eNB %d] Frame %d, Logical Channel DL-DCCH, Generate LTE_RRCConnectionReconfiguration (bytes %d, UE id %x)\n",
|
||||||
ctxt_pP->module_id,ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
|
ctxt_pP->module_id,ctxt_pP->frame, size, ue_context_pP->ue_context.rnti);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
rrc_data_req(
|
rrc_data_req(
|
||||||
ctxt_pP,
|
ctxt_pP,
|
||||||
DCCH,
|
DCCH,
|
||||||
@@ -4996,7 +4861,6 @@ void rrc_eNB_handover_ue_context_release(
|
|||||||
//msg_release_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE);
|
//msg_release_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE);
|
||||||
//itti_send_msg_to_task(TASK_S1AP, ctxt_pP->module_id, msg_release_p);
|
//itti_send_msg_to_task(TASK_S1AP, ctxt_pP->module_id, msg_release_p);
|
||||||
s1ap_ue_context_release(ctxt_pP->instance, ue_context_p->ue_context.eNB_ue_s1ap_id);
|
s1ap_ue_context_release(ctxt_pP->instance, ue_context_p->ue_context.eNB_ue_s1ap_id);
|
||||||
//MSC_LOG_TX_MESSAGE(MSC_RRC_ENB, MSC_GTPU_ENB, NULL,0, "0 GTPV1U_ENB_DELETE_TUNNEL_REQ rnti %x ", eNB_ue_s1ap_id);
|
|
||||||
gtpv1u_enb_delete_tunnel_req_t delete_tunnels={0};
|
gtpv1u_enb_delete_tunnel_req_t delete_tunnels={0};
|
||||||
delete_tunnels.rnti = ue_context_p->ue_context.rnti;
|
delete_tunnels.rnti = ue_context_p->ue_context.rnti;
|
||||||
delete_tunnels.from_gnb = 0;
|
delete_tunnels.from_gnb = 0;
|
||||||
@@ -6330,16 +6194,6 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct
|
|||||||
LOG_D(RRC,
|
LOG_D(RRC,
|
||||||
"[FRAME %05d][RRC_eNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration handover to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
"[FRAME %05d][RRC_eNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration handover to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
||||||
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_eNB_mui, ctxt_pP->module_id, DCCH);
|
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_eNB_mui, ctxt_pP->module_id, DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" rrcConnectionReconfiguration handover UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_eNB_mui,
|
|
||||||
size);
|
|
||||||
/* Refresh SRBs/DRBs */
|
/* Refresh SRBs/DRBs */
|
||||||
rrc_pdcp_config_asn1_req(ctxt_pP,
|
rrc_pdcp_config_asn1_req(ctxt_pP,
|
||||||
*SRB_configList2, // NULL,
|
*SRB_configList2, // NULL,
|
||||||
@@ -6535,9 +6389,6 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
|||||||
ue_context_pP->ue_context.kenb,
|
ue_context_pP->ue_context.kenb,
|
||||||
&kRRCint);
|
&kRRCint);
|
||||||
/* Refresh SRBs/DRBs */
|
/* Refresh SRBs/DRBs */
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_ENB, MSC_PDCP_ENB, NULL, 0, MSC_AS_TIME_FMT" CONFIG_REQ UE %x DRB (security unchanged)",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti);
|
|
||||||
rrc_pdcp_config_asn1_req(ctxt_pP,
|
rrc_pdcp_config_asn1_req(ctxt_pP,
|
||||||
SRB_configList, // NULL,
|
SRB_configList, // NULL,
|
||||||
DRB_configList,
|
DRB_configList,
|
||||||
@@ -6906,15 +6757,6 @@ rrc_eNB_generate_RRCConnectionSetup(
|
|||||||
LOG_W(RRC, "Unknown node type %d\n", RC.rrc[ctxt_pP->module_id]->node_type);
|
LOG_W(RRC, "Unknown node type %d\n", RC.rrc[ctxt_pP->module_id]->node_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
ue_p->Srb0.Tx_buffer.Header, // LG WARNING
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size,
|
|
||||||
MSC_AS_TIME_FMT" RRCConnectionSetup UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size);
|
|
||||||
LOG_I(RRC,
|
LOG_I(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating RRCConnectionSetup (bytes %d)\n",
|
PROTOCOL_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating RRCConnectionSetup (bytes %d)\n",
|
||||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
@@ -7326,13 +7168,6 @@ rrc_eNB_decode_ccch(
|
|||||||
LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT"CALLING RLC CONFIG SRB1 (rbid %d)\n",
|
LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT"CALLING RLC CONFIG SRB1 (rbid %d)\n",
|
||||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
Idx);
|
Idx);
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_ENB,
|
|
||||||
MSC_PDCP_ENB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" CONFIG_REQ UE %x SRB",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti);
|
|
||||||
rrc_pdcp_config_asn1_req(ctxt_pP,
|
rrc_pdcp_config_asn1_req(ctxt_pP,
|
||||||
ue_context_p->ue_context.SRB_configList,
|
ue_context_p->ue_context.SRB_configList,
|
||||||
(LTE_DRB_ToAddModList_t *) NULL,
|
(LTE_DRB_ToAddModList_t *) NULL,
|
||||||
@@ -7373,15 +7208,6 @@ rrc_eNB_decode_ccch(
|
|||||||
if (ue_context_p != NULL) {
|
if (ue_context_p != NULL) {
|
||||||
// erase content
|
// erase content
|
||||||
rrc_eNB_free_mem_UE_context(ctxt_pP, ue_context_p);
|
rrc_eNB_free_mem_UE_context(ctxt_pP, ue_context_p);
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
dec_rval.consumed,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionRequest UE %x size %u (UE already in context)",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
dec_rval.consumed);
|
|
||||||
} else {
|
} else {
|
||||||
rrcConnectionRequest = &ul_ccch_msg->message.choice.c1.choice.rrcConnectionRequest.criticalExtensions.choice.rrcConnectionRequest_r8;
|
rrcConnectionRequest = &ul_ccch_msg->message.choice.c1.choice.rrcConnectionRequest.criticalExtensions.choice.rrcConnectionRequest_r8;
|
||||||
{
|
{
|
||||||
@@ -7467,18 +7293,6 @@ rrc_eNB_decode_ccch(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
dec_rval.consumed,
|
|
||||||
MSC_AS_TIME_FMT" RRCConnectionRequest UE %x size %u (s-TMSI mmec %u m_TMSI %u random UE id (0x%" PRIx64 ")",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
dec_rval.consumed,
|
|
||||||
ue_context_p->ue_context.Initialue_identity_s_TMSI.mme_code,
|
|
||||||
ue_context_p->ue_context.Initialue_identity_s_TMSI.m_tmsi,
|
|
||||||
ue_context_p->ue_context.random_ue_identity);
|
|
||||||
} else {
|
} else {
|
||||||
LOG_E(RRC,
|
LOG_E(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" RRCConnectionRequest without random UE identity or S-TMSI not supported, let's reject the UE\n",
|
PROTOCOL_RRC_CTXT_UE_FMT" RRCConnectionRequest without random UE identity or S-TMSI not supported, let's reject the UE\n",
|
||||||
@@ -7567,14 +7381,6 @@ rrc_eNB_decode_ccch(
|
|||||||
LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT"CALLING RLC CONFIG SRB1 (rbid %d)\n",
|
LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT"CALLING RLC CONFIG SRB1 (rbid %d)\n",
|
||||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
Idx);
|
Idx);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_PDCP_ENB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" CONFIG_REQ UE %x SRB",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti);
|
|
||||||
rrc_pdcp_config_asn1_req(ctxt_pP,
|
rrc_pdcp_config_asn1_req(ctxt_pP,
|
||||||
ue_context_p->ue_context.SRB_configList,
|
ue_context_p->ue_context.SRB_configList,
|
||||||
(LTE_DRB_ToAddModList_t *) NULL,
|
(LTE_DRB_ToAddModList_t *) NULL,
|
||||||
@@ -7949,15 +7755,6 @@ rrc_eNB_decode_dcch(
|
|||||||
|
|
||||||
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)(Rx_sdu),sdu_sizeP,
|
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)(Rx_sdu),sdu_sizeP,
|
||||||
"[MSG] RRC Connection Reconfiguration Complete\n");
|
"[MSG] RRC Connection Reconfiguration Complete\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionReconfigurationComplete UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_D(RRC,
|
LOG_D(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
||||||
"(RRCConnectionReconfigurationComplete) ---> RRC_eNB]\n",
|
"(RRCConnectionReconfigurationComplete) ---> RRC_eNB]\n",
|
||||||
@@ -8169,15 +7966,6 @@ rrc_eNB_decode_dcch(
|
|||||||
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
|
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
|
||||||
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] RRC Connection Reestablishment Complete\n");
|
"[MSG] RRC Connection Reestablishment Complete\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionReestablishmentComplete UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_I(RRC,
|
LOG_I(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
||||||
"(rrcConnectionReestablishmentComplete) ---> RRC_eNB\n",
|
"(rrcConnectionReestablishmentComplete) ---> RRC_eNB\n",
|
||||||
@@ -8254,15 +8042,6 @@ rrc_eNB_decode_dcch(
|
|||||||
|
|
||||||
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] RRC Connection SetupComplete\n");
|
"[MSG] RRC Connection SetupComplete\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionSetupComplete UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_D(RRC,
|
LOG_D(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
||||||
"(RRCConnectionSetupComplete) ---> RRC_eNB\n",
|
"(RRCConnectionSetupComplete) ---> RRC_eNB\n",
|
||||||
@@ -8308,15 +8087,6 @@ rrc_eNB_decode_dcch(
|
|||||||
|
|
||||||
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] RRC Security Mode Complete\n");
|
"[MSG] RRC Security Mode Complete\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" securityModeComplete UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_I(RRC,
|
LOG_I(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" received securityModeComplete on UL-DCCH %d from UE\n",
|
PROTOCOL_RRC_CTXT_UE_FMT" received securityModeComplete on UL-DCCH %d from UE\n",
|
||||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
@@ -8345,15 +8115,6 @@ rrc_eNB_decode_dcch(
|
|||||||
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
|
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
|
||||||
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] RRC Security Mode Failure\n");
|
"[MSG] RRC Security Mode Failure\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" securityModeFailure UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_W(RRC,
|
LOG_W(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
||||||
"(securityModeFailure) ---> RRC_eNB\n",
|
"(securityModeFailure) ---> RRC_eNB\n",
|
||||||
@@ -8383,15 +8144,6 @@ rrc_eNB_decode_dcch(
|
|||||||
|
|
||||||
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] RRC UECapablility Information\n");
|
"[MSG] RRC UECapablility Information\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" ueCapabilityInformation UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_I(RRC,
|
LOG_I(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" received ueCapabilityInformation on UL-DCCH %d from UE\n",
|
PROTOCOL_RRC_CTXT_UE_FMT" received ueCapabilityInformation on UL-DCCH %d from UE\n",
|
||||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
@@ -8569,15 +8321,6 @@ rrc_eNB_decode_dcch(
|
|||||||
LOG_D(RRC,"[MSG] RRC UL Information Transfer \n");
|
LOG_D(RRC,"[MSG] RRC UL Information Transfer \n");
|
||||||
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] RRC UL Information Transfer \n");
|
"[MSG] RRC UL Information Transfer \n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" ulInformationTransfer UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
|
|
||||||
if (EPC_MODE_ENABLED == 1) {
|
if (EPC_MODE_ENABLED == 1) {
|
||||||
rrc_eNB_send_S1AP_UPLINK_NAS(ctxt_pP,
|
rrc_eNB_send_S1AP_UPLINK_NAS(ctxt_pP,
|
||||||
@@ -8668,15 +8411,6 @@ rrc_eNB_decode_dcch(
|
|||||||
LOG_I(RRC,"THINH [LTE_UL_DCCH_MessageType__messageClassExtension_PR_c2]\n");
|
LOG_I(RRC,"THINH [LTE_UL_DCCH_MessageType__messageClassExtension_PR_c2]\n");
|
||||||
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] RRC SidelinkUEInformation \n");
|
"[MSG] RRC SidelinkUEInformation \n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" SidelinkUEInformation UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_I(RRC,
|
LOG_I(RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
||||||
"(SidelinkUEInformation) ---> RRC_eNB\n",
|
"(SidelinkUEInformation) ---> RRC_eNB\n",
|
||||||
|
|||||||
@@ -32,7 +32,6 @@
|
|||||||
# include "RRC/LTE/MESSAGES/asn1_msg.h"
|
# include "RRC/LTE/MESSAGES/asn1_msg.h"
|
||||||
# include "rrc_eNB_GTPV1U.h"
|
# include "rrc_eNB_GTPV1U.h"
|
||||||
# include "rrc_eNB_UE_context.h"
|
# include "rrc_eNB_UE_context.h"
|
||||||
# include "msc.h"
|
|
||||||
|
|
||||||
|
|
||||||
#include "asn1_conversions.h"
|
#include "asn1_conversions.h"
|
||||||
@@ -77,15 +76,6 @@ rrc_eNB_process_GTPV1U_CREATE_TUNNEL_RESP(
|
|||||||
create_tunnel_resp_pP->enb_addr.length);
|
create_tunnel_resp_pP->enb_addr.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" CREATE_TUNNEL_RESP RNTI %"PRIx16" ntuns %u ebid %u enb-s1u teid %u",
|
|
||||||
0,0,rnti,
|
|
||||||
create_tunnel_resp_pP->num_tunnels,
|
|
||||||
ue_context_p->ue_context.enb_gtp_ebi[0],
|
|
||||||
ue_context_p->ue_context.enb_gtp_teid[0]);
|
|
||||||
(void)rnti; /* avoid gcc warning "set but not used" */
|
(void)rnti; /* avoid gcc warning "set but not used" */
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -32,7 +32,6 @@
|
|||||||
# include "RRC/LTE/MESSAGES/asn1_msg.h"
|
# include "RRC/LTE/MESSAGES/asn1_msg.h"
|
||||||
# include "rrc_eNB_M2AP.h"
|
# include "rrc_eNB_M2AP.h"
|
||||||
//# include "rrc_eNB_UE_context.h"
|
//# include "rrc_eNB_UE_context.h"
|
||||||
# include "msc.h"
|
|
||||||
# include "asn1_conversions.h"
|
# include "asn1_conversions.h"
|
||||||
# include "intertask_interface.h"
|
# include "intertask_interface.h"
|
||||||
# include "common/ran_context.h"
|
# include "common/ran_context.h"
|
||||||
|
|||||||
@@ -48,7 +48,6 @@
|
|||||||
#include "pdcp_primitives.h"
|
#include "pdcp_primitives.h"
|
||||||
|
|
||||||
#include "UTIL/OSA/osa_defs.h"
|
#include "UTIL/OSA/osa_defs.h"
|
||||||
#include <common/utils/msc/msc.h>
|
|
||||||
|
|
||||||
#include "LTE_UERadioAccessCapabilityInformation.h"
|
#include "LTE_UERadioAccessCapabilityInformation.h"
|
||||||
|
|
||||||
@@ -586,17 +585,6 @@ rrc_eNB_send_S1AP_INITIAL_CONTEXT_SETUP_RESP(
|
|||||||
// TODO add cause when it will be integrated
|
// TODO add cause when it will be integrated
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
(const char *)&S1AP_INITIAL_CONTEXT_SETUP_RESP (msg_p),
|
|
||||||
sizeof(s1ap_initial_context_setup_resp_t),
|
|
||||||
MSC_AS_TIME_FMT" INITIAL_CONTEXT_SETUP_RESP UE %X eNB_ue_s1ap_id %u e_rabs:%u succ %u fail",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_id_rnti,
|
|
||||||
S1AP_INITIAL_CONTEXT_SETUP_RESP (msg_p).eNB_ue_s1ap_id,
|
|
||||||
e_rabs_done, e_rabs_failed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
@@ -804,14 +792,6 @@ rrc_eNB_send_S1AP_NAS_FIRST_REQ(
|
|||||||
ue_context_pP->ue_context.ue_gummei.mnc_len = S1AP_NAS_FIRST_REQ (message_p).ue_identity.gummei.mnc_len;
|
ue_context_pP->ue_context.ue_gummei.mnc_len = S1AP_NAS_FIRST_REQ (message_p).ue_identity.gummei.mnc_len;
|
||||||
ue_context_pP->ue_context.ue_gummei.mme_code = S1AP_NAS_FIRST_REQ (message_p).ue_identity.gummei.mme_code;
|
ue_context_pP->ue_context.ue_gummei.mme_code = S1AP_NAS_FIRST_REQ (message_p).ue_identity.gummei.mme_code;
|
||||||
ue_context_pP->ue_context.ue_gummei.mme_group_id = S1AP_NAS_FIRST_REQ (message_p).ue_identity.gummei.mme_group_id;
|
ue_context_pP->ue_context.ue_gummei.mme_group_id = S1AP_NAS_FIRST_REQ (message_p).ue_identity.gummei.mme_group_id;
|
||||||
MSC_LOG_TX_MESSAGE(MSC_S1AP_ENB,
|
|
||||||
MSC_S1AP_MME,
|
|
||||||
(const char *)&message_p->ittiMsg.s1ap_nas_first_req,
|
|
||||||
sizeof(s1ap_nas_first_req_t),
|
|
||||||
MSC_AS_TIME_FMT" S1AP_NAS_FIRST_REQ eNB %u UE %x",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ctxt_pP->module_id,
|
|
||||||
ctxt_pP->rnti);
|
|
||||||
LOG_I(S1AP, "[eNB %d] Build S1AP_NAS_FIRST_REQ adding in s_TMSI: GUMMEI mme_code %u mme_group_id %u ue %x\n",
|
LOG_I(S1AP, "[eNB %d] Build S1AP_NAS_FIRST_REQ adding in s_TMSI: GUMMEI mme_code %u mme_group_id %u ue %x\n",
|
||||||
ctxt_pP->module_id,
|
ctxt_pP->module_id,
|
||||||
S1AP_NAS_FIRST_REQ (message_p).ue_identity.gummei.mme_code,
|
S1AP_NAS_FIRST_REQ (message_p).ue_identity.gummei.mme_code,
|
||||||
@@ -852,15 +832,6 @@ rrc_eNB_process_S1AP_DOWNLINK_NAS(
|
|||||||
eNB_ue_s1ap_id);
|
eNB_ue_s1ap_id);
|
||||||
|
|
||||||
if (ue_context_p == NULL) {
|
if (ue_context_p == NULL) {
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" DOWNLINK-NAS UE initial id %u eNB_ue_s1ap_id %u",
|
|
||||||
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_initial_id,
|
|
||||||
eNB_ue_s1ap_id);
|
|
||||||
/* Can not associate this message to an UE index, send a failure to S1AP and discard it! */
|
/* Can not associate this message to an UE index, send a failure to S1AP and discard it! */
|
||||||
MessageDef *msg_fail_p;
|
MessageDef *msg_fail_p;
|
||||||
LOG_W(RRC, "[eNB %ld] In S1AP_DOWNLINK_NAS: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
|
LOG_W(RRC, "[eNB %ld] In S1AP_DOWNLINK_NAS: unknown UE from S1AP ids (%d, %d)\n", instance, ue_initial_id, eNB_ue_s1ap_id);
|
||||||
@@ -869,15 +840,6 @@ rrc_eNB_process_S1AP_DOWNLINK_NAS(
|
|||||||
S1AP_NAS_NON_DELIVERY_IND (msg_fail_p).nas_pdu.length = S1AP_DOWNLINK_NAS (msg_p).nas_pdu.length;
|
S1AP_NAS_NON_DELIVERY_IND (msg_fail_p).nas_pdu.length = S1AP_DOWNLINK_NAS (msg_p).nas_pdu.length;
|
||||||
S1AP_NAS_NON_DELIVERY_IND (msg_fail_p).nas_pdu.buffer = S1AP_DOWNLINK_NAS (msg_p).nas_pdu.buffer;
|
S1AP_NAS_NON_DELIVERY_IND (msg_fail_p).nas_pdu.buffer = S1AP_DOWNLINK_NAS (msg_p).nas_pdu.buffer;
|
||||||
// TODO add failure cause when defined!
|
// TODO add failure cause when defined!
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
(const char *)NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" S1AP_NAS_NON_DELIVERY_IND UE initial id %u eNB_ue_s1ap_id %u (ue ctxt !found)",
|
|
||||||
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_initial_id,
|
|
||||||
eNB_ue_s1ap_id);
|
|
||||||
itti_send_msg_to_task (TASK_S1AP, instance, msg_fail_p);
|
itti_send_msg_to_task (TASK_S1AP, instance, msg_fail_p);
|
||||||
return (-1);
|
return (-1);
|
||||||
} else {
|
} else {
|
||||||
@@ -889,15 +851,6 @@ rrc_eNB_process_S1AP_DOWNLINK_NAS(
|
|||||||
ue_context_p->ue_context.eNB_ue_s1ap_id = S1AP_DOWNLINK_NAS (msg_p).eNB_ue_s1ap_id;
|
ue_context_p->ue_context.eNB_ue_s1ap_id = S1AP_DOWNLINK_NAS (msg_p).eNB_ue_s1ap_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
(const char *)NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" DOWNLINK-NAS UE initial id %u eNB_ue_s1ap_id %u",
|
|
||||||
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_initial_id,
|
|
||||||
S1AP_DOWNLINK_NAS (msg_p).eNB_ue_s1ap_id);
|
|
||||||
/* Create message for PDCP (DLInformationTransfer_t) */
|
/* Create message for PDCP (DLInformationTransfer_t) */
|
||||||
length = do_DLInformationTransfer (
|
length = do_DLInformationTransfer (
|
||||||
instance,
|
instance,
|
||||||
@@ -1195,12 +1148,6 @@ rrc_eNB_send_S1AP_UE_CONTEXT_RELEASE_REQ(
|
|||||||
if (ue_context_pP == NULL) {
|
if (ue_context_pP == NULL) {
|
||||||
LOG_E(RRC, "[eNB] In S1AP_UE_CONTEXT_RELEASE_REQ: invalid UE\n");
|
LOG_E(RRC, "[eNB] In S1AP_UE_CONTEXT_RELEASE_REQ: invalid UE\n");
|
||||||
} else {
|
} else {
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
"0 S1AP_UE_CONTEXT_RELEASE_REQ eNB_ue_s1ap_id 0x%06"PRIX32" ",
|
|
||||||
ue_context_pP->ue_context.eNB_ue_s1ap_id);
|
|
||||||
MessageDef *msg_context_release_req_p = NULL;
|
MessageDef *msg_context_release_req_p = NULL;
|
||||||
msg_context_release_req_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_REQ);
|
msg_context_release_req_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_REQ);
|
||||||
S1AP_UE_CONTEXT_RELEASE_REQ(msg_context_release_req_p).eNB_ue_s1ap_id = ue_context_pP->ue_context.eNB_ue_s1ap_id;
|
S1AP_UE_CONTEXT_RELEASE_REQ(msg_context_release_req_p).eNB_ue_s1ap_id = ue_context_pP->ue_context.eNB_ue_s1ap_id;
|
||||||
@@ -1214,9 +1161,6 @@ void rrc_eNB_send_S1AP_UE_CONTEXT_RELEASE_CPLT(
|
|||||||
module_id_t enb_mod_idP,
|
module_id_t enb_mod_idP,
|
||||||
uint32_t eNB_ue_s1ap_id
|
uint32_t eNB_ue_s1ap_id
|
||||||
) {
|
) {
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_ENB, MSC_S1AP_ENB, NULL, 0,
|
|
||||||
"0 S1AP_UE_CONTEXT_RELEASE_COMPLETE eNB_ue_s1ap_id 0x%06"PRIX32" ",
|
|
||||||
eNB_ue_s1ap_id);
|
|
||||||
MessageDef *msg = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
|
MessageDef *msg = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
|
||||||
S1AP_UE_CONTEXT_RELEASE_COMPLETE(msg).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
|
S1AP_UE_CONTEXT_RELEASE_COMPLETE(msg).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
|
||||||
itti_send_msg_to_task(TASK_S1AP, ENB_MODULE_ID_TO_INSTANCE(enb_mod_idP), msg);
|
itti_send_msg_to_task(TASK_S1AP, ENB_MODULE_ID_TO_INSTANCE(enb_mod_idP), msg);
|
||||||
@@ -1247,14 +1191,6 @@ rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND(
|
|||||||
LOG_W(RRC, "[eNB %ld] In S1AP_UE_CONTEXT_RELEASE_COMMAND: unknown UE from eNB_ue_s1ap_id (%d)\n",
|
LOG_W(RRC, "[eNB %ld] In S1AP_UE_CONTEXT_RELEASE_COMMAND: unknown UE from eNB_ue_s1ap_id (%d)\n",
|
||||||
instance,
|
instance,
|
||||||
eNB_ue_s1ap_id);
|
eNB_ue_s1ap_id);
|
||||||
MSC_LOG_EVENT(MSC_RRC_ENB, "0 S1AP_UE_CONTEXT_RELEASE_COMPLETE eNB_ue_s1ap_id 0x%06"PRIX32" context not found",
|
|
||||||
eNB_ue_s1ap_id);
|
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
"0 S1AP_UE_CONTEXT_RELEASE_COMPLETE eNB_ue_s1ap_id 0x%06"PRIX32" ",
|
|
||||||
eNB_ue_s1ap_id);
|
|
||||||
msg_complete_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
|
msg_complete_p = itti_alloc_new_message(TASK_RRC_ENB, 0, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
|
||||||
S1AP_UE_CONTEXT_RELEASE_COMPLETE(msg_complete_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
|
S1AP_UE_CONTEXT_RELEASE_COMPLETE(msg_complete_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
|
||||||
itti_send_msg_to_task(TASK_S1AP, instance, msg_complete_p);
|
itti_send_msg_to_task(TASK_S1AP, instance, msg_complete_p);
|
||||||
@@ -1432,16 +1368,6 @@ int rrc_eNB_send_S1AP_E_RAB_SETUP_RESP(const protocol_ctxt_t *const ctxt_pP,
|
|||||||
if ((e_rabs_done > 0) ) {
|
if ((e_rabs_done > 0) ) {
|
||||||
LOG_I(RRC,"S1AP_E_RAB_SETUP_RESP: sending the message: nb_of_erabs %d, total e_rabs %d, index %d\n",
|
LOG_I(RRC,"S1AP_E_RAB_SETUP_RESP: sending the message: nb_of_erabs %d, total e_rabs %d, index %d\n",
|
||||||
ue_context_pP->ue_context.nb_of_e_rabs, ue_context_pP->ue_context.setup_e_rabs, e_rab);
|
ue_context_pP->ue_context.nb_of_e_rabs, ue_context_pP->ue_context.setup_e_rabs, e_rab);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
(const char *)&S1AP_E_RAB_SETUP_RESP (msg_p),
|
|
||||||
sizeof(s1ap_e_rab_setup_resp_t),
|
|
||||||
MSC_AS_TIME_FMT" E_RAB_SETUP_RESP UE %X eNB_ue_s1ap_id %u e_rabs:%u succ %u fail",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_id_rnti,
|
|
||||||
S1AP_E_RAB_SETUP_RESP (msg_p).eNB_ue_s1ap_id,
|
|
||||||
e_rabs_done, e_rabs_failed);
|
|
||||||
itti_send_msg_to_task (TASK_S1AP, ctxt_pP->instance, msg_p);
|
itti_send_msg_to_task (TASK_S1AP, ctxt_pP->instance, msg_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1667,16 +1593,6 @@ int rrc_eNB_send_S1AP_E_RAB_MODIFY_RESP(const protocol_ctxt_t *const ctxt_pP,
|
|||||||
if (e_rabs_done > 0 || e_rabs_failed > 0) {
|
if (e_rabs_done > 0 || e_rabs_failed > 0) {
|
||||||
LOG_D(RRC,"S1AP_E_RAB_MODIFY_RESP: sending the message: nb_of_modify_e_rabs %d, total e_rabs %d, index %d\n",
|
LOG_D(RRC,"S1AP_E_RAB_MODIFY_RESP: sending the message: nb_of_modify_e_rabs %d, total e_rabs %d, index %d\n",
|
||||||
ue_context_pP->ue_context.nb_of_modify_e_rabs, ue_context_pP->ue_context.setup_e_rabs, e_rab);
|
ue_context_pP->ue_context.nb_of_modify_e_rabs, ue_context_pP->ue_context.setup_e_rabs, e_rab);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
(const char *)&S1AP_E_RAB_SETUP_RESP (msg_p),
|
|
||||||
sizeof(s1ap_e_rab_setup_resp_t),
|
|
||||||
MSC_AS_TIME_FMT" E_RAB_MODIFY_RESP UE %X eNB_ue_s1ap_id %u e_rabs:%u succ %u fail",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_id_rnti,
|
|
||||||
S1AP_E_RAB_MODIFY_RESP (msg_p).eNB_ue_s1ap_id,
|
|
||||||
e_rabs_done, e_rabs_failed);
|
|
||||||
itti_send_msg_to_task (TASK_S1AP, ctxt_pP->instance, msg_p);
|
itti_send_msg_to_task (TASK_S1AP, ctxt_pP->instance, msg_p);
|
||||||
} else {
|
} else {
|
||||||
itti_free (ITTI_MSG_ORIGIN_ID(msg_p), msg_p);
|
itti_free (ITTI_MSG_ORIGIN_ID(msg_p), msg_p);
|
||||||
@@ -2067,16 +1983,6 @@ int rrc_eNB_send_PATH_SWITCH_REQ(const protocol_ctxt_t *const ctxt_pP,
|
|||||||
if (e_rabs_done > 0) {
|
if (e_rabs_done > 0) {
|
||||||
LOG_I(RRC,"S1AP_PATH_SWITCH_REQ: sending the message: nb_of_erabstobeswitched %d, total e_rabs %d, index %d\n",
|
LOG_I(RRC,"S1AP_PATH_SWITCH_REQ: sending the message: nb_of_erabstobeswitched %d, total e_rabs %d, index %d\n",
|
||||||
S1AP_PATH_SWITCH_REQ (msg_p).nb_of_e_rabs, ue_context_pP->ue_context.setup_e_rabs, e_rab);
|
S1AP_PATH_SWITCH_REQ (msg_p).nb_of_e_rabs, ue_context_pP->ue_context.setup_e_rabs, e_rab);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
(const char *)&S1AP_PATH_SWITCH_REQ (msg_p),
|
|
||||||
sizeof(s1ap_path_switch_req_t),
|
|
||||||
MSC_AS_TIME_FMT" PATH_SWITCH_REQ UE %X eNB_ue_s1ap_id %u e_rabs:%u succ",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_id_rnti,
|
|
||||||
S1AP_PATH_SWITCH_REQ (msg_p).eNB_ue_s1ap_id,
|
|
||||||
e_rabs_done);
|
|
||||||
itti_send_msg_to_task (TASK_S1AP, ctxt_pP->instance, msg_p);
|
itti_send_msg_to_task (TASK_S1AP, ctxt_pP->instance, msg_p);
|
||||||
} else {
|
} else {
|
||||||
itti_free(ITTI_MSG_ORIGIN_ID(msg_p), msg_p);
|
itti_free(ITTI_MSG_ORIGIN_ID(msg_p), msg_p);
|
||||||
@@ -2355,16 +2261,6 @@ int rrc_eNB_send_E_RAB_Modification_Indication(const protocol_ctxt_t *const ctxt
|
|||||||
if (e_rab_modify_index > 0) {
|
if (e_rab_modify_index > 0) {
|
||||||
LOG_I(RRC,"S1AP_E_RAB_MODIFICATION_IND: sending the message: nb_of_erabstobemodified %d, total e_rabs %d, index %d\n",
|
LOG_I(RRC,"S1AP_E_RAB_MODIFICATION_IND: sending the message: nb_of_erabstobemodified %d, total e_rabs %d, index %d\n",
|
||||||
S1AP_E_RAB_MODIFICATION_IND (msg_p).nb_of_e_rabs_tobemodified, ue_context_pP->ue_context.setup_e_rabs, e_rab);
|
S1AP_E_RAB_MODIFICATION_IND (msg_p).nb_of_e_rabs_tobemodified, ue_context_pP->ue_context.setup_e_rabs, e_rab);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
(const char *)&S1AP_E_RAB_MODIFICATION_IND (msg_p),
|
|
||||||
sizeof(s1ap_e_rab_modification_ind_t),
|
|
||||||
MSC_AS_TIME_FMT" E RAB MODIFICATION IND UE %X eNB_ue_s1ap_id %u e_rabs:%u succ",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_id_rnti,
|
|
||||||
S1AP_E_RAB_MODIFICATION_IND (msg_p).eNB_ue_s1ap_id,
|
|
||||||
e_rab_modify_index);
|
|
||||||
itti_send_msg_to_task (TASK_S1AP, ctxt_pP->instance, msg_p);
|
itti_send_msg_to_task (TASK_S1AP, ctxt_pP->instance, msg_p);
|
||||||
} else {
|
} else {
|
||||||
itti_free(ITTI_MSG_ORIGIN_ID(msg_p), msg_p);
|
itti_free(ITTI_MSG_ORIGIN_ID(msg_p), msg_p);
|
||||||
|
|||||||
@@ -35,7 +35,6 @@
|
|||||||
|
|
||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "rrc_eNB_UE_context.h"
|
#include "rrc_eNB_UE_context.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
@@ -210,10 +209,6 @@ void rrc_eNB_remove_ue_context(
|
|||||||
}
|
}
|
||||||
|
|
||||||
RB_REMOVE(rrc_ue_tree_s, &rrc_instance_pP->rrc_ue_head, ue_context_pP);
|
RB_REMOVE(rrc_ue_tree_s, &rrc_instance_pP->rrc_ue_head, ue_context_pP);
|
||||||
MSC_LOG_EVENT(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
"0 Removed UE %"PRIx16" ",
|
|
||||||
ue_context_pP->ue_context.rnti);
|
|
||||||
rrc_eNB_free_mem_UE_context(ctxt_pP, ue_context_pP);
|
rrc_eNB_free_mem_UE_context(ctxt_pP, ue_context_pP);
|
||||||
uid_linear_allocator_free(rrc_instance_pP, ue_context_pP->local_uid);
|
uid_linear_allocator_free(rrc_instance_pP, ue_context_pP->local_uid);
|
||||||
free(ue_context_pP);
|
free(ue_context_pP);
|
||||||
|
|||||||
@@ -34,7 +34,6 @@
|
|||||||
#include "nr_rrc_extern.h"
|
#include "nr_rrc_extern.h"
|
||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "pdcp.h"
|
#include "pdcp.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "common/ran_context.h"
|
#include "common/ran_context.h"
|
||||||
#include "LAYER2/NR_MAC_COMMON/nr_mac_common.h"
|
#include "LAYER2/NR_MAC_COMMON/nr_mac_common.h"
|
||||||
#include "LAYER2/NR_MAC_COMMON/nr_mac_extern.h"
|
#include "LAYER2/NR_MAC_COMMON/nr_mac_extern.h"
|
||||||
@@ -172,16 +171,6 @@ nr_rrc_data_req(
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
ctxt_pP->enb_flag ? MSC_RRC_GNB : MSC_RRC_UE,
|
|
||||||
ctxt_pP->enb_flag ? MSC_PDCP_ENB : MSC_PDCP_UE,
|
|
||||||
buffer_pP,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT"RRC_DCCH_DATA_REQ UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ctxt_pP->rnti,
|
|
||||||
muiP,
|
|
||||||
sdu_sizeP);
|
|
||||||
MessageDef *message_p;
|
MessageDef *message_p;
|
||||||
// Uses a new buffer to avoid issue with PDCP buffer content that could be changed by PDCP (asynchronous message handling).
|
// Uses a new buffer to avoid issue with PDCP buffer content that could be changed by PDCP (asynchronous message handling).
|
||||||
uint8_t *message_buffer;
|
uint8_t *message_buffer;
|
||||||
|
|||||||
@@ -66,7 +66,6 @@
|
|||||||
#include "rlc.h"
|
#include "rlc.h"
|
||||||
#include "rrc_eNB_UE_context.h"
|
#include "rrc_eNB_UE_context.h"
|
||||||
#include "platform_types.h"
|
#include "platform_types.h"
|
||||||
#include "msc.h"
|
|
||||||
#include "common/utils/LOG/vcd_signal_dumper.h"
|
#include "common/utils/LOG/vcd_signal_dumper.h"
|
||||||
|
|
||||||
#include "T.h"
|
#include "T.h"
|
||||||
@@ -421,15 +420,6 @@ rrc_gNB_generate_RRCSetup(
|
|||||||
LOG_D(NR_RRC,
|
LOG_D(NR_RRC,
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_FMT" RRC_gNB --- MAC_CONFIG_REQ (SRB1) ---> MAC_gNB\n",
|
PROTOCOL_NR_RRC_CTXT_UE_FMT" RRC_gNB --- MAC_CONFIG_REQ (SRB1) ---> MAC_gNB\n",
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP));
|
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP));
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
ue_p->Srb0.Tx_buffer.Header, // LG WARNING
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size,
|
|
||||||
MSC_AS_TIME_FMT" RRCSetup UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size);
|
|
||||||
LOG_I(NR_RRC,
|
LOG_I(NR_RRC,
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating RRCSetup (bytes %d)\n",
|
PROTOCOL_NR_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating RRCSetup (bytes %d)\n",
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
@@ -499,15 +489,6 @@ rrc_gNB_generate_RRCSetup_for_RRCReestablishmentRequest(
|
|||||||
(NR_CellGroupConfig_t *)NULL
|
(NR_CellGroupConfig_t *)NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
ue_p->Srb0.Tx_buffer.Header, // LG WARNING
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size,
|
|
||||||
MSC_AS_TIME_FMT" RRCSetup UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size);
|
|
||||||
LOG_I(NR_RRC,
|
LOG_I(NR_RRC,
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating RRCSetup (bytes %d)\n",
|
PROTOCOL_NR_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating RRCSetup (bytes %d)\n",
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
@@ -549,14 +530,6 @@ rrc_gNB_generate_RRCReject(
|
|||||||
(char *)(ue_p->Srb0.Tx_buffer.Payload),
|
(char *)(ue_p->Srb0.Tx_buffer.Payload),
|
||||||
ue_p->Srb0.Tx_buffer.payload_size,
|
ue_p->Srb0.Tx_buffer.payload_size,
|
||||||
"[MSG] RRCReject \n");
|
"[MSG] RRCReject \n");
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
ue_p->Srb0.Tx_buffer.Header,
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size,
|
|
||||||
MSC_AS_TIME_FMT" NR_RRCReject UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP == NULL ? -1 : ue_context_pP->ue_context.rnti,
|
|
||||||
ue_p->Srb0.Tx_buffer.payload_size);
|
|
||||||
LOG_I(NR_RRC,
|
LOG_I(NR_RRC,
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating NR_RRCReject (bytes %d)\n",
|
PROTOCOL_NR_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-CCCH, Generating NR_RRCReject (bytes %d)\n",
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
@@ -817,15 +790,6 @@ rrc_gNB_generate_defaultRRCReconfiguration(
|
|||||||
rrc_gNB_mui,
|
rrc_gNB_mui,
|
||||||
ctxt_pP->module_id,
|
ctxt_pP->module_id,
|
||||||
DCCH);
|
DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" NR_RRCReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_gNB_mui,
|
|
||||||
size);
|
|
||||||
nr_rrc_data_req(ctxt_pP,
|
nr_rrc_data_req(ctxt_pP,
|
||||||
DCCH,
|
DCCH,
|
||||||
rrc_gNB_mui++,
|
rrc_gNB_mui++,
|
||||||
@@ -1047,16 +1011,6 @@ rrc_gNB_generate_dedicatedRRCReconfiguration(
|
|||||||
LOG_D(NR_RRC,
|
LOG_D(NR_RRC,
|
||||||
"[FRAME %05d][RRC_gNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
"[FRAME %05d][RRC_gNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
||||||
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_gNB_mui, ctxt_pP->module_id, DCCH);
|
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_gNB_mui, ctxt_pP->module_id, DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" dedicated RRCReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_gNB_mui,
|
|
||||||
size);
|
|
||||||
|
|
||||||
#ifdef ITTI_SIM
|
#ifdef ITTI_SIM
|
||||||
MessageDef *message_p;
|
MessageDef *message_p;
|
||||||
@@ -1155,16 +1109,6 @@ rrc_gNB_generate_dedicatedRRCReconfiguration_release(
|
|||||||
LOG_D(NR_RRC,
|
LOG_D(NR_RRC,
|
||||||
"[FRAME %05d][RRC_gNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
"[FRAME %05d][RRC_gNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
||||||
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_gNB_mui, ctxt_pP->module_id, DCCH);
|
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_gNB_mui, ctxt_pP->module_id, DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" dedicated NR_RRCReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_gNB_mui,
|
|
||||||
size);
|
|
||||||
#ifdef ITTI_SIM
|
#ifdef ITTI_SIM
|
||||||
MessageDef *message_p;
|
MessageDef *message_p;
|
||||||
uint8_t *message_buffer;
|
uint8_t *message_buffer;
|
||||||
@@ -1229,9 +1173,6 @@ rrc_gNB_process_RRCReconfigurationComplete(
|
|||||||
ue_context_pP->ue_context.kgnb,
|
ue_context_pP->ue_context.kgnb,
|
||||||
&kRRCint);
|
&kRRCint);
|
||||||
/* Refresh SRBs/DRBs */
|
/* Refresh SRBs/DRBs */
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_GNB, MSC_PDCP_ENB, NULL, 0, MSC_AS_TIME_FMT" CONFIG_REQ UE %x DRB (security unchanged)",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti);
|
|
||||||
|
|
||||||
#ifndef ITTI_SIM
|
#ifndef ITTI_SIM
|
||||||
LOG_D(NR_RRC,"Configuring PDCP DRBs/SRBs for UE %x\n",ue_context_pP->ue_context.rnti);
|
LOG_D(NR_RRC,"Configuring PDCP DRBs/SRBs for UE %x\n",ue_context_pP->ue_context.rnti);
|
||||||
@@ -1459,14 +1400,6 @@ rrc_gNB_generate_RRCReestablishment(
|
|||||||
}
|
}
|
||||||
} // if (*SRB_configList != NULL)
|
} // if (*SRB_configList != NULL)
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
ue_context->Srb0.Tx_buffer.Header,
|
|
||||||
ue_context->Srb0.Tx_buffer.payload_size,
|
|
||||||
MSC_AS_TIME_FMT" NR_RRCReestablishment UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context->rnti,
|
|
||||||
ue_context->Srb0.Tx_buffer.payload_size);
|
|
||||||
LOG_I(NR_RRC, PROTOCOL_NR_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-DCCH, Generating NR_RRCReestablishment (bytes %d)\n",
|
LOG_I(NR_RRC, PROTOCOL_NR_RRC_CTXT_UE_FMT" [RAPROC] Logical Channel DL-DCCH, Generating NR_RRCReestablishment (bytes %d)\n",
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
ue_context->Srb0.Tx_buffer.payload_size);
|
ue_context->Srb0.Tx_buffer.payload_size);
|
||||||
@@ -1729,16 +1662,6 @@ rrc_gNB_process_RRCConnectionReestablishmentComplete(
|
|||||||
LOG_D(NR_RRC,
|
LOG_D(NR_RRC,
|
||||||
"[FRAME %05d][RRC_gNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
"[FRAME %05d][RRC_gNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcConnectionReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
||||||
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_gNB_mui, ctxt_pP->module_id, DCCH);
|
ctxt_pP->frame, ctxt_pP->module_id, size, ue_context_pP->ue_context.rnti, rrc_gNB_mui, ctxt_pP->module_id, DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" LTE_RRCConnectionReconfiguration UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_gNB_mui,
|
|
||||||
size);
|
|
||||||
#ifdef ITTI_SIM
|
#ifdef ITTI_SIM
|
||||||
MessageDef *message_p;
|
MessageDef *message_p;
|
||||||
uint8_t *message_buffer;
|
uint8_t *message_buffer;
|
||||||
@@ -1809,15 +1732,6 @@ int nr_rrc_gNB_decode_ccch(protocol_ctxt_t *const ctxt_pP,
|
|||||||
ue_context_p = rrc_gNB_get_ue_context(gnb_rrc_inst, ctxt_pP->rnti);
|
ue_context_p = rrc_gNB_get_ue_context(gnb_rrc_inst, ctxt_pP->rnti);
|
||||||
if (ue_context_p != NULL) {
|
if (ue_context_p != NULL) {
|
||||||
rrc_gNB_free_mem_UE_context(ctxt_pP, ue_context_p);
|
rrc_gNB_free_mem_UE_context(ctxt_pP, ue_context_p);
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
dec_rval.consumed,
|
|
||||||
MSC_AS_TIME_FMT" NR_RRCSetupRequest UE %x size %u (UE already in context)",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
dec_rval.consumed);
|
|
||||||
} else {
|
} else {
|
||||||
rrcSetupRequest = &ul_ccch_msg->message.choice.c1->choice.rrcSetupRequest->rrcSetupRequest;
|
rrcSetupRequest = &ul_ccch_msg->message.choice.c1->choice.rrcSetupRequest->rrcSetupRequest;
|
||||||
if (NR_InitialUE_Identity_PR_randomValue == rrcSetupRequest->ue_Identity.present) {
|
if (NR_InitialUE_Identity_PR_randomValue == rrcSetupRequest->ue_Identity.present) {
|
||||||
@@ -2109,13 +2023,6 @@ int nr_rrc_gNB_decode_ccch(protocol_ctxt_t *const ctxt_pP,
|
|||||||
LOG_I(NR_RRC, PROTOCOL_NR_RRC_CTXT_UE_FMT"CALLING RLC CONFIG SRB1 (rbid %d)\n",
|
LOG_I(NR_RRC, PROTOCOL_NR_RRC_CTXT_UE_FMT"CALLING RLC CONFIG SRB1 (rbid %d)\n",
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
Idx);
|
Idx);
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_GNB,
|
|
||||||
MSC_PDCP_GNB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" CONFIG_REQ UE %x SRB",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti);
|
|
||||||
// nr_rrc_pdcp_config_asn1_req(ctxt_pP,
|
// nr_rrc_pdcp_config_asn1_req(ctxt_pP,
|
||||||
// ue_context_p->ue_context.SRB_configList,
|
// ue_context_p->ue_context.SRB_configList,
|
||||||
// NULL,
|
// NULL,
|
||||||
@@ -2259,15 +2166,6 @@ rrc_gNB_decode_dcch(
|
|||||||
|
|
||||||
LOG_DUMPMSG(NR_RRC, DEBUG_RRC, (char *)(Rx_sdu), sdu_sizeP,
|
LOG_DUMPMSG(NR_RRC, DEBUG_RRC, (char *)(Rx_sdu), sdu_sizeP,
|
||||||
"[MSG] RRC Connection Reconfiguration Complete\n");
|
"[MSG] RRC Connection Reconfiguration Complete\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" NR_RRCReconfigurationComplete UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_D(NR_RRC,
|
LOG_D(NR_RRC,
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
PROTOCOL_NR_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
||||||
"(RRCReconfigurationComplete) ---> RRC_gNB]\n",
|
"(RRCReconfigurationComplete) ---> RRC_gNB]\n",
|
||||||
@@ -2329,15 +2227,6 @@ rrc_gNB_decode_dcch(
|
|||||||
|
|
||||||
LOG_DUMPMSG(NR_RRC, DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(NR_RRC, DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] RRC SetupComplete\n");
|
"[MSG] RRC SetupComplete\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" NR_RRCSetupComplete UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_D(NR_RRC,
|
LOG_D(NR_RRC,
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
PROTOCOL_NR_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
||||||
"(RRCSetupComplete) ---> RRC_gNB\n",
|
"(RRCSetupComplete) ---> RRC_gNB\n",
|
||||||
@@ -2416,15 +2305,6 @@ rrc_gNB_decode_dcch(
|
|||||||
LOG_D(NR_RRC,"[MSG] RRC UL Information Transfer \n");
|
LOG_D(NR_RRC,"[MSG] RRC UL Information Transfer \n");
|
||||||
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] RRC UL Information Transfer \n");
|
"[MSG] RRC UL Information Transfer \n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" ulInformationTransfer UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
|
|
||||||
if (AMF_MODE_ENABLED == 1) {
|
if (AMF_MODE_ENABLED == 1) {
|
||||||
rrc_gNB_send_NGAP_UPLINK_NAS(ctxt_pP,
|
rrc_gNB_send_NGAP_UPLINK_NAS(ctxt_pP,
|
||||||
@@ -2464,15 +2344,6 @@ rrc_gNB_decode_dcch(
|
|||||||
case NR_UL_DCCH_MessageType__c1_PR_securityModeFailure:
|
case NR_UL_DCCH_MessageType__c1_PR_securityModeFailure:
|
||||||
LOG_DUMPMSG(NR_RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(NR_RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] NR RRC Security Mode Failure\n");
|
"[MSG] NR RRC Security Mode Failure\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" securityModeFailure UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_W(NR_RRC,
|
LOG_W(NR_RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
||||||
"(securityModeFailure) ---> RRC_gNB\n",
|
"(securityModeFailure) ---> RRC_gNB\n",
|
||||||
@@ -2495,15 +2366,6 @@ rrc_gNB_decode_dcch(
|
|||||||
|
|
||||||
LOG_DUMPMSG(NR_RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(NR_RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] NR_RRC UECapablility Information\n");
|
"[MSG] NR_RRC UECapablility Information\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" ueCapabilityInformation UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_I(NR_RRC,
|
LOG_I(NR_RRC,
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_FMT" received ueCapabilityInformation on UL-DCCH %d from UE\n",
|
PROTOCOL_NR_RRC_CTXT_UE_FMT" received ueCapabilityInformation on UL-DCCH %d from UE\n",
|
||||||
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||||
@@ -2609,15 +2471,6 @@ rrc_gNB_decode_dcch(
|
|||||||
case NR_UL_DCCH_MessageType__c1_PR_rrcReestablishmentComplete:
|
case NR_UL_DCCH_MessageType__c1_PR_rrcReestablishmentComplete:
|
||||||
LOG_DUMPMSG(NR_RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
LOG_DUMPMSG(NR_RRC,DEBUG_RRC,(char *)Rx_sdu,sdu_sizeP,
|
||||||
"[MSG] NR_RRC Connection Reestablishment Complete\n");
|
"[MSG] NR_RRC Connection Reestablishment Complete\n");
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
Rx_sdu,
|
|
||||||
sdu_sizeP,
|
|
||||||
MSC_AS_TIME_FMT" NR_RRCConnectionReestablishmentComplete UE %x size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_p->ue_context.rnti,
|
|
||||||
sdu_sizeP);
|
|
||||||
LOG_I(NR_RRC,
|
LOG_I(NR_RRC,
|
||||||
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
PROTOCOL_RRC_CTXT_UE_FMT" RLC RB %02d --- RLC_DATA_IND %d bytes "
|
||||||
"(rrcConnectionReestablishmentComplete) ---> RRC_gNB\n",
|
"(rrcConnectionReestablishmentComplete) ---> RRC_gNB\n",
|
||||||
@@ -3766,16 +3619,6 @@ rrc_gNB_generate_SecurityModeCommand(
|
|||||||
size,
|
size,
|
||||||
rrc_gNB_mui,
|
rrc_gNB_mui,
|
||||||
DCCH);
|
DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" securityModeCommand UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_gNB_mui,
|
|
||||||
size);
|
|
||||||
#ifdef ITTI_SIM
|
#ifdef ITTI_SIM
|
||||||
MessageDef *message_p;
|
MessageDef *message_p;
|
||||||
uint8_t *message_buffer;
|
uint8_t *message_buffer;
|
||||||
@@ -3848,16 +3691,6 @@ rrc_gNB_generate_UECapabilityEnquiry(
|
|||||||
size,
|
size,
|
||||||
rrc_gNB_mui,
|
rrc_gNB_mui,
|
||||||
DCCH);
|
DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" rrcNRUECapabilityEnquiry UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_gNB_mui,
|
|
||||||
size);
|
|
||||||
#ifdef ITTI_SIM
|
#ifdef ITTI_SIM
|
||||||
MessageDef *message_p;
|
MessageDef *message_p;
|
||||||
uint8_t *message_buffer;
|
uint8_t *message_buffer;
|
||||||
@@ -3917,16 +3750,6 @@ rrc_gNB_generate_RRCRelease(
|
|||||||
size,
|
size,
|
||||||
rrc_gNB_mui,
|
rrc_gNB_mui,
|
||||||
DCCH);
|
DCCH);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_RRC_UE,
|
|
||||||
buffer,
|
|
||||||
size,
|
|
||||||
MSC_AS_TIME_FMT" NR_RRCRelease UE %x MUI %d size %u",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_context.rnti,
|
|
||||||
rrc_gNB_mui,
|
|
||||||
size);
|
|
||||||
|
|
||||||
#ifdef ITTI_SIM
|
#ifdef ITTI_SIM
|
||||||
MessageDef *message_p;
|
MessageDef *message_p;
|
||||||
|
|||||||
@@ -32,7 +32,6 @@
|
|||||||
# include "RRC/LTE/MESSAGES/asn1_msg.h"
|
# include "RRC/LTE/MESSAGES/asn1_msg.h"
|
||||||
# include "rrc_eNB_GTPV1U.h"
|
# include "rrc_eNB_GTPV1U.h"
|
||||||
# include "rrc_eNB_UE_context.h"
|
# include "rrc_eNB_UE_context.h"
|
||||||
# include "msc.h"
|
|
||||||
# include "openair2/RRC/NR/rrc_gNB_UE_context.h"
|
# include "openair2/RRC/NR/rrc_gNB_UE_context.h"
|
||||||
|
|
||||||
//# if defined(ENABLE_ITTI)
|
//# if defined(ENABLE_ITTI)
|
||||||
@@ -77,15 +76,6 @@ rrc_gNB_process_GTPV1U_CREATE_TUNNEL_RESP(
|
|||||||
create_tunnel_resp_pP->enb_addr.length);
|
create_tunnel_resp_pP->enb_addr.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" CREATE_TUNNEL_RESP RNTI %"PRIx16" ntuns %u ebid %u enb-s1u teid %u",
|
|
||||||
0,0,rnti,
|
|
||||||
create_tunnel_resp_pP->num_tunnels,
|
|
||||||
ue_context_p->ue_context.gnb_gtp_ebi[0],
|
|
||||||
ue_context_p->ue_context.gnb_gtp_teid[0]);
|
|
||||||
(void)rnti; /* avoid gcc warning "set but not used" */
|
(void)rnti; /* avoid gcc warning "set but not used" */
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
@@ -126,15 +116,6 @@ nr_rrc_gNB_process_GTPV1U_CREATE_TUNNEL_RESP(
|
|||||||
create_tunnel_resp_pP->gnb_addr.length);
|
create_tunnel_resp_pP->gnb_addr.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_GTPU_GNB,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" CREATE_TUNNEL_RESP RNTI %"PRIx16" ntuns %u psid %u enb-s1u teid %u",
|
|
||||||
0,0,rnti,
|
|
||||||
create_tunnel_resp_pP->num_tunnels,
|
|
||||||
ue_context_p->ue_context.gnb_gtp_psi[0],
|
|
||||||
ue_context_p->ue_context.gnb_gtp_teid[0]);
|
|
||||||
(void)rnti; /* avoid gcc warning "set but not used" */
|
(void)rnti; /* avoid gcc warning "set but not used" */
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -40,8 +40,6 @@
|
|||||||
#include "pdcp.h"
|
#include "pdcp.h"
|
||||||
#include "pdcp_primitives.h"
|
#include "pdcp_primitives.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include "gtpv1u_eNB_task.h"
|
#include "gtpv1u_eNB_task.h"
|
||||||
#include "gtpv1u_gNB_task.h"
|
#include "gtpv1u_gNB_task.h"
|
||||||
#include "RRC/LTE/rrc_eNB_GTPV1U.h"
|
#include "RRC/LTE/rrc_eNB_GTPV1U.h"
|
||||||
@@ -453,14 +451,6 @@ rrc_gNB_send_NGAP_NAS_FIRST_REQ(
|
|||||||
ue_context_pP->ue_context.ue_guami.amf_set_id = NGAP_NAS_FIRST_REQ(message_p).ue_identity.guami.amf_set_id;
|
ue_context_pP->ue_context.ue_guami.amf_set_id = NGAP_NAS_FIRST_REQ(message_p).ue_identity.guami.amf_set_id;
|
||||||
ue_context_pP->ue_context.ue_guami.amf_pointer = NGAP_NAS_FIRST_REQ(message_p).ue_identity.guami.amf_pointer;
|
ue_context_pP->ue_context.ue_guami.amf_pointer = NGAP_NAS_FIRST_REQ(message_p).ue_identity.guami.amf_pointer;
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(MSC_NGAP_GNB,
|
|
||||||
MSC_NGAP_AMF,
|
|
||||||
(const char *)&message_p->ittiMsg.ngap_nas_first_req,
|
|
||||||
sizeof(ngap_nas_first_req_t),
|
|
||||||
MSC_AS_TIME_FMT" NGAP_NAS_FIRST_REQ gNB %u UE %x",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ctxt_pP->module_id,
|
|
||||||
ctxt_pP->rnti);
|
|
||||||
LOG_I(NGAP, "[gNB %d] Build NGAP_NAS_FIRST_REQ adding in s_TMSI: GUAMI amf_set_id %u amf_region_id %u ue %x\n",
|
LOG_I(NGAP, "[gNB %d] Build NGAP_NAS_FIRST_REQ adding in s_TMSI: GUAMI amf_set_id %u amf_region_id %u ue %x\n",
|
||||||
ctxt_pP->module_id,
|
ctxt_pP->module_id,
|
||||||
NGAP_NAS_FIRST_REQ (message_p).ue_identity.guami.amf_set_id,
|
NGAP_NAS_FIRST_REQ (message_p).ue_identity.guami.amf_set_id,
|
||||||
@@ -636,16 +626,6 @@ rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_S1AP_ENB,
|
|
||||||
(const char *)&NGAP_INITIAL_CONTEXT_SETUP_RESP (msg_p),
|
|
||||||
sizeof(ngap_initial_context_setup_resp_t),
|
|
||||||
MSC_AS_TIME_FMT" INITIAL_CONTEXT_SETUP_RESP UE %X eNB_ue_s1ap_id %u e_rabs:%u succ %u fail",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_id_rnti,
|
|
||||||
NGAP_INITIAL_CONTEXT_SETUP_RESP (msg_p).gNB_ue_ngap_id,
|
|
||||||
pdu_sessions_done, pdu_sessions_failed);
|
|
||||||
NGAP_INITIAL_CONTEXT_SETUP_RESP (msg_p).nb_of_pdusessions = pdu_sessions_done;
|
NGAP_INITIAL_CONTEXT_SETUP_RESP (msg_p).nb_of_pdusessions = pdu_sessions_done;
|
||||||
NGAP_INITIAL_CONTEXT_SETUP_RESP (msg_p).nb_of_pdusessions_failed = pdu_sessions_failed;
|
NGAP_INITIAL_CONTEXT_SETUP_RESP (msg_p).nb_of_pdusessions_failed = pdu_sessions_failed;
|
||||||
itti_send_msg_to_task (TASK_NGAP, ctxt_pP->instance, msg_p);
|
itti_send_msg_to_task (TASK_NGAP, ctxt_pP->instance, msg_p);
|
||||||
@@ -794,15 +774,6 @@ rrc_gNB_process_NGAP_DOWNLINK_NAS(
|
|||||||
gNB_ue_ngap_id);
|
gNB_ue_ngap_id);
|
||||||
|
|
||||||
if (ue_context_p == NULL) {
|
if (ue_context_p == NULL) {
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_NGAP_GNB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" DOWNLINK-NAS UE initial id %u gNB_ue_ngap_id %u",
|
|
||||||
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_initial_id,
|
|
||||||
gNB_ue_ngap_id);
|
|
||||||
/* Can not associate this message to an UE index, send a failure to NGAP and discard it! */
|
/* Can not associate this message to an UE index, send a failure to NGAP and discard it! */
|
||||||
MessageDef *msg_fail_p;
|
MessageDef *msg_fail_p;
|
||||||
LOG_W(NR_RRC, "[gNB %ld] In NGAP_DOWNLINK_NAS: unknown UE from NGAP ids (%d, %u)\n", instance, ue_initial_id, gNB_ue_ngap_id);
|
LOG_W(NR_RRC, "[gNB %ld] In NGAP_DOWNLINK_NAS: unknown UE from NGAP ids (%d, %u)\n", instance, ue_initial_id, gNB_ue_ngap_id);
|
||||||
@@ -811,15 +782,6 @@ rrc_gNB_process_NGAP_DOWNLINK_NAS(
|
|||||||
NGAP_NAS_NON_DELIVERY_IND (msg_fail_p).nas_pdu.length = NGAP_DOWNLINK_NAS (msg_p).nas_pdu.length;
|
NGAP_NAS_NON_DELIVERY_IND (msg_fail_p).nas_pdu.length = NGAP_DOWNLINK_NAS (msg_p).nas_pdu.length;
|
||||||
NGAP_NAS_NON_DELIVERY_IND (msg_fail_p).nas_pdu.buffer = NGAP_DOWNLINK_NAS (msg_p).nas_pdu.buffer;
|
NGAP_NAS_NON_DELIVERY_IND (msg_fail_p).nas_pdu.buffer = NGAP_DOWNLINK_NAS (msg_p).nas_pdu.buffer;
|
||||||
// TODO add failure cause when defined!
|
// TODO add failure cause when defined!
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
MSC_NGAP_GNB,
|
|
||||||
(const char *)NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" NGAP_NAS_NON_DELIVERY_IND UE initial id %u gNB_ue_ngap_id %u (ue ctxt !found)",
|
|
||||||
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_initial_id,
|
|
||||||
gNB_ue_ngap_id);
|
|
||||||
itti_send_msg_to_task (TASK_NGAP, instance, msg_fail_p);
|
itti_send_msg_to_task (TASK_NGAP, instance, msg_fail_p);
|
||||||
return (-1);
|
return (-1);
|
||||||
} else {
|
} else {
|
||||||
@@ -830,15 +792,6 @@ rrc_gNB_process_NGAP_DOWNLINK_NAS(
|
|||||||
ue_context_p->ue_context.gNB_ue_ngap_id = NGAP_DOWNLINK_NAS (msg_p).gNB_ue_ngap_id;
|
ue_context_p->ue_context.gNB_ue_ngap_id = NGAP_DOWNLINK_NAS (msg_p).gNB_ue_ngap_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_NGAP_GNB,
|
|
||||||
(const char *)NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" DOWNLINK-NAS UE initial id %u gNB_ue_ngap_id %u",
|
|
||||||
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_initial_id,
|
|
||||||
NGAP_DOWNLINK_NAS (msg_p).gNB_ue_ngap_id);
|
|
||||||
/* Create message for PDCP (DLInformationTransfer_t) */
|
/* Create message for PDCP (DLInformationTransfer_t) */
|
||||||
length = do_NR_DLInformationTransfer (
|
length = do_NR_DLInformationTransfer (
|
||||||
instance,
|
instance,
|
||||||
@@ -997,16 +950,6 @@ rrc_gNB_send_NGAP_PDUSESSION_SETUP_RESP(
|
|||||||
if ((pdu_sessions_done > 0) ) {
|
if ((pdu_sessions_done > 0) ) {
|
||||||
LOG_I(NR_RRC,"NGAP_PDUSESSION_SETUP_RESP: sending the message: nb_of_pdusessions %d, total pdu_sessions %d, index %d\n",
|
LOG_I(NR_RRC,"NGAP_PDUSESSION_SETUP_RESP: sending the message: nb_of_pdusessions %d, total pdu_sessions %d, index %d\n",
|
||||||
ue_context_pP->ue_context.nb_of_pdusessions, ue_context_pP->ue_context.setup_pdu_sessions, pdusession);
|
ue_context_pP->ue_context.nb_of_pdusessions, ue_context_pP->ue_context.setup_pdu_sessions, pdusession);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
MSC_NGAP_GNB,
|
|
||||||
(const char *)&NGAP_PDUSESSION_SETUP_RESP (msg_p),
|
|
||||||
sizeof(ngap_pdusession_setup_resp_t),
|
|
||||||
MSC_AS_TIME_FMT" PDUSESSION_SETUP_RESP UE %X gNB_ue_ngap_id %u pdu_sessions:%u succ %u fail",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ue_context_pP->ue_id_rnti,
|
|
||||||
NGAP_PDUSESSION_SETUP_RESP (msg_p).gNB_ue_ngap_id,
|
|
||||||
pdu_sessions_done, pdu_sessions_failed);
|
|
||||||
itti_send_msg_to_task (TASK_NGAP, ctxt_pP->instance, msg_p);
|
itti_send_msg_to_task (TASK_NGAP, ctxt_pP->instance, msg_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1126,12 +1069,6 @@ rrc_gNB_send_NGAP_UE_CONTEXT_RELEASE_REQ(
|
|||||||
if (ue_context_pP == NULL) {
|
if (ue_context_pP == NULL) {
|
||||||
LOG_E(RRC, "[gNB] In NGAP_UE_CONTEXT_RELEASE_REQ: invalid UE\n");
|
LOG_E(RRC, "[gNB] In NGAP_UE_CONTEXT_RELEASE_REQ: invalid UE\n");
|
||||||
} else {
|
} else {
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_GNB,
|
|
||||||
MSC_NGAP_GNB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
"0 NGAP_UE_CONTEXT_RELEASE_REQ gNB_ue_ngap_id 0x%06"PRIX32" ",
|
|
||||||
ue_context_pP->ue_context.gNB_ue_ngap_id);
|
|
||||||
MessageDef *msg_context_release_req_p = NULL;
|
MessageDef *msg_context_release_req_p = NULL;
|
||||||
msg_context_release_req_p = itti_alloc_new_message(TASK_RRC_GNB, 0, NGAP_UE_CONTEXT_RELEASE_REQ);
|
msg_context_release_req_p = itti_alloc_new_message(TASK_RRC_GNB, 0, NGAP_UE_CONTEXT_RELEASE_REQ);
|
||||||
NGAP_UE_CONTEXT_RELEASE_REQ(msg_context_release_req_p).gNB_ue_ngap_id = ue_context_pP->ue_context.gNB_ue_ngap_id;
|
NGAP_UE_CONTEXT_RELEASE_REQ(msg_context_release_req_p).gNB_ue_ngap_id = ue_context_pP->ue_context.gNB_ue_ngap_id;
|
||||||
@@ -1204,14 +1141,6 @@ rrc_gNB_process_NGAP_UE_CONTEXT_RELEASE_COMMAND(
|
|||||||
LOG_W(NR_RRC, "[gNB %ld] In NGAP_UE_CONTEXT_RELEASE_COMMAND: unknown UE from gNB_ue_ngap_id (%u)\n",
|
LOG_W(NR_RRC, "[gNB %ld] In NGAP_UE_CONTEXT_RELEASE_COMMAND: unknown UE from gNB_ue_ngap_id (%u)\n",
|
||||||
instance,
|
instance,
|
||||||
gNB_ue_ngap_id);
|
gNB_ue_ngap_id);
|
||||||
MSC_LOG_EVENT(MSC_RRC_GNB, "0 NGAP_UE_CONTEXT_RELEASE_COMPLETE gNB_ue_ngap_id 0x%06"PRIX32" context not found",
|
|
||||||
gNB_ue_ngap_id);
|
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_GNB,
|
|
||||||
MSC_NGAP_GNB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
"0 NGAP_UE_CONTEXT_RELEASE_COMPLETE gNB_ue_ngap_id 0x%06"PRIX32" ",
|
|
||||||
gNB_ue_ngap_id);
|
|
||||||
msg_complete_p = itti_alloc_new_message(TASK_RRC_GNB, 0, NGAP_UE_CONTEXT_RELEASE_COMPLETE);
|
msg_complete_p = itti_alloc_new_message(TASK_RRC_GNB, 0, NGAP_UE_CONTEXT_RELEASE_COMPLETE);
|
||||||
NGAP_UE_CONTEXT_RELEASE_COMPLETE(msg_complete_p).gNB_ue_ngap_id = gNB_ue_ngap_id;
|
NGAP_UE_CONTEXT_RELEASE_COMPLETE(msg_complete_p).gNB_ue_ngap_id = gNB_ue_ngap_id;
|
||||||
itti_send_msg_to_task(TASK_NGAP, instance, msg_complete_p);
|
itti_send_msg_to_task(TASK_NGAP, instance, msg_complete_p);
|
||||||
@@ -1235,9 +1164,6 @@ rrc_gNB_process_NGAP_UE_CONTEXT_RELEASE_COMMAND(
|
|||||||
void rrc_gNB_send_NGAP_UE_CONTEXT_RELEASE_COMPLETE(
|
void rrc_gNB_send_NGAP_UE_CONTEXT_RELEASE_COMPLETE(
|
||||||
instance_t instance,
|
instance_t instance,
|
||||||
uint32_t gNB_ue_ngap_id) {
|
uint32_t gNB_ue_ngap_id) {
|
||||||
MSC_LOG_TX_MESSAGE(MSC_RRC_GNB, MSC_NGAP_GNB, NULL, 0,
|
|
||||||
"0 NGAP_UE_CONTEXT_RELEASE_COMPLETE gNB_ue_ngap_id 0x%06"PRIX32" ",
|
|
||||||
gNB_ue_ngap_id);
|
|
||||||
MessageDef *msg = itti_alloc_new_message(TASK_RRC_GNB, 0, NGAP_UE_CONTEXT_RELEASE_COMPLETE);
|
MessageDef *msg = itti_alloc_new_message(TASK_RRC_GNB, 0, NGAP_UE_CONTEXT_RELEASE_COMPLETE);
|
||||||
NGAP_UE_CONTEXT_RELEASE_COMPLETE(msg).gNB_ue_ngap_id = gNB_ue_ngap_id;
|
NGAP_UE_CONTEXT_RELEASE_COMPLETE(msg).gNB_ue_ngap_id = gNB_ue_ngap_id;
|
||||||
itti_send_msg_to_task(TASK_NGAP, instance, msg);
|
itti_send_msg_to_task(TASK_NGAP, instance, msg);
|
||||||
|
|||||||
@@ -35,7 +35,6 @@
|
|||||||
|
|
||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "rrc_gNB_UE_context.h"
|
#include "rrc_gNB_UE_context.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
@@ -208,10 +207,6 @@ void rrc_gNB_remove_ue_context(
|
|||||||
}
|
}
|
||||||
|
|
||||||
RB_REMOVE(rrc_nr_ue_tree_s, &rrc_instance_pP->rrc_ue_head, ue_context_pP);
|
RB_REMOVE(rrc_nr_ue_tree_s, &rrc_instance_pP->rrc_ue_head, ue_context_pP);
|
||||||
MSC_LOG_EVENT(
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
"0 Removed UE %"PRIx16" ",
|
|
||||||
ue_context_pP->ue_context.rnti);
|
|
||||||
rrc_gNB_free_mem_UE_context(ctxt_pP, ue_context_pP);
|
rrc_gNB_free_mem_UE_context(ctxt_pP, ue_context_pP);
|
||||||
nr_uid_linear_allocator_free(rrc_instance_pP, ue_context_pP->local_uid);
|
nr_uid_linear_allocator_free(rrc_instance_pP, ue_context_pP->local_uid);
|
||||||
free(ue_context_pP);
|
free(ue_context_pP);
|
||||||
|
|||||||
@@ -2164,17 +2164,6 @@ nr_rrc_ue_establish_srb2(
|
|||||||
nr_derive_key_up_int(NR_UE_rrc_inst[ctxt_pP->module_id].integrityProtAlgorithm,
|
nr_derive_key_up_int(NR_UE_rrc_inst[ctxt_pP->module_id].integrityProtAlgorithm,
|
||||||
NR_UE_rrc_inst[ctxt_pP->module_id].kgnb, &kUPint);
|
NR_UE_rrc_inst[ctxt_pP->module_id].kgnb, &kUPint);
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_RRC_UE,
|
|
||||||
MSC_PDCP_UE,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" CONFIG_REQ UE %x DRB (security %X)",
|
|
||||||
MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
ctxt_pP->rnti,
|
|
||||||
NR_UE_rrc_inst[ctxt_pP->module_id].cipheringAlgorithm |
|
|
||||||
(NR_UE_rrc_inst[ctxt_pP->module_id].integrityProtAlgorithm << 4));
|
|
||||||
|
|
||||||
// Refresh DRBs
|
// Refresh DRBs
|
||||||
nr_rrc_pdcp_config_asn1_req(ctxt_pP,
|
nr_rrc_pdcp_config_asn1_req(ctxt_pP,
|
||||||
NULL,
|
NULL,
|
||||||
|
|||||||
@@ -36,8 +36,6 @@
|
|||||||
#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
|
#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||||
#include <common/utils/assertions.h>
|
#include <common/utils/assertions.h>
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include "common/ran_context.h"
|
#include "common/ran_context.h"
|
||||||
|
|
||||||
#include "common/config/config_userapi.h"
|
#include "common/config/config_userapi.h"
|
||||||
@@ -572,9 +570,6 @@ int main( int argc, char **argv )
|
|||||||
|
|
||||||
cpuf=get_cpu_freq_GHz();
|
cpuf=get_cpu_freq_GHz();
|
||||||
itti_init(TASK_MAX, tasks_info);
|
itti_init(TASK_MAX, tasks_info);
|
||||||
// initialize mscgen log after ITTI
|
|
||||||
MSC_INIT(MSC_E_UTRAN, ADDED_QUEUES_MAX+TASK_MAX);
|
|
||||||
|
|
||||||
|
|
||||||
init_opt();
|
init_opt();
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,6 @@
|
|||||||
|
|
||||||
#include "x2ap_eNB_itti_messaging.h"
|
#include "x2ap_eNB_itti_messaging.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
@@ -260,8 +259,6 @@ int x2ap_eNB_generate_x2_setup_request(
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2Setup/initiatingMessage assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -486,8 +483,6 @@ int x2ap_eNB_generate_x2_setup_response(x2ap_eNB_instance_t *instance_p, x2ap_eN
|
|||||||
|
|
||||||
x2ap_eNB_data_p->state = X2AP_ENB_STATE_READY;
|
x2ap_eNB_data_p->state = X2AP_ENB_STATE_READY;
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2Setup/successfulOutcome assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -542,11 +537,6 @@ int x2ap_eNB_generate_x2_setup_failure(instance_t instance,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB,
|
|
||||||
MSC_X2AP_TARGET_ENB, NULL, 0,
|
|
||||||
"0 X2Setup/unsuccessfulOutcome assoc_id %u cause %u value %u",
|
|
||||||
assoc_id, cause_type, cause_value);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance, assoc_id, buffer, len, 0);
|
x2ap_eNB_itti_send_sctp_data_req(instance, assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -732,8 +722,6 @@ int x2ap_eNB_generate_x2_handover_request (x2ap_eNB_instance_t *instance_p, x2ap
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2Handover/initiatingMessage assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -846,8 +834,6 @@ int x2ap_eNB_generate_x2_handover_request_ack (x2ap_eNB_instance_t *instance_p,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2Handover/successfulOutcome assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -908,8 +894,6 @@ int x2ap_eNB_generate_x2_ue_context_release (x2ap_eNB_instance_t *instance_p, x2
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2UEContextRelease/initiatingMessage assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -992,8 +976,6 @@ int x2ap_eNB_generate_x2_handover_cancel (x2ap_eNB_instance_t *instance_p, x2ap_
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2HandoverCancel/initiatingMessage assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -1090,8 +1072,6 @@ int x2ap_eNB_generate_senb_addition_request (x2ap_eNB_instance_t *instance_p, x2
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2SeNBAdditionRequest/initiatingMessage assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -1367,8 +1347,6 @@ MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2Setup/initiatingMessage assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -1578,8 +1556,6 @@ int x2ap_eNB_generate_ENDC_x2_setup_response(
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2Setup/initiatingMessage assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -1737,8 +1713,6 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request(
|
|||||||
# if 0 // TODO: Sanitizer complains we are trying to access this after free.
|
# if 0 // TODO: Sanitizer complains we are trying to access this after free.
|
||||||
free(ie->value.choice.MeNBtoSgNBContainer.buf);
|
free(ie->value.choice.MeNBtoSgNBContainer.buf);
|
||||||
#endif
|
#endif
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2Setup/initiatingMessage assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -1844,8 +1818,6 @@ int x2ap_gNB_generate_ENDC_x2_SgNB_addition_request_ACK( x2ap_eNB_instance_t *in
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE (MSC_X2AP_SRC_ENB, MSC_X2AP_TARGET_ENB, NULL, 0, "0 X2Setup/initiatingMessage assoc_id %u", x2ap_eNB_data_p->assoc_id);
|
|
||||||
|
|
||||||
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
x2ap_eNB_itti_send_sctp_data_req(instance_p->instance, x2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@@ -41,7 +41,6 @@
|
|||||||
#include "x2ap_eNB_management_procedures.h"
|
#include "x2ap_eNB_management_procedures.h"
|
||||||
#include "x2ap_eNB_generate_messages.h"
|
#include "x2ap_eNB_generate_messages.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
#include "X2AP_FreqBandNrItem.h"
|
#include "X2AP_FreqBandNrItem.h"
|
||||||
|
|||||||
@@ -33,7 +33,6 @@
|
|||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "intertask_interface.h"
|
#include "intertask_interface.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include "gtpv1u.h"
|
#include "gtpv1u.h"
|
||||||
#include "NwGtpv1u.h"
|
#include "NwGtpv1u.h"
|
||||||
@@ -51,7 +50,6 @@
|
|||||||
#include "gtpv1u_eNB_defs.h"
|
#include "gtpv1u_eNB_defs.h"
|
||||||
#include "gtpv1u_eNB_task.h"
|
#include "gtpv1u_eNB_task.h"
|
||||||
#include "rrc_eNB_GTPV1U.h"
|
#include "rrc_eNB_GTPV1U.h"
|
||||||
#include <common/utils/msc/msc.h>
|
|
||||||
|
|
||||||
#undef GTP_DUMP_SOCKET
|
#undef GTP_DUMP_SOCKET
|
||||||
|
|
||||||
@@ -146,11 +144,6 @@ static int gtpv1u_eNB_send_init_udp(const Gtpv1uS1Req *req) {
|
|||||||
addr.s_addr = req->enb_ip_address_for_S1u_S12_S4_up;
|
addr.s_addr = req->enb_ip_address_for_S1u_S12_S4_up;
|
||||||
UDP_INIT(message_p).address = inet_ntoa(addr);
|
UDP_INIT(message_p).address = inet_ntoa(addr);
|
||||||
LOG_I(GTPU, "Tx UDP_INIT IP addr %s (%x)\n", UDP_INIT(message_p).address,UDP_INIT(message_p).port);
|
LOG_I(GTPU, "Tx UDP_INIT IP addr %s (%x)\n", UDP_INIT(message_p).address,UDP_INIT(message_p).port);
|
||||||
MSC_LOG_EVENT(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
"0 UDP bind %s:%u",
|
|
||||||
UDP_INIT(message_p).address,
|
|
||||||
UDP_INIT(message_p).port);
|
|
||||||
return itti_send_msg_to_task(TASK_UDP, INSTANCE_DEFAULT, message_p);
|
return itti_send_msg_to_task(TASK_UDP, INSTANCE_DEFAULT, message_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -266,14 +259,6 @@ NwGtpv1uRcT gtpv1u_eNB_process_stack_req(
|
|||||||
#endif
|
#endif
|
||||||
//#warning "LG eps bearer mapping to DRB id to do (offset -4)"
|
//#warning "LG eps bearer mapping to DRB id to do (offset -4)"
|
||||||
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, gtpv1u_teid_data_p->enb_id, ENB_FLAG_YES, gtpv1u_teid_data_p->ue_id, 0, 0,gtpv1u_teid_data_p->enb_id);
|
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, gtpv1u_teid_data_p->enb_id, ENB_FLAG_YES, gtpv1u_teid_data_p->ue_id, 0, 0,gtpv1u_teid_data_p->enb_id);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_PDCP_ENB,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" DATA-REQ rb %u size %u",
|
|
||||||
0,0,
|
|
||||||
(gtpv1u_teid_data_p->eps_bearer_id) ? gtpv1u_teid_data_p->eps_bearer_id - 4: 5-4,
|
|
||||||
buffer_len);
|
|
||||||
ue_context_p = rrc_eNB_get_ue_context(RC.rrc[ctxt.module_id], ctxt.rnti);
|
ue_context_p = rrc_eNB_get_ue_context(RC.rrc[ctxt.module_id], ctxt.rnti);
|
||||||
|
|
||||||
if((ue_context_p != NULL) &&
|
if((ue_context_p != NULL) &&
|
||||||
@@ -736,14 +721,6 @@ gtpv1u_create_x2u_tunnel(
|
|||||||
hashtable_rc_t hash_rc = HASH_TABLE_KEY_NOT_EXISTS;
|
hashtable_rc_t hash_rc = HASH_TABLE_KEY_NOT_EXISTS;
|
||||||
int i;
|
int i;
|
||||||
ebi_t eps_bearer_id = 0;
|
ebi_t eps_bearer_id = 0;
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" CREATE_X2U_TUNNEL_REQ RNTI %"PRIx16" inst %u ntuns %u ebid %u enb-x2u teid %u",
|
|
||||||
0,0,create_tunnel_req_pP->rnti, instanceP,
|
|
||||||
create_tunnel_req_pP->num_tunnels, create_tunnel_req_pP->eps_bearer_id[0],
|
|
||||||
create_tunnel_req_pP->tenb_X2u_teid[0]);
|
|
||||||
create_tunnel_resp_pP->rnti = create_tunnel_req_pP->rnti;
|
create_tunnel_resp_pP->rnti = create_tunnel_req_pP->rnti;
|
||||||
create_tunnel_resp_pP->status = 0;
|
create_tunnel_resp_pP->status = 0;
|
||||||
create_tunnel_resp_pP->num_tunnels = 0;
|
create_tunnel_resp_pP->num_tunnels = 0;
|
||||||
@@ -795,13 +772,6 @@ gtpv1u_create_x2u_tunnel(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
NULL,0,
|
|
||||||
"0 GTPV1U_ENB_CREATE_TUNNEL_RESP rnti %x teid %x",
|
|
||||||
create_tunnel_resp_pP->rnti,
|
|
||||||
x2u_teid);
|
|
||||||
LOG_D(GTPU, "Tx GTPV1U_ENB_CREATE_TUNNEL_RESP ue rnti %x status %d\n",
|
LOG_D(GTPU, "Tx GTPV1U_ENB_CREATE_TUNNEL_RESP ue rnti %x status %d\n",
|
||||||
create_tunnel_req_pP->rnti,
|
create_tunnel_req_pP->rnti,
|
||||||
create_tunnel_resp_pP->status);
|
create_tunnel_resp_pP->status);
|
||||||
@@ -885,14 +855,6 @@ gtpv1u_create_s1u_tunnel(
|
|||||||
int addrs_length_in_bytes= 0;
|
int addrs_length_in_bytes= 0;
|
||||||
int loop_counter = 0;
|
int loop_counter = 0;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" CREATE_TUNNEL_REQ RNTI %"PRIx16" inst %u ntuns %u ebid %u sgw-s1u teid %u",
|
|
||||||
0,0,create_tunnel_req_pP->rnti, instanceP,
|
|
||||||
create_tunnel_req_pP->num_tunnels, create_tunnel_req_pP->eps_bearer_id[0],
|
|
||||||
create_tunnel_req_pP->sgw_S1u_teid[0]);
|
|
||||||
create_tunnel_resp_pP->rnti = create_tunnel_req_pP->rnti;
|
create_tunnel_resp_pP->rnti = create_tunnel_req_pP->rnti;
|
||||||
create_tunnel_resp_pP->status = 0;
|
create_tunnel_resp_pP->status = 0;
|
||||||
create_tunnel_resp_pP->num_tunnels = 0;
|
create_tunnel_resp_pP->num_tunnels = 0;
|
||||||
@@ -1005,13 +967,6 @@ gtpv1u_create_s1u_tunnel(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
NULL,0,
|
|
||||||
"0 GTPV1U_ENB_CREATE_TUNNEL_RESP rnti %x teid %x",
|
|
||||||
create_tunnel_resp_pP->rnti,
|
|
||||||
s1u_teid);
|
|
||||||
LOG_D(GTPU, "Tx GTPV1U_ENB_CREATE_TUNNEL_RESP ue rnti %x status %d\n",
|
LOG_D(GTPU, "Tx GTPV1U_ENB_CREATE_TUNNEL_RESP ue rnti %x status %d\n",
|
||||||
create_tunnel_req_pP->rnti,
|
create_tunnel_req_pP->rnti,
|
||||||
create_tunnel_resp_pP->status);
|
create_tunnel_resp_pP->status);
|
||||||
@@ -1175,13 +1130,6 @@ int gtpv1u_delete_s1u_tunnel(
|
|||||||
GTPV1U_ENB_DELETE_TUNNEL_RESP(message_p).rnti,
|
GTPV1U_ENB_DELETE_TUNNEL_RESP(message_p).rnti,
|
||||||
GTPV1U_ENB_DELETE_TUNNEL_RESP(message_p).enb_S1u_teid,
|
GTPV1U_ENB_DELETE_TUNNEL_RESP(message_p).enb_S1u_teid,
|
||||||
GTPV1U_ENB_DELETE_TUNNEL_RESP(message_p).status);
|
GTPV1U_ENB_DELETE_TUNNEL_RESP(message_p).status);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_RRC_ENB,
|
|
||||||
NULL,0,
|
|
||||||
"0 GTPV1U_ENB_DELETE_TUNNEL_RESP rnti %x teid %x",
|
|
||||||
GTPV1U_ENB_DELETE_TUNNEL_RESP(message_p).rnti,
|
|
||||||
teid_eNB);
|
|
||||||
if (req_pP->from_gnb)
|
if (req_pP->from_gnb)
|
||||||
return itti_send_msg_to_task(TASK_RRC_GNB, instanceP, message_p);
|
return itti_send_msg_to_task(TASK_RRC_GNB, instanceP, message_p);
|
||||||
else
|
else
|
||||||
@@ -1351,27 +1299,12 @@ void *gtpv1u_eNB_process_itti_msg(void *notUsed) {
|
|||||||
|
|
||||||
if (rc != NW_GTPV1U_OK) {
|
if (rc != NW_GTPV1U_OK) {
|
||||||
LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc);
|
LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc);
|
||||||
MSC_LOG_EVENT(MSC_GTPU_ENB,"0 Failed send G-PDU ltid %u rtid %u size %u",
|
|
||||||
enb_s1u_teid,sgw_s1u_teid,data_req_p->length);
|
|
||||||
(void)enb_s1u_teid; /* avoid gcc warning "set but not used" */
|
(void)enb_s1u_teid; /* avoid gcc warning "set but not used" */
|
||||||
} else {
|
} else {
|
||||||
rc = nwGtpv1uProcessUlpReq(RC.gtpv1u_data_g->gtpv1u_stack, &stack_req);
|
rc = nwGtpv1uProcessUlpReq(RC.gtpv1u_data_g->gtpv1u_stack, &stack_req);
|
||||||
|
|
||||||
if (rc != NW_GTPV1U_OK) {
|
if (rc != NW_GTPV1U_OK) {
|
||||||
LOG_E(GTPU, "nwGtpv1uProcessUlpReq failed: 0x%x\n", rc);
|
LOG_E(GTPU, "nwGtpv1uProcessUlpReq failed: 0x%x\n", rc);
|
||||||
MSC_LOG_EVENT(MSC_GTPU_ENB,"0 Failed send G-PDU ltid %u rtid %u size %u",
|
|
||||||
enb_s1u_teid,sgw_s1u_teid,data_req_p->length);
|
|
||||||
} else {
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_GTPU_SGW,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" G-PDU ltid %u rtid %u size %u",
|
|
||||||
0,0,
|
|
||||||
enb_s1u_teid,
|
|
||||||
sgw_s1u_teid,
|
|
||||||
data_req_p->length);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = nwGtpv1uMsgDelete(RC.gtpv1u_data_g->gtpv1u_stack,
|
rc = nwGtpv1uMsgDelete(RC.gtpv1u_data_g->gtpv1u_stack,
|
||||||
@@ -1428,27 +1361,12 @@ void *gtpv1u_eNB_process_itti_msg(void *notUsed) {
|
|||||||
|
|
||||||
if (rc != NW_GTPV1U_OK) {
|
if (rc != NW_GTPV1U_OK) {
|
||||||
LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc);
|
LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc);
|
||||||
MSC_LOG_EVENT(MSC_GTPU_ENB,"0 Failed send G-PDU ltid %u rtid %u size %u",
|
|
||||||
enb_s1u_teid,tenb_x2u_teid,data_req_p->length);
|
|
||||||
(void)enb_s1u_teid; /* avoid gcc warning "set but not used" */
|
(void)enb_s1u_teid; /* avoid gcc warning "set but not used" */
|
||||||
} else {
|
} else {
|
||||||
rc = nwGtpv1uProcessUlpReq(RC.gtpv1u_data_g->gtpv1u_stack, &stack_req);
|
rc = nwGtpv1uProcessUlpReq(RC.gtpv1u_data_g->gtpv1u_stack, &stack_req);
|
||||||
|
|
||||||
if (rc != NW_GTPV1U_OK) {
|
if (rc != NW_GTPV1U_OK) {
|
||||||
LOG_E(GTPU, "nwGtpv1uProcessUlpReq failed: 0x%x\n", rc);
|
LOG_E(GTPU, "nwGtpv1uProcessUlpReq failed: 0x%x\n", rc);
|
||||||
MSC_LOG_EVENT(MSC_GTPU_ENB,"0 Failed send G-PDU ltid %u rtid %u size %u",
|
|
||||||
enb_s1u_teid,tenb_x2u_teid,data_req_p->length);
|
|
||||||
} else {
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_GTPU_SGW,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" G-PDU ltid %u rtid %u size %u",
|
|
||||||
0,0,
|
|
||||||
enb_s1u_teid,
|
|
||||||
tenb_x2u_teid,
|
|
||||||
data_req_p->length);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = nwGtpv1uMsgDelete(RC.gtpv1u_data_g->gtpv1u_stack,
|
rc = nwGtpv1uMsgDelete(RC.gtpv1u_data_g->gtpv1u_stack,
|
||||||
@@ -1506,8 +1424,6 @@ void *gtpv1u_eNB_process_itti_msg(void *notUsed) {
|
|||||||
|
|
||||||
if (rc != NW_GTPV1U_OK) {
|
if (rc != NW_GTPV1U_OK) {
|
||||||
LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc);
|
LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc);
|
||||||
MSC_LOG_EVENT(MSC_GTPU_ENB,"0 Failed send G-PDU ltid %u rtid %u size %u",
|
|
||||||
enb_s1u_teid,tenb_x2u_teid,data_req_p->length);
|
|
||||||
(void)enb_s1u_teid; /* avoid gcc warning "set but not used" */
|
(void)enb_s1u_teid; /* avoid gcc warning "set but not used" */
|
||||||
} else {
|
} else {
|
||||||
pMsg = (NwGtpv1uMsgT *) stack_req.apiInfo.sendtoInfo.hMsg;
|
pMsg = (NwGtpv1uMsgT *) stack_req.apiInfo.sendtoInfo.hMsg;
|
||||||
@@ -1516,19 +1432,6 @@ void *gtpv1u_eNB_process_itti_msg(void *notUsed) {
|
|||||||
|
|
||||||
if (rc != NW_GTPV1U_OK) {
|
if (rc != NW_GTPV1U_OK) {
|
||||||
LOG_E(GTPU, "nwGtpv1uProcessUlpReq failed: 0x%x\n", rc);
|
LOG_E(GTPU, "nwGtpv1uProcessUlpReq failed: 0x%x\n", rc);
|
||||||
MSC_LOG_EVENT(MSC_GTPU_ENB,"0 Failed send G-PDU ltid %u rtid %u size %u",
|
|
||||||
enb_s1u_teid,tenb_x2u_teid,data_req_p->length);
|
|
||||||
} else {
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_GTPU_SGW,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" G-PDU ltid %u rtid %u size %u",
|
|
||||||
0,0,
|
|
||||||
enb_s1u_teid,
|
|
||||||
tenb_x2u_teid,
|
|
||||||
data_req_p->length);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = nwGtpv1uMsgDelete(RC.gtpv1u_data_g->gtpv1u_stack,
|
rc = nwGtpv1uMsgDelete(RC.gtpv1u_data_g->gtpv1u_stack,
|
||||||
@@ -1589,7 +1492,6 @@ void *gtpv1u_eNB_task(void *args) {
|
|||||||
rc = gtpv1u_eNB_init();
|
rc = gtpv1u_eNB_init();
|
||||||
AssertFatal(rc == 0, "gtpv1u_eNB_init Failed");
|
AssertFatal(rc == 0, "gtpv1u_eNB_init Failed");
|
||||||
itti_mark_task_ready(TASK_GTPV1_U);
|
itti_mark_task_ready(TASK_GTPV1_U);
|
||||||
MSC_START_USE();
|
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
(void) gtpv1u_eNB_process_itti_msg (NULL);
|
(void) gtpv1u_eNB_process_itti_msg (NULL);
|
||||||
|
|||||||
@@ -30,7 +30,6 @@
|
|||||||
|
|
||||||
#include "mme_config.h"
|
#include "mme_config.h"
|
||||||
#include "intertask_interface.h"
|
#include "intertask_interface.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include "gtpv1u.h"
|
#include "gtpv1u.h"
|
||||||
#include "NwGtpv1u.h"
|
#include "NwGtpv1u.h"
|
||||||
@@ -170,14 +169,6 @@ NwGtpv1uRcT gtpv1u_gNB_process_stack_req(
|
|||||||
#endif
|
#endif
|
||||||
//warning "LG eps bearer mapping to DRB id to do (offset -4)"
|
//warning "LG eps bearer mapping to DRB id to do (offset -4)"
|
||||||
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, gtpv1u_teid_data_p->enb_id, ENB_FLAG_YES, gtpv1u_teid_data_p->ue_id, 0, 0,gtpv1u_teid_data_p->enb_id);
|
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, gtpv1u_teid_data_p->enb_id, ENB_FLAG_YES, gtpv1u_teid_data_p->ue_id, 0, 0,gtpv1u_teid_data_p->enb_id);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
MSC_PDCP_ENB,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" DATA-REQ rb %u size %u",
|
|
||||||
0,0,
|
|
||||||
(gtpv1u_teid_data_p->eps_bearer_id) ? gtpv1u_teid_data_p->eps_bearer_id - 4: 5-4,
|
|
||||||
buffer_len);
|
|
||||||
|
|
||||||
result = pdcp_data_req(
|
result = pdcp_data_req(
|
||||||
&ctxt,
|
&ctxt,
|
||||||
@@ -300,7 +291,6 @@ void *gtpv1u_gNB_task(void *args) {
|
|||||||
rc = gtpv1u_gNB_init();
|
rc = gtpv1u_gNB_init();
|
||||||
AssertFatal(rc == 0, "gtpv1u_eNB_init Failed");
|
AssertFatal(rc == 0, "gtpv1u_eNB_init Failed");
|
||||||
itti_mark_task_ready(TASK_GTPV1_U);
|
itti_mark_task_ready(TASK_GTPV1_U);
|
||||||
MSC_START_USE();
|
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
(void) gtpv1u_eNB_process_itti_msg (NULL);
|
(void) gtpv1u_eNB_process_itti_msg (NULL);
|
||||||
@@ -366,14 +356,6 @@ NwGtpv1uRcT nr_gtpv1u_gNB_process_stack_req(
|
|||||||
// #endif
|
// #endif
|
||||||
//warning "LG eps bearer mapping to DRB id to do (offset -4)"
|
//warning "LG eps bearer mapping to DRB id to do (offset -4)"
|
||||||
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, gtpv1u_teid_data_p->gnb_id, GNB_FLAG_YES, gtpv1u_teid_data_p->ue_id, 0, 0,gtpv1u_teid_data_p->gnb_id);
|
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, gtpv1u_teid_data_p->gnb_id, GNB_FLAG_YES, gtpv1u_teid_data_p->ue_id, 0, 0,gtpv1u_teid_data_p->gnb_id);
|
||||||
// MSC_LOG_TX_MESSAGE(
|
|
||||||
// MSC_GTPU_ENB,
|
|
||||||
// MSC_PDCP_ENB,
|
|
||||||
// NULL,0,
|
|
||||||
// MSC_AS_TIME_FMT" DATA-REQ rb %u size %u",
|
|
||||||
// 0,0,
|
|
||||||
// (gtpv1u_teid_data_p->eps_bearer_id) ? gtpv1u_teid_data_p->eps_bearer_id - 4: 5-4,
|
|
||||||
// buffer_len);
|
|
||||||
|
|
||||||
result = pdcp_data_req(
|
result = pdcp_data_req(
|
||||||
&ctxt,
|
&ctxt,
|
||||||
@@ -515,14 +497,6 @@ gtpv1u_create_ngu_tunnel(
|
|||||||
int addrs_length_in_bytes= 0;
|
int addrs_length_in_bytes= 0;
|
||||||
int loop_counter = 0;
|
int loop_counter = 0;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
MSC_GTPU_GNB,
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
NULL,0,
|
|
||||||
MSC_AS_TIME_FMT" CREATE_TUNNEL_REQ RNTI %"PRIx16" inst %u ntuns %u psid %u upf-ngu teid %u",
|
|
||||||
0,0,create_tunnel_req_pP->rnti, instanceP,
|
|
||||||
create_tunnel_req_pP->num_tunnels, create_tunnel_req_pP->pdusession_id[0],
|
|
||||||
create_tunnel_req_pP->outgoing_teid[0]);
|
|
||||||
create_tunnel_resp_pP->rnti = create_tunnel_req_pP->rnti;
|
create_tunnel_resp_pP->rnti = create_tunnel_req_pP->rnti;
|
||||||
create_tunnel_resp_pP->status = 0;
|
create_tunnel_resp_pP->status = 0;
|
||||||
create_tunnel_resp_pP->num_tunnels = 0;
|
create_tunnel_resp_pP->num_tunnels = 0;
|
||||||
@@ -634,13 +608,6 @@ gtpv1u_create_ngu_tunnel(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_GNB,
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
NULL,0,
|
|
||||||
"0 GTPV1U_GNB_CREATE_TUNNEL_RESP rnti %x teid %x",
|
|
||||||
create_tunnel_resp_pP->rnti,
|
|
||||||
ngu_teid);
|
|
||||||
LOG_D(GTPU, "Tx GTPV1U_GNB_CREATE_TUNNEL_RESP ue rnti %x status %d\n",
|
LOG_D(GTPU, "Tx GTPV1U_GNB_CREATE_TUNNEL_RESP ue rnti %x status %d\n",
|
||||||
create_tunnel_req_pP->rnti,
|
create_tunnel_req_pP->rnti,
|
||||||
create_tunnel_resp_pP->status);
|
create_tunnel_resp_pP->status);
|
||||||
@@ -805,13 +772,6 @@ int gtpv1u_delete_ngu_tunnel(
|
|||||||
GTPV1U_GNB_DELETE_TUNNEL_RESP(message_p).rnti,
|
GTPV1U_GNB_DELETE_TUNNEL_RESP(message_p).rnti,
|
||||||
GTPV1U_GNB_DELETE_TUNNEL_RESP(message_p).gnb_NGu_teid,
|
GTPV1U_GNB_DELETE_TUNNEL_RESP(message_p).gnb_NGu_teid,
|
||||||
GTPV1U_GNB_DELETE_TUNNEL_RESP(message_p).status);
|
GTPV1U_GNB_DELETE_TUNNEL_RESP(message_p).status);
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_GNB,
|
|
||||||
MSC_RRC_GNB,
|
|
||||||
NULL,0,
|
|
||||||
"0 GTPV1U_GNB_DELETE_TUNNEL_RESP rnti %x teid %x",
|
|
||||||
GTPV1U_GNB_DELETE_TUNNEL_RESP(message_p).rnti,
|
|
||||||
teid_gNB);
|
|
||||||
return itti_send_msg_to_task(TASK_RRC_GNB, instanceP, message_p);
|
return itti_send_msg_to_task(TASK_RRC_GNB, instanceP, message_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -830,11 +790,6 @@ static int gtpv1u_gNB_send_init_udp(const Gtpv1uNGReq *req) {
|
|||||||
addr.s_addr = req->gnb_ip_address_for_NGu_up;
|
addr.s_addr = req->gnb_ip_address_for_NGu_up;
|
||||||
UDP_INIT(message_p).address = inet_ntoa(addr);
|
UDP_INIT(message_p).address = inet_ntoa(addr);
|
||||||
LOG_I(GTPU, "Tx UDP_INIT IP addr %s (%x)\n", UDP_INIT(message_p).address,UDP_INIT(message_p).port);
|
LOG_I(GTPU, "Tx UDP_INIT IP addr %s (%x)\n", UDP_INIT(message_p).address,UDP_INIT(message_p).port);
|
||||||
MSC_LOG_EVENT(
|
|
||||||
MSC_GTPU_ENB,
|
|
||||||
"0 UDP bind %s:%u",
|
|
||||||
UDP_INIT(message_p).address,
|
|
||||||
UDP_INIT(message_p).port);
|
|
||||||
return itti_send_msg_to_task(TASK_UDP, INSTANCE_DEFAULT, message_p);
|
return itti_send_msg_to_task(TASK_UDP, INSTANCE_DEFAULT, message_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -883,27 +838,12 @@ static int gtpv1u_gnb_tunnel_data_req(gtpv1u_gnb_tunnel_data_req_t *gnb_tunnel_d
|
|||||||
|
|
||||||
if (rc != NW_GTPV1U_OK) {
|
if (rc != NW_GTPV1U_OK) {
|
||||||
LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc);
|
LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc);
|
||||||
MSC_LOG_EVENT(MSC_GTPU_GNB,"0 Failed send G-PDU ltid %u rtid %u size %u",
|
|
||||||
gnb_ngu_teid,outgoing_teid,data_req_p->length);
|
|
||||||
(void)gnb_ngu_teid; /* avoid gcc warning "set but not used" */
|
(void)gnb_ngu_teid; /* avoid gcc warning "set but not used" */
|
||||||
} else {
|
} else {
|
||||||
rc = nwGtpv1uProcessUlpReq(RC.nr_gtpv1u_data_g->gtpv1u_stack, &stack_req);
|
rc = nwGtpv1uProcessUlpReq(RC.nr_gtpv1u_data_g->gtpv1u_stack, &stack_req);
|
||||||
|
|
||||||
if (rc != NW_GTPV1U_OK) {
|
if (rc != NW_GTPV1U_OK) {
|
||||||
LOG_E(GTPU, "nwGtpv1uProcessUlpReq failed: 0x%x\n", rc);
|
LOG_E(GTPU, "nwGtpv1uProcessUlpReq failed: 0x%x\n", rc);
|
||||||
MSC_LOG_EVENT(MSC_GTPU_GNB,"0 Failed send G-PDU ltid %u rtid %u size %u",
|
|
||||||
gnb_ngu_teid,outgoing_teid,data_req_p->length);
|
|
||||||
} else {
|
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
MSC_GTPU_GNB,
|
|
||||||
MSC_GTPU_SGW,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" G-PDU ltid %u rtid %u size %u",
|
|
||||||
0,0,
|
|
||||||
gnb_ngu_teid,
|
|
||||||
outgoing_teid,
|
|
||||||
data_req_p->length);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = nwGtpv1uMsgDelete(RC.nr_gtpv1u_data_g->gtpv1u_stack,
|
rc = nwGtpv1uMsgDelete(RC.nr_gtpv1u_data_g->gtpv1u_stack,
|
||||||
@@ -1002,7 +942,6 @@ void *nr_gtpv1u_gNB_task(void *args) {
|
|||||||
rc = nr_gtpv1u_gNB_init();
|
rc = nr_gtpv1u_gNB_init();
|
||||||
AssertFatal(rc == 0, "gtpv1u_gNB_init Failed");
|
AssertFatal(rc == 0, "gtpv1u_gNB_init Failed");
|
||||||
itti_mark_task_ready(TASK_GTPV1_U);
|
itti_mark_task_ready(TASK_GTPV1_U);
|
||||||
MSC_START_USE();
|
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
(void) gtpv1u_gNB_process_itti_msg (NULL);
|
(void) gtpv1u_gNB_process_itti_msg (NULL);
|
||||||
|
|||||||
@@ -47,7 +47,6 @@
|
|||||||
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "intertask_interface.h"
|
#include "intertask_interface.h"
|
||||||
#include "msc.h"
|
|
||||||
|
|
||||||
#include "gtpv1u.h"
|
#include "gtpv1u.h"
|
||||||
#if defined(ENB_MODE)
|
#if defined(ENB_MODE)
|
||||||
@@ -563,26 +562,10 @@ nwGtpv1uProcessGpdu( NwGtpv1uStackT *thiz,
|
|||||||
GTPU_DEBUG("Received T-PDU over tunnel end-point '%x' of size %u (%u) (decapsulated %u)from "NW_IPV4_ADDR"\n",
|
GTPU_DEBUG("Received T-PDU over tunnel end-point '%x' of size %u (%u) (decapsulated %u)from "NW_IPV4_ADDR"\n",
|
||||||
ntohl(msgHdr->teid), gpduLen, pMsg->msgLen, pMsg->msgBufLen, NW_IPV4_ADDR_FORMAT((peerIp)));
|
ntohl(msgHdr->teid), gpduLen, pMsg->msgLen, pMsg->msgBufLen, NW_IPV4_ADDR_FORMAT((peerIp)));
|
||||||
#endif
|
#endif
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(thiz->stackType == GTPU_STACK_ENB) ? MSC_GTPU_ENB:MSC_GTPU_SGW,
|
|
||||||
(thiz->stackType == GTPU_STACK_ENB) ? MSC_GTPU_SGW:MSC_GTPU_ENB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
" G-PDU ltid %u size %u",
|
|
||||||
tunnelEndPointKey.teid,
|
|
||||||
gpduLen);
|
|
||||||
|
|
||||||
rc = nwGtpSessionSendMsgApiToUlpEntity(pTunnelEndPoint, pMsg);
|
rc = nwGtpSessionSendMsgApiToUlpEntity(pTunnelEndPoint, pMsg);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
|
||||||
(thiz->stackType == GTPU_STACK_ENB) ? MSC_GTPU_ENB:MSC_GTPU_SGW,
|
|
||||||
(thiz->stackType == GTPU_STACK_ENB) ? MSC_GTPU_SGW:MSC_GTPU_ENB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
" G-PDU ltid %u size %u",
|
|
||||||
tunnelEndPointKey.teid,
|
|
||||||
gpduLen);
|
|
||||||
GTPU_DEBUG("Received T-PDU over non-existent tunnel end-point '%x' from "NW_IPV4_ADDR"\n",
|
GTPU_DEBUG("Received T-PDU over non-existent tunnel end-point '%x' from "NW_IPV4_ADDR"\n",
|
||||||
ntohl(msgHdr->teid), NW_IPV4_ADDR_FORMAT((peerIp)));
|
ntohl(msgHdr->teid), NW_IPV4_ADDR_FORMAT((peerIp)));
|
||||||
}
|
}
|
||||||
@@ -614,13 +597,6 @@ nwGtpv1uHandleEchoReq(NW_IN NwGtpv1uStackT *thiz,
|
|||||||
|
|
||||||
seqNum = ntohs(*(uint16_t *) (msgBuf + (((*msgBuf) & 0x02) ? 8 : 4)));
|
seqNum = ntohs(*(uint16_t *) (msgBuf + (((*msgBuf) & 0x02) ? 8 : 4)));
|
||||||
|
|
||||||
MSC_LOG_RX_MESSAGE(
|
|
||||||
(thiz->stackType == GTPU_STACK_ENB) ? MSC_GTPU_ENB:MSC_GTPU_SGW,
|
|
||||||
(thiz->stackType == GTPU_STACK_ENB) ? MSC_GTPU_SGW:MSC_GTPU_ENB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" ECHO-REQ seq %u size %u",
|
|
||||||
0,0,seqNum, msgBufLen);
|
|
||||||
/* Send Echo Response */
|
/* Send Echo Response */
|
||||||
|
|
||||||
rc = nwGtpv1uMsgNew( (NwGtpv1uStackHandleT)thiz,
|
rc = nwGtpv1uMsgNew( (NwGtpv1uStackHandleT)thiz,
|
||||||
@@ -661,13 +637,6 @@ nwGtpv1uHandleEchoReq(NW_IN NwGtpv1uStackT *thiz,
|
|||||||
peerPort,
|
peerPort,
|
||||||
seqNum);
|
seqNum);
|
||||||
#endif
|
#endif
|
||||||
MSC_LOG_TX_MESSAGE(
|
|
||||||
(thiz->stackType == GTPU_STACK_ENB) ? MSC_GTPU_ENB:MSC_GTPU_SGW,
|
|
||||||
(thiz->stackType == GTPU_STACK_ENB) ? MSC_GTPU_SGW:MSC_GTPU_ENB,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
MSC_AS_TIME_FMT" ECHO-RSP seq %u",
|
|
||||||
0,0,seqNum);
|
|
||||||
rc = nwGtpv1uCreateAndSendMsg(
|
rc = nwGtpv1uCreateAndSendMsg(
|
||||||
thiz,
|
thiz,
|
||||||
peerIp,
|
peerIp,
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
|
|
||||||
#include "m2ap_itti_messaging.h"
|
#include "m2ap_itti_messaging.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
@@ -169,14 +168,6 @@ int m2ap_eNB_generate_m2_setup_request(
|
|||||||
|
|
||||||
|
|
||||||
LOG_W(M2AP,"pdu.present %d\n",pdu.present);
|
LOG_W(M2AP,"pdu.present %d\n",pdu.present);
|
||||||
// MSC_LOG_TX_MESSAGE(
|
|
||||||
// MSC_M2AP_eNB,
|
|
||||||
// MSC_M2AP_MCE,
|
|
||||||
// (const char *)buffer,
|
|
||||||
// len,
|
|
||||||
// MSC_AS_TIME_FMT" M2_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// m2ap_eNB_data_p->ENBname);
|
|
||||||
|
|
||||||
m2ap_eNB_itti_send_sctp_data_req(instance_p, m2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
m2ap_eNB_itti_send_sctp_data_req(instance_p, m2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
@@ -315,8 +306,6 @@ int m2ap_eNB_generate_m2_setup_request(
|
|||||||
//
|
//
|
||||||
// m2ap_eNB_data_p->state = M2AP_ENB_STATE_READY;
|
// m2ap_eNB_data_p->state = M2AP_ENB_STATE_READY;
|
||||||
//
|
//
|
||||||
// //MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB, MSC_M2AP_TARGET_ENB, NULL, 0, "0 M2Setup/successfulOutcome assoc_id %u", m2ap_eNB_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 0);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -371,11 +360,6 @@ int m2ap_eNB_generate_m2_setup_request(
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// //MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB,
|
|
||||||
// // MSC_M2AP_TARGET_ENB, NULL, 0,
|
|
||||||
// // "0 M2Setup/unsuccessfulOutcome assoc_id %u cause %u value %u",
|
|
||||||
// // assoc_id, cause_type, cause_value);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance, assoc_id, buffer, len, 0);
|
// m2ap_eNB_itti_send_sctp_data_req(instance, assoc_id, buffer, len, 0);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -561,8 +545,6 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB, MSC_M2AP_TARGET_ENB, NULL, 0, "0 X2Handover/initiatingMessage assoc_id %u", m2ap_eNB_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -654,8 +636,6 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB, MSC_M2AP_TARGET_ENB, NULL, 0, "0 X2Handover/successfulOutcome assoc_id %u", m2ap_eNB_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -716,8 +696,6 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB, MSC_M2AP_TARGET_ENB, NULL, 0, "0 X2UEContextRelease/initiatingMessage assoc_id %u", m2ap_eNB_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -800,8 +778,6 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_ENB, MSC_M2AP_TARGET_ENB, NULL, 0, "0 X2HandoverCancel/initiatingMessage assoc_id %u", m2ap_eNB_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
// m2ap_eNB_itti_send_sctp_data_req(instance_p->instance, m2ap_eNB_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
//#include "m3ap_MME_interface_management.h"
|
//#include "m3ap_MME_interface_management.h"
|
||||||
#include "m3ap_MCE_interface_management.h"
|
#include "m3ap_MCE_interface_management.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
|
|
||||||
#include "m3ap_itti_messaging.h"
|
#include "m3ap_itti_messaging.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
@@ -149,15 +148,7 @@ int MCE_send_MBMS_SESSION_START_RESPONSE(instance_t instance, m3ap_session_start
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
// LOG_W(M3AP,"pdu.present %d\n",pdu.present);
|
// LOG_W(M3AP,"pdu.present %d\n",pdu.present);
|
||||||
// // MSC_LOG_TX_MESSAGE(
|
|
||||||
// // MSC_M3AP_MCE,
|
|
||||||
// // MSC_M3AP_MCE,
|
|
||||||
// // (const char *)buffer,
|
|
||||||
// // len,
|
|
||||||
// // MSC_AS_TIME_FMT" M3_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// // 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// // m3ap_MCE_data_p->MCEname);
|
|
||||||
//
|
|
||||||
m3ap_MCE_itti_send_sctp_data_req(instance, m3ap_mce_data_g->assoc_id, buffer, len, 0);
|
m3ap_MCE_itti_send_sctp_data_req(instance, m3ap_mce_data_g->assoc_id, buffer, len, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -318,14 +309,6 @@ int MCE_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m3ap_session_start_
|
|||||||
|
|
||||||
|
|
||||||
LOG_D(M3AP,"pdu.present %d\n",pdu.present);
|
LOG_D(M3AP,"pdu.present %d\n",pdu.present);
|
||||||
// MSC_LOG_TX_MESSAGE(
|
|
||||||
// MSC_M3AP_MCE,
|
|
||||||
// MSC_M3AP_MCE,
|
|
||||||
// (const char *)buffer,
|
|
||||||
// len,
|
|
||||||
// MSC_AS_TIME_FMT" M3_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// m3ap_MCE_data_p->MCEname);
|
|
||||||
|
|
||||||
m3ap_MCE_itti_send_sctp_data_req(instance, m3ap_mce_data_g->assoc_id, buffer, len, 0);
|
m3ap_MCE_itti_send_sctp_data_req(instance, m3ap_mce_data_g->assoc_id, buffer, len, 0);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -425,14 +408,6 @@ int MCE_send_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, m3ap_mbms_session
|
|||||||
|
|
||||||
|
|
||||||
LOG_D(M3AP,"pdu.present %d\n",pdu.present);
|
LOG_D(M3AP,"pdu.present %d\n",pdu.present);
|
||||||
// MSC_LOG_TX_MESSAGE(
|
|
||||||
// MSC_M3AP_MCE,
|
|
||||||
// MSC_M3AP_MCE,
|
|
||||||
// (const char *)buffer,
|
|
||||||
// len,
|
|
||||||
// MSC_AS_TIME_FMT" M3_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// m3ap_MCE_data_p->MCEname);
|
|
||||||
|
|
||||||
m3ap_MCE_itti_send_sctp_data_req(instance, m3ap_mce_data_g->assoc_id, buffer, len, 0);
|
m3ap_MCE_itti_send_sctp_data_req(instance, m3ap_mce_data_g->assoc_id, buffer, len, 0);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -646,14 +621,6 @@ int MCE_send_M3_SETUP_REQUEST(m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t *
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
// LOG_W(M3AP,"pdu.present %d\n",pdu.present);
|
// LOG_W(M3AP,"pdu.present %d\n",pdu.present);
|
||||||
// // MSC_LOG_TX_MESSAGE(
|
|
||||||
// // MSC_M3AP_MCE,
|
|
||||||
// // MSC_M3AP_MCE,
|
|
||||||
// // (const char *)buffer,
|
|
||||||
// // len,
|
|
||||||
// // MSC_AS_TIME_FMT" M3_SETUP_REQUEST initiatingMessage MCEname %s",
|
|
||||||
// // 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// // m3ap_MCE_data_p->MCEname);
|
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//// buffer = &bytes[0];
|
//// buffer = &bytes[0];
|
||||||
@@ -725,15 +692,6 @@ int MCE_handle_M3_SETUP_RESPONSE(instance_t instance,
|
|||||||
//for (int i=0;i<num_cells_to_activate;i++)
|
//for (int i=0;i<num_cells_to_activate;i++)
|
||||||
// AssertFatal(M3AP_SETUP_RESP (msg_p).num_SI[i] > 0, "System Information %d is missing",i);
|
// AssertFatal(M3AP_SETUP_RESP (msg_p).num_SI[i] > 0, "System Information %d is missing",i);
|
||||||
|
|
||||||
//MSC_LOG_RX_MESSAGE(
|
|
||||||
// MSC_M3AP_MCE,
|
|
||||||
// MSC_M3AP_CU,
|
|
||||||
// 0,
|
|
||||||
// 0,
|
|
||||||
// MSC_AS_TIME_FMT" MCE_handle_M3_SETUP_RESPONSE successfulOutcome assoc_id %d",
|
|
||||||
// 0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
|
||||||
// assoc_id);
|
|
||||||
|
|
||||||
//LOG_D(M3AP, "Sending M3AP_SETUP_RESP ITTI message to MCE_APP with assoc_id (%d->%d)\n",
|
//LOG_D(M3AP, "Sending M3AP_SETUP_RESP ITTI message to MCE_APP with assoc_id (%d->%d)\n",
|
||||||
// assoc_id,MCE_MOMCELE_ID_TO_INSTANCE(assoc_id));
|
// assoc_id,MCE_MOMCELE_ID_TO_INSTANCE(assoc_id));
|
||||||
itti_send_msg_to_task(TASK_MCE_APP, ENB_MODULE_ID_TO_INSTANCE(assoc_id), msg_p);
|
itti_send_msg_to_task(TASK_MCE_APP, ENB_MODULE_ID_TO_INSTANCE(assoc_id), msg_p);
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
|
|
||||||
#include "m2ap_itti_messaging.h"
|
#include "m2ap_itti_messaging.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
@@ -174,8 +173,6 @@ int m2ap_MCE_generate_m2_setup_request(
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 M2Setup/initiatingMessage assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
|
|
||||||
m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 0);
|
m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -311,8 +308,6 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC
|
|||||||
|
|
||||||
m2ap_MCE_data_p->state = M2AP_MCE_STATE_READY;
|
m2ap_MCE_data_p->state = M2AP_MCE_STATE_READY;
|
||||||
|
|
||||||
//MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 M2Setup/successfulOutcome assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
|
|
||||||
m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 0);
|
m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -367,11 +362,6 @@ int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE,
|
|
||||||
// MSC_M2AP_TARGET_MCE, NULL, 0,
|
|
||||||
// "0 M2Setup/unsuccessfulOutcome assoc_id %u cause %u value %u",
|
|
||||||
// assoc_id, cause_type, cause_value);
|
|
||||||
|
|
||||||
m2ap_MCE_itti_send_sctp_data_req(instance, assoc_id, buffer, len, 0);
|
m2ap_MCE_itti_send_sctp_data_req(instance, assoc_id, buffer, len, 0);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -557,8 +547,6 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 X2Handover/initiatingMessage assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -650,8 +638,6 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 X2Handover/successfulOutcome assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -712,8 +698,6 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 X2UEContextRelease/initiatingMessage assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
@@ -796,8 +780,6 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p,
|
|||||||
// return -1;
|
// return -1;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// MSC_LOG_TX_MESSAGE (MSC_M2AP_SRC_MCE, MSC_M2AP_TARGET_MCE, NULL, 0, "0 X2HandoverCancel/initiatingMessage assoc_id %u", m2ap_MCE_data_p->assoc_id);
|
|
||||||
//
|
|
||||||
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
// m2ap_MCE_itti_send_sctp_data_req(instance_p->instance, m2ap_MCE_data_p->assoc_id, buffer, len, 1);
|
||||||
//
|
//
|
||||||
// return ret;
|
// return ret;
|
||||||
|
|||||||
@@ -43,7 +43,6 @@
|
|||||||
|
|
||||||
#include "m3ap_MME_interface_management.h"
|
#include "m3ap_MME_interface_management.h"
|
||||||
|
|
||||||
#include "msc.h"
|
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "conversions.h"
|
#include "conversions.h"
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user