X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=fhi_lib%2Flib%2Fapi%2Fxran_pkt_up.h;h=3231fc26b3ab45e047685f68fd526a1a5abcce99;hb=70d9d920dd4e575f085f1f1a9050fefd1c10e127;hp=a2399f09d6f231fe1491bc3441057e7d4f9c70b4;hpb=4745e5c88ba931c6d71cb6d8c681f76cf364eac5;p=o-du%2Fphy.git diff --git a/fhi_lib/lib/api/xran_pkt_up.h b/fhi_lib/lib/api/xran_pkt_up.h index a2399f0..3231fc2 100644 --- a/fhi_lib/lib/api/xran_pkt_up.h +++ b/fhi_lib/lib/api/xran_pkt_up.h @@ -16,7 +16,6 @@ * *******************************************************************************/ - /** * @brief Definitions and support functions to process XRAN packet * @file xran_pkt_up.h @@ -37,6 +36,10 @@ #ifndef _XRAN_PKT_UP_H_ #define _XRAN_PKT_UP_H_ +#ifdef __cplusplus +extern "C" { +#endif + #include "xran_pkt.h" #define IQ_PAIR_NUM_IN_RB 12 @@ -72,7 +75,11 @@ struct data_section_hdr { uint32_t sect_id:12; /**< 5.4.5.1 section identifier */ }; }fields; - } __attribute__((__packed__)); +#ifdef FCN_ADAPT + uint8_t udCompHdr; + uint8_t reserved; +#endif +} __rte_packed; /* @@ -116,7 +123,7 @@ union compression_params { uint8_t compShift:4; uint8_t compBitWidth:4; } uLaw; - } __attribute__((__packed__)); +} __rte_packed; /* @@ -133,6 +140,40 @@ struct rb_map { int16_t i_sample:IQ_BITS; /**< This parameter is the In-phase sample value */ int16_t q_sample:IQ_BITS; /**< This parameter is the Quadrature sample value */ -} __rte_packed;; +} __rte_packed; + +/** + ****************************************************************************** + * @ingroup xran_common_pkt + * + * @description + * Structure holds complete xran u-plane packet header + * 3.1.1 Ethernet Encapsulation + *****************************************************************************/ +struct xran_up_pkt_hdr +{ + struct xran_ecpri_hdr ecpri_hdr; /**< eCPRI Transport Header */ + struct radio_app_common_hdr app_hdr; /**< eCPRI Transport Header */ + struct data_section_hdr data_sec_hdr; +} __rte_packed; + + +/** + ****************************************************************************** + * @ingroup xran_common_pkt + * + * @description + * Structure holds complete ethernet and xran u-plane packet header + * 3.1.1 Ethernet Encapsulation + *****************************************************************************/ +struct eth_xran_up_pkt_hdr +{ + struct rte_ether_hdr eth_hdr; + struct xran_up_pkt_hdr xran_hdr; +}__rte_packed; + +#ifdef __cplusplus +} +#endif #endif