move ue gw interfaces to separate interfaces header file

master
Francisco 4 years ago committed by Francisco Paisana
parent 186285ffd3
commit ea04104e8e

@ -0,0 +1,67 @@
/**
*
* \section COPYRIGHT
*
* Copyright 2013-2020 Software Radio Systems Limited
*
* By using this file, you agree to the terms and conditions set
* forth in the LICENSE file which can be found at the top level of
* the distribution.
*
*/
#ifndef SRSLTE_UE_GW_INTERFACES_H
#define SRSLTE_UE_GW_INTERFACES_H
#include "srslte/asn1/liblte_mme.h"
namespace srsue {
class gw_interface_nas
{
public:
virtual int setup_if_addr(uint32_t eps_bearer_id,
uint32_t lcid,
uint8_t pdn_type,
uint32_t ip_addr,
uint8_t* ipv6_if_id,
char* err_str) = 0;
virtual int apply_traffic_flow_template(const uint8_t& eps_bearer_id,
const uint8_t& lcid,
const LIBLTE_MME_TRAFFIC_FLOW_TEMPLATE_STRUCT* tft) = 0;
typedef enum {
TEST_LOOP_INACTIVE = 0,
TEST_LOOP_MODE_A_ACTIVE,
TEST_LOOP_MODE_B_ACTIVE,
TEST_LOOP_MODE_C_ACTIVE
} test_loop_mode_state_t;
/**
* Updates the test loop mode. The IP delay parameter is only valid for Mode B.
* @param mode
* @param ip_pdu_delay_ms The PDU delay in ms
*/
virtual void set_test_loop_mode(const test_loop_mode_state_t mode, const uint32_t ip_pdu_delay_ms = 0) = 0;
};
class gw_interface_rrc
{
public:
virtual void add_mch_port(uint32_t lcid, uint32_t port) = 0;
virtual int update_lcid(uint32_t eps_bearer_id, uint32_t new_lcid) = 0;
};
class gw_interface_pdcp
{
public:
virtual void write_pdu(uint32_t lcid, srslte::unique_byte_buffer_t pdu) = 0;
virtual void write_pdu_mch(uint32_t lcid, srslte::unique_byte_buffer_t pdu) = 0;
};
class gw_interface_stack : public gw_interface_nas, public gw_interface_rrc, public gw_interface_pdcp
{};
} // namespace srsue
#endif // SRSLTE_UE_GW_INTERFACES_H

@ -39,51 +39,6 @@
namespace srsue { namespace srsue {
// GW interface for NAS
class gw_interface_nas
{
public:
virtual int setup_if_addr(uint32_t eps_bearer_id,
uint32_t lcid,
uint8_t pdn_type,
uint32_t ip_addr,
uint8_t* ipv6_if_id,
char* err_str) = 0;
virtual int apply_traffic_flow_template(const uint8_t& eps_bearer_id,
const uint8_t& lcid,
const LIBLTE_MME_TRAFFIC_FLOW_TEMPLATE_STRUCT* tft) = 0;
typedef enum {
TEST_LOOP_INACTIVE = 0,
TEST_LOOP_MODE_A_ACTIVE,
TEST_LOOP_MODE_B_ACTIVE,
TEST_LOOP_MODE_C_ACTIVE
} test_loop_mode_state_t;
/**
* Updates the test loop mode. The IP delay parameter is only valid for Mode B.
* @param mode
* @param ip_pdu_delay_ms The PDU delay in ms
*/
virtual void set_test_loop_mode(const test_loop_mode_state_t mode, const uint32_t ip_pdu_delay_ms = 0) = 0;
};
// GW interface for RRC
class gw_interface_rrc
{
public:
virtual void add_mch_port(uint32_t lcid, uint32_t port) = 0;
virtual int update_lcid(uint32_t eps_bearer_id, uint32_t new_lcid) = 0;
};
// GW interface for PDCP
class gw_interface_pdcp
{
public:
virtual void write_pdu(uint32_t lcid, srslte::unique_byte_buffer_t pdu) = 0;
virtual void write_pdu_mch(uint32_t lcid, srslte::unique_byte_buffer_t pdu) = 0;
};
// RRC interface for MAC // RRC interface for MAC
class rrc_interface_mac_common class rrc_interface_mac_common
{ {
@ -626,9 +581,6 @@ public:
virtual bool start_service_request() = 0; virtual bool start_service_request() = 0;
}; };
class gw_interface_stack : public gw_interface_nas, public gw_interface_rrc, public gw_interface_pdcp
{};
// STACK interface for RRC // STACK interface for RRC
class stack_interface_rrc class stack_interface_rrc
{ {

@ -21,6 +21,12 @@
#include "srslte/interfaces/ue_interfaces.h" #include "srslte/interfaces/ue_interfaces.h"
#include "srslte/upper/pdcp_entity_base.h" #include "srslte/upper/pdcp_entity_base.h"
namespace srsue {
class gw_interface_pdcp;
}
namespace srslte { namespace srslte {
/**************************************************************************** /****************************************************************************
@ -34,6 +40,7 @@ namespace srslte {
* LTE PDCP Entity * LTE PDCP Entity
* Class for LTE PDCP entities * Class for LTE PDCP entities
***************************************************************************/ ***************************************************************************/
class pdcp_entity_lte final : public pdcp_entity_base class pdcp_entity_lte final : public pdcp_entity_base
{ {
public: public:

@ -21,6 +21,7 @@
#include "srslte/common/security.h" #include "srslte/common/security.h"
#include "srslte/common/task_scheduler.h" #include "srslte/common/task_scheduler.h"
#include "srslte/common/threads.h" #include "srslte/common/threads.h"
#include "srslte/interfaces/ue_gw_interfaces.h"
#include "srslte/interfaces/ue_interfaces.h" #include "srslte/interfaces/ue_interfaces.h"
#include <map> #include <map>

@ -13,6 +13,7 @@
#include "srslte/upper/pdcp_entity_lte.h" #include "srslte/upper/pdcp_entity_lte.h"
#include "srslte/common/int_helpers.h" #include "srslte/common/int_helpers.h"
#include "srslte/common/security.h" #include "srslte/common/security.h"
#include "srslte/interfaces/ue_gw_interfaces.h"
#include <bitset> #include <bitset>
namespace srslte { namespace srslte {

@ -18,6 +18,7 @@
#include "srslte/common/security.h" #include "srslte/common/security.h"
#include "srslte/common/test_common.h" #include "srslte/common/test_common.h"
#include "srslte/interfaces/pdcp_interface_types.h" #include "srslte/interfaces/pdcp_interface_types.h"
#include "srslte/interfaces/ue_gw_interfaces.h"
#include "srslte/interfaces/ue_interfaces.h" #include "srslte/interfaces/ue_interfaces.h"
#include <iostream> #include <iostream>

@ -13,7 +13,7 @@
#include "srslte/common/timers.h" #include "srslte/common/timers.h"
#include "srslte/interfaces/enb_metrics_interface.h" #include "srslte/interfaces/enb_metrics_interface.h"
#include "srslte/interfaces/enb_pdcp_interfaces.h" #include "srslte/interfaces/enb_pdcp_interfaces.h"
#include "srslte/interfaces/ue_interfaces.h" #include "srslte/interfaces/ue_gw_interfaces.h"
#include "srslte/srslog/srslog.h" #include "srslte/srslog/srslog.h"
#include "srslte/upper/pdcp.h" #include "srslte/upper/pdcp.h"
#include <map> #include <map>

@ -14,6 +14,7 @@
#include "srslte/common/log_filter.h" #include "srslte/common/log_filter.h"
#include "srslte/common/logger.h" #include "srslte/common/logger.h"
#include "srslte/interfaces/gnb_interfaces.h" #include "srslte/interfaces/gnb_interfaces.h"
#include "srslte/interfaces/ue_gw_interfaces.h"
#include "srslte/upper/pdcp.h" #include "srslte/upper/pdcp.h"
#include <map> #include <map>

@ -17,7 +17,7 @@
#include "srslte/common/common.h" #include "srslte/common/common.h"
#include "srslte/common/logmap.h" #include "srslte/common/logmap.h"
#include "srslte/interfaces/gnb_interfaces.h" #include "srslte/interfaces/gnb_interfaces.h"
#include "srslte/interfaces/ue_interfaces.h" #include "srslte/interfaces/ue_gw_interfaces.h"
namespace srsenb { namespace srsenb {

@ -59,6 +59,7 @@ namespace srsue {
class phy_controller; class phy_controller;
class usim_interface_rrc; class usim_interface_rrc;
class gw_interface_rrc;
class rrc : public rrc_interface_nas, class rrc : public rrc_interface_nas,
public rrc_interface_phy_lte, public rrc_interface_phy_lte,

@ -20,6 +20,7 @@
#include "srslte/common/log.h" #include "srslte/common/log.h"
#include "srslte/common/log_filter.h" #include "srslte/common/log_filter.h"
#include "srslte/common/threads.h" #include "srslte/common/threads.h"
#include "srslte/interfaces/ue_gw_interfaces.h"
#include "srslte/interfaces/ue_interfaces.h" #include "srslte/interfaces/ue_interfaces.h"
#include "srslte/srslog/srslog.h" #include "srslte/srslog/srslog.h"
#include "tft_packet_filter.h" #include "tft_packet_filter.h"

@ -32,6 +32,7 @@ using srslte::byte_buffer_t;
namespace srsue { namespace srsue {
class usim_interface_nas; class usim_interface_nas;
class gw_interface_nas;
class nas : public nas_interface_rrc, public srslte::timer_callback class nas : public nas_interface_rrc, public srslte::timer_callback
{ {

@ -14,6 +14,7 @@
#include "srslte/asn1/rrc.h" #include "srslte/asn1/rrc.h"
#include "srslte/common/bcd_helpers.h" #include "srslte/common/bcd_helpers.h"
#include "srslte/common/security.h" #include "srslte/common/security.h"
#include "srslte/interfaces/ue_gw_interfaces.h"
#include "srslte/interfaces/ue_usim_interfaces.h" #include "srslte/interfaces/ue_usim_interfaces.h"
#include "srsue/hdr/stack/rrc/phy_controller.h" #include "srsue/hdr/stack/rrc/phy_controller.h"
#include "srsue/hdr/stack/rrc/rrc_meas.h" #include "srsue/hdr/stack/rrc/rrc_meas.h"
@ -24,9 +25,7 @@
#include <iostream> #include <iostream>
#include <math.h> #include <math.h>
#include <numeric> #include <numeric>
#include <sstream>
#include <string.h> #include <string.h>
#include <unistd.h>
bool simulate_rlf = false; bool simulate_rlf = false;

@ -20,6 +20,7 @@
#include "srslte/asn1/liblte_mme.h" #include "srslte/asn1/liblte_mme.h"
#include "srslte/common/logmap.h" #include "srslte/common/logmap.h"
#include "srslte/interfaces/ue_gw_interfaces.h"
#include "srslte/interfaces/ue_usim_interfaces.h" #include "srslte/interfaces/ue_usim_interfaces.h"
#include "srsue/hdr/stack/upper/nas.h" #include "srsue/hdr/stack/upper/nas.h"
#include "srsue/hdr/stack/upper/nas_idle_procedures.h" #include "srsue/hdr/stack/upper/nas_idle_procedures.h"

Loading…
Cancel
Save