Commit d8cc6d95 authored by Xenofon Foukas's avatar Xenofon Foukas

Added support for control delegation and dynamic loading of libraries

parent 7dd05df4
......@@ -796,6 +796,7 @@ if (ENB_AGENT_SB_IF)
${PRPT_MSG_DIR}/mac_primitives.proto
${PRPT_MSG_DIR}/config_messages.proto
${PRPT_MSG_DIR}/config_common.proto
${PRPT_MSG_DIR}/control_delegation.proto
)
set(PRPT_C_DIR ${protobuf_generated_dir}/${PRPTDIR})
......@@ -812,6 +813,7 @@ if (ENB_AGENT_SB_IF)
${PRPT_C_DIR}/mac_primitives.pb-c.c
${PRPT_C_DIR}/config_messages.pb-c.c
${PRPT_C_DIR}/config_common.pb-c.c
${PRPT_C_DIR}/control_delegation.pb-c.c
)
file(GLOB prpt_h ${PRPT_C_DIR}/*.h)
......@@ -1109,6 +1111,9 @@ add_library(L2
${ENB_APP_SRC}
${OPENAIR2_DIR}/RRC/L2_INTERFACE/openair_rrc_L2_interface.c)
#Test for adding a shared library
add_library(alt_sched SHARED ${MAC_DIR}/eNB_agent_scheduler_dlsch_ue_alt.c)
# L3 Libs
##########################
......@@ -1604,7 +1609,7 @@ target_link_libraries (lte-softmodem
target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
target_link_libraries (lte-softmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${option_HW_lib} ${option_TP_lib} ${XFORMS_LIBRARIES} ${PROTOBUF_LIB})
target_link_libraries (lte-softmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${option_HW_lib} ${option_TP_lib} ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS})
target_link_libraries (lte-softmodem ${LIBBOOST_LIBRARIES})
target_link_libraries (lte-softmodem ${LIB_LMS_LIBRARIES})
......@@ -1638,7 +1643,7 @@ target_link_libraries (lte-softmodem-nos1
-Wl,--end-group )
target_link_libraries (lte-softmodem-nos1 ${LIBXML2_LIBRARIES})
target_link_libraries (lte-softmodem-nos1 pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${option_HW_lib} ${option_TP_lib} ${XFORMS_LIBRARIES} ${PROTOBUF_LIB})
target_link_libraries (lte-softmodem-nos1 pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${option_HW_lib} ${option_TP_lib} ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS})
target_link_libraries (lte-softmodem-nos1 ${LIBBOOST_LIBRARIES})
target_link_libraries (lte-softmodem-nos1 ${LIB_LMS_LIBRARIES})
......@@ -1770,12 +1775,12 @@ add_executable(oaisim_nos1
target_include_directories(oaisim_nos1 PUBLIC ${OPENAIR_TARGETS}/SIMU/USER)
target_link_libraries (oaisim_nos1
-Wl,--start-group
RRC_LIB X2AP_LIB SECU_CN UTIL HASHTABLE SCHED_LIB PHY LFDS ${MSC_LIB} L2 ${RAL_LIB} SIMU SIMU_ETH SECU_OSA ${ITTI_LIB} ${MIH_LIB} ${PRPT_MSG_LIB} ${ASYNC_IF_LIB} ${ENB_AGENT_LIB}
RRC_LIB X2AP_LIB SECU_CN UTIL HASHTABLE SCHED_LIB PHY LFDS ${MSC_LIB} L2 ${RAL_LIB} SIMU SIMU_ETH SECU_OSA ${ITTI_LIB} ${MIH_LIB} ${PRPT_MSG_LIB} ${ASYNC_IF_LIB} ${ENB_AGENT_LIB}
-Wl,--end-group )
target_link_libraries (oaisim_nos1 ${LIBXML2_LIBRARIES} ${LAPACK_LIBRARIES})
target_link_libraries (oaisim_nos1 pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${option_HW_lib} ${option_TP_lib}
${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${OPENPGM_LIBRARIES} ${PROTOBUF_LIB})
${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${OPENPGM_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS})
#Force link with forms, regardless XFORMS option
target_link_libraries (oaisim_nos1 forms)
......
//'syntax = "proto2";'
package protocol;
enum prp_control_delegation_type {
PRCDT_MAC_DL_UE_SCHEDULER = 1; // DL UE scheduler delegation
}
\ No newline at end of file
......@@ -35,5 +35,8 @@ enum prp_type {
// UE state change messages
PRPT_UE_STATE_CHANGE = 14;
// Control delegation messages
PRPT_DELEGATE_CONTROL = 15;
}
......@@ -6,6 +6,7 @@ import "header.proto";
import "time_common.proto";
import "config_messages.proto";
import "controller_commands.proto";
import "control_delegation.proto";
message progran_message {
optional progran_direction msg_dir = 100;
......@@ -25,6 +26,7 @@ message progran_message {
prp_lc_config_reply lc_config_reply_msg = 13;
prp_dl_mac_config dl_mac_config_msg = 14;
prp_ue_state_change ue_state_change_msg = 15;
prp_control_delegation control_delegation_msg = 16;
}
}
......@@ -170,6 +172,17 @@ message prp_ue_state_change {
optional prp_ue_config config = 3; // Body of the message (based on type)
}
//
// Control delegation message
//
message prp_control_delegation {
optional prp_header header = 1;
optional uint32 delegation_type = 2; // Bitmap of PRCDT_* flags
optional bytes payload = 3; // Byte array of shared lib containing the delegated functions
repeated string name = 4; // The delegated functions names ordered based on bitmap flags
}
// Extensions of the echo request and reply
// messages for carrying a latency value in ms
message prp_echo_request_latency {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment