diff --git a/common/platform_types.h b/common/platform_types.h index 888a812465..cb3d872804 100644 --- a/common/platform_types.h +++ b/common/platform_types.h @@ -193,6 +193,20 @@ typedef struct nsa_msg_t { uint8_t msg_buffer[MAX_MESSAGE_SIZE]; } nsa_msg_t; +typedef struct transport_layer_addr_s { + /** + * Transport Layer Address as a bitstring: + * - 32 bits for IPv4 (RFC 791), + * - 128 bits for IPv6 (RFC 2460), + * - 160 bits for both IPv4 and IPv6, with IPv4 in the first 32 bits. + * The S1AP/NGAP layer forwards this address (bitstring<1..160>) + * to S1-U/NG-U without interpreting it. + */ + uint8_t length; + /// Buffer: address in network byte order + uint8_t buffer[20]; +} transport_layer_addr_t; + //----------------------------------------------------------------------------- // GTPV1U TYPES //----------------------------------------------------------------------------- diff --git a/openair2/COMMON/gtpv1_u_messages_types.h b/openair2/COMMON/gtpv1_u_messages_types.h index 77e92f39bb..c4a7f7bb18 100644 --- a/openair2/COMMON/gtpv1_u_messages_types.h +++ b/openair2/COMMON/gtpv1_u_messages_types.h @@ -170,13 +170,10 @@ typedef struct { typedef struct gtpv1u_gnb_create_tunnel_req_s { ue_id_t ue_id; int num_tunnels; - //teid_t upf_NGu_teid[NR_GTPV1U_MAX_BEARERS_PER_UE]; ///< Tunnel Endpoint Identifier teid_t outgoing_teid[NR_GTPV1U_MAX_BEARERS_PER_UE]; int outgoing_qfi[NR_GTPV1U_MAX_BEARERS_PER_UE]; pdusessionid_t pdusession_id[NR_GTPV1U_MAX_BEARERS_PER_UE]; ebi_t incoming_rb_id[NR_GTPV1U_MAX_BEARERS_PER_UE]; - //ebi_t outgoing_rb_id[NR_GTPV1U_MAX_BEARERS_PER_UE]; - //transport_layer_addr_t upf_addr[NR_GTPV1U_MAX_BEARERS_PER_UE]; transport_layer_addr_t dst_addr[NR_GTPV1U_MAX_BEARERS_PER_UE]; } gtpv1u_gnb_create_tunnel_req_t; diff --git a/openair2/COMMON/s1ap_messages_types.h b/openair2/COMMON/s1ap_messages_types.h index 7537d7c6d7..e7bbfc7989 100644 --- a/openair2/COMMON/s1ap_messages_types.h +++ b/openair2/COMMON/s1ap_messages_types.h @@ -224,16 +224,6 @@ typedef struct nas_pdu_s { uint32_t length; } nas_pdu_t, ue_radio_cap_t; -typedef struct transport_layer_addr_s { - /* Length of the transport layer address buffer in bits. S1AP layer received a - * bit string<1..160> containing one of the following addresses: ipv4, - * ipv6, or ipv4 and ipv6. The layer doesn't interpret the buffer but - * silently forward it to S1-U. - */ - uint8_t length; - uint8_t buffer[20]; // in network byte order -} transport_layer_addr_t; - #define TRANSPORT_LAYER_ADDR_COPY(dEST,sOURCE) \ do { \ AssertFatal(sOURCE.len <= 20); \