Commit 01ef0edc authored by Lionel Gauthier's avatar Lionel Gauthier

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6059 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 803d2bb8
......@@ -45,37 +45,37 @@
* P-GW contexts *
*********************************/
typedef struct pgw_eps_bearer_entry_gtp_based_S5_S8_only_s {
ebi_t eps_bearer_id; ///< An EPS bearer identity uniquely identifies an EPS bearer for one UE accessing via E-UTRAN
ebi_t eps_bearer_id; ///< An EPS bearer identity uniquely identifies an EPS bearer for one UE accessing via E-UTRAN
// TO DO traffic_flow_template_t tft; ///< Traffic Flow Template
ip_address_t s_gw_address_in_use_up; ///< The IP address of the S-GW currently used for sending user plane traffic.
Teid_t s_gw_teid_for_S5_S8_up; ///< S-GW Tunnel Endpoint Identifier for the S5/S8 interface for the user plane.
ip_address_t s_gw_address_in_use_up; ///< The IP address of the S-GW currently used for sending user plane traffic.
Teid_t s_gw_teid_for_S5_S8_up; ///< S-GW Tunnel Endpoint Identifier for the S5/S8 interface for the user plane.
ip_address_t p_gw_ip_address_for_S5_S8_up; ///< P-GW IP address for user plane data received from PDN GW.
Teid_t p_gw_teid_for_S5_S8_up; ///< P-GW Tunnel Endpoint Identifier for the GTP Based S5/S8 interface for user plane.
ip_address_t p_gw_ip_address_for_S5_S8_up; ///< P-GW IP address for user plane data received from PDN GW.
Teid_t p_gw_teid_for_S5_S8_up; ///< P-GW Tunnel Endpoint Identifier for the GTP Based S5/S8 interface for user plane.
// TO BE CHECKED
BearerQOS_t eps_bearer_qos; ///< ARP, GBR, MBR, QCI.
// NOT NEEDED charging_id ///< Charging identifier, identifies charging records generated by S-GW and PDN GW.
// TO BE CHECKED
BearerQOS_t eps_bearer_qos; ///< ARP, GBR, MBR, QCI.
// NOT NEEDED charging_id ///< Charging identifier, identifies charging records generated by S-GW and PDN GW.
} pgw_eps_bearer_entry_t;
typedef struct pgw_pdn_connection_s {
//ip_addresses; ///< IPv4 address and/or IPv6 prefix
pdn_type_t pdn_type; ///< IPv4, IPv6, or IPv4v6
ip_address_t s_gw_address_in_use_cp; ///< The IP address of the S-GW currently used for sending control plane signalling.
Teid_t s_gw_teid_for_S5_S8_cp; ///< S-GW Tunnel Endpoint Identifier for the S5/S8 interface for the control plane. (For GTP-based S5/S8 only).
ip_address_t s_gw_address_in_use_up; ///< The IP address of the S-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only).
// NOT NEEDED s_gw_gre_key_for_dl_traffic_up ///< Serving GW assigned GRE Key for the S5/S8 interface for the user plane for downlink traffic. (For PMIP-based S5/S8 only).
ip_address_t p_gw_ip_address_for_S5_S8_cp; ///< P-GW IP address for the S5/S8 for the control plane signalling.
Teid_t p_gw_teid_for_S5_S8_cp; ///< P-GW Tunnel Endpoint Identifier for the S5/S8 control plane interface. (For GTP-based S5/S8 only).
ip_address_t p_gw_address_in_use_up; ///< The IP address of the P-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only).
// NOT NEEDED p_gw_gre_key_for_uplink_traffic_up ///< PDN GW assigned GRE Key for the S5/S8 interface for the user plane for uplink traffic. (For PMIP-based S5/S8 only).
// NOT NEEDED MS Info Change Reporting Action ///< Denotes whether the MME and/or the SGSN is/are requested to send changes in User Location Information change for this bearer.
// NOT NEEDED CSG Information Reporting Action ///< Denotes whether the MME and/or the SGSN is/are requested to send changes in User CSG Information change for this bearer.
pdn_type_t pdn_type; ///< IPv4, IPv6, or IPv4v6
ip_address_t s_gw_address_in_use_cp; ///< The IP address of the S-GW currently used for sending control plane signalling.
Teid_t s_gw_teid_for_S5_S8_cp; ///< S-GW Tunnel Endpoint Identifier for the S5/S8 interface for the control plane. (For GTP-based S5/S8 only).
ip_address_t s_gw_address_in_use_up; ///< The IP address of the S-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only).
// NOT NEEDED s_gw_gre_key_for_dl_traffic_up ///< Serving GW assigned GRE Key for the S5/S8 interface for the user plane for downlink traffic. (For PMIP-based S5/S8 only).
ip_address_t p_gw_ip_address_for_S5_S8_cp; ///< P-GW IP address for the S5/S8 for the control plane signalling.
Teid_t p_gw_teid_for_S5_S8_cp; ///< P-GW Tunnel Endpoint Identifier for the S5/S8 control plane interface. (For GTP-based S5/S8 only).
ip_address_t p_gw_address_in_use_up; ///< The IP address of the P-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only).
// NOT NEEDED p_gw_gre_key_for_uplink_traffic_up ///< PDN GW assigned GRE Key for the S5/S8 interface for the user plane for uplink traffic. (For PMIP-based S5/S8 only).
// NOT NEEDED MS Info Change Reporting Action ///< Denotes whether the MME and/or the SGSN is/are requested to send changes in User Location Information change for this bearer.
// NOT NEEDED CSG Information Reporting Action ///< Denotes whether the MME and/or the SGSN is/are requested to send changes in User CSG Information change for this bearer.
/// This field denotes separately whether the MME/SGSN are requested to send changes in User CSG Information for (a) CSG cells,
/// (b) hybrid cells in which the subscriber is a CSG member, and (c) hybrid cells in which the subscriber is not a CSG member, or any combination of the above.
ebi_t default_bearer; ///< Identifies the default bearer within the PDN connection by its EPS Bearer Id. The default bearer is the one which is established first within the PDN connection. (For GTP based
ebi_t default_bearer; ///< Identifies the default bearer within the PDN connection by its EPS Bearer Id. The default bearer is the one which is established first within the PDN connection. (For GTP based
/// S5/S8 or for PMIP based S5/S8 if multiple PDN connections to the same APN are supported).
hash_table_t *pgw_eps_bearers;
......@@ -83,9 +83,9 @@ typedef struct pgw_pdn_connection_s {
typedef struct pgw_apn_s {
APN_t apn_in_use; ///< The APN currently used, as received from the S-GW.
ambr_t apn_ambr; ///< The maximum aggregated uplink and downlink MBR values to be shared across all Non-GBR bearers,
/// which are established for this APN.
APN_t apn_in_use; ///< The APN currently used, as received from the S-GW.
ambr_t apn_ambr; ///< The maximum aggregated uplink and downlink MBR values to be shared across all Non-GBR bearers,
/// which are established for this APN.
obj_hash_table_t *pdn_connections; ///< For each PDN Connection within the APN
} pgw_apn_t;
......@@ -118,46 +118,49 @@ typedef struct pgw_eps_bearer_context_information_s {
// A primary key for a EPS Bearer entry can be a tuple (eps bearer id, imsi)
typedef struct sgw_eps_bearer_entry_s {
ebi_t eps_bearer_id; ///< An EPS bearer identity uniquely identifies an EPS bearer for one UE accessing via E-UTRAN
#if defined (ENABLE_USE_GTPU_IN_KERNEL)
PAA_t paa;
#endif
ebi_t eps_bearer_id; ///< An EPS bearer identity uniquely identifies an EPS bearer for one UE accessing via E-UTRAN
// TO DO traffic_flow_template_t tft; ///< Traffic Flow Template
ip_address_t p_gw_address_in_use_up; ///< The IP address of the P-GW currently used for sending user plane traffic. (For GTP-based S5/S8 only).
Teid_t p_gw_teid_for_S5_S8_up; ///< P-GW Tunnel Endpoint Identifier for the S5/S8 interface for the user plane. (For GTP-based S5/S8 only).
ip_address_t p_gw_address_in_use_up; ///< The IP address of the P-GW currently used for sending user plane traffic. (For GTP-based S5/S8 only).
Teid_t p_gw_teid_for_S5_S8_up; ///< P-GW Tunnel Endpoint Identifier for the S5/S8 interface for the user plane. (For GTP-based S5/S8 only).
ip_address_t s_gw_ip_address_for_S5_S8_up; ///< S-GW IP address for user plane data received from PDN GW. (For GTP-based S5/S8 only).
Teid_t s_gw_teid_for_S5_S8_up; ///< S-GW Tunnel Endpoint Identifier for the S5/S8 interface for the user plane. (For GTP-based S5/S8 only).
ip_address_t s_gw_ip_address_for_S5_S8_up; ///< S-GW IP address for user plane data received from PDN GW. (For GTP-based S5/S8 only).
Teid_t s_gw_teid_for_S5_S8_up; ///< S-GW Tunnel Endpoint Identifier for the S5/S8 interface for the user plane. (For GTP-based S5/S8 only).
ip_address_t s_gw_ip_address_for_S1u_S12_S4_up; ///< S-GW IP address for the S1-u interface (Used by the eNodeB), for the S12 interface (used by the RNC) and for the S4 interface (used by the SGSN).
Teid_t s_gw_teid_for_S1u_S12_S4_up; ///< S-GW Tunnel Endpoint Identifier for the S1-u interface, for the S12 interface (used by the RNC) and for the S4 interface (used by the SGSN).
ip_address_t s_gw_ip_address_for_S1u_S12_S4_up; ///< S-GW IP address for the S1-u interface (Used by the eNodeB), for the S12 interface (used by the RNC) and for the S4 interface (used by the SGSN).
Teid_t s_gw_teid_for_S1u_S12_S4_up; ///< S-GW Tunnel Endpoint Identifier for the S1-u interface, for the S12 interface (used by the RNC) and for the S4 interface (used by the SGSN).
ip_address_t enb_ip_address_for_S1u; ///< eNodeB IP address for the S1-u interface (Used by the S-GW).
Teid_t enb_teid_for_S1u; ///< eNodeB Tunnel Endpoint Identifier for the S1-u interface.
ip_address_t enb_ip_address_for_S1u; ///< eNodeB IP address for the S1-u interface (Used by the S-GW).
Teid_t enb_teid_for_S1u; ///< eNodeB Tunnel Endpoint Identifier for the S1-u interface.
// TO BE CHECKED
BearerQOS_t eps_bearer_qos; ///< ARP, GBR, MBR, QCI.
// NOT NEEDED charging_id ///< Charging identifier, identifies charging records generated by S-GW and PDN GW.
// TO BE CHECKED
BearerQOS_t eps_bearer_qos; ///< ARP, GBR, MBR, QCI.
// NOT NEEDED charging_id ///< Charging identifier, identifies charging records generated by S-GW and PDN GW.
} sgw_eps_bearer_entry_t;
typedef struct sgw_pdn_connection_s {
APN_t apn_in_use; ///< The APN currently used, as received from the MME or S4 SGSN.
APN_t apn_in_use; ///< The APN currently used, as received from the MME or S4 SGSN.
// NOT NEEDED NOW eps_pdn_charging ///< The charging characteristics of this PDN connection, e.g.normal, prepaid, flat-rate and/or hot billing.
// NOT IMPLEMENTED NOW
ip_address_t p_gw_address_in_use_cp; ///< The IP address of the P-GW currently used for sending control plane signalling.
// NOT IMPLEMENTED NOW
Teid_t p_gw_teid_for_S5_S8_cp; ///< P-GW Tunnel Endpoint Identifier for the S5/S8 interface for the control plane. (For GTP-based S5/S8 only).
// NOT IMPLEMENTED NOW
ip_address_t p_gw_address_in_use_up; ///< The IP address of the P-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only)
// NOT NEEDED p_gw_gre_key_for_uplink_traffic_up ///< PDN GW assigned GRE Key for the S5/S8 interface for the user plane for uplink traffic. (For PMIP-based S5/S8 only)
ip_address_t s_gw_ip_address_for_S5_S8_cp; ///< S-GW IP address for the S5/S8 for the control plane signalling.
Teid_t s_gw_teid_for_S5_S8_cp; ///< S-GW Tunnel Endpoint Identifier for the S5/S8 control plane interface. (For GTP-based S5/S8 only).
ip_address_t s_gw_address_in_use_up; ///< The IP address of the S-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only)
// NOT NEEDED s_gw_gre_key_for_dl_traffic_up ///< user plane for downlink traffic. (For PMIP-based S5/S8 only)
ebi_t default_bearer; ///< Identifies the default bearer within the PDN connection by its EPS Bearer Id. (For PMIP based S5/S8.)
// eps bearers
hash_table_t *sgw_eps_bearers;
// NOT IMPLEMENTED NOW
ip_address_t p_gw_address_in_use_cp; ///< The IP address of the P-GW currently used for sending control plane signalling.
// NOT IMPLEMENTED NOW
Teid_t p_gw_teid_for_S5_S8_cp; ///< P-GW Tunnel Endpoint Identifier for the S5/S8 interface for the control plane. (For GTP-based S5/S8 only).
// NOT IMPLEMENTED NOW
ip_address_t p_gw_address_in_use_up; ///< The IP address of the P-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only)
// NOT NEEDED p_gw_gre_key_for_uplink_traffic_up ///< PDN GW assigned GRE Key for the S5/S8 interface for the user plane for uplink traffic. (For PMIP-based S5/S8 only)
ip_address_t s_gw_ip_address_for_S5_S8_cp; ///< S-GW IP address for the S5/S8 for the control plane signalling.
Teid_t s_gw_teid_for_S5_S8_cp; ///< S-GW Tunnel Endpoint Identifier for the S5/S8 control plane interface. (For GTP-based S5/S8 only).
ip_address_t s_gw_address_in_use_up; ///< The IP address of the S-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only)
// NOT NEEDED s_gw_gre_key_for_dl_traffic_up ///< user plane for downlink traffic. (For PMIP-based S5/S8 only)
ebi_t default_bearer; ///< Identifies the default bearer within the PDN connection by its EPS Bearer Id. (For PMIP based S5/S8.)
// eps bearers
hash_table_t *sgw_eps_bearers;
} sgw_pdn_connection_t;
......@@ -198,8 +201,8 @@ typedef struct sgw_eps_bearer_context_information_s {
// data entry for s11_bearer_context_information_hashtable
// like this if needed in future, the split of S and P GW should be easier.
typedef struct s_plus_p_gw_eps_bearer_context_information_s {
sgw_eps_bearer_context_information_t sgw_eps_bearer_context_information;
pgw_eps_bearer_context_information_t pgw_eps_bearer_context_information;
sgw_eps_bearer_context_information_t sgw_eps_bearer_context_information;
pgw_eps_bearer_context_information_t pgw_eps_bearer_context_information;
} s_plus_p_gw_eps_bearer_context_information_t;
......
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