X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcu_stub%2Fcu_stub_egtp.h;h=993e4ad003486d621878a1853c9d583f288bf7df;hb=6178d5e32f0c57e198de80afc23b92c635e4f6df;hp=ba0c1316a02e0eeb7131e7f257db1bec0283e118;hpb=3235ecfc7414aa0b72d0ad50db63ae8b5626045b;p=o-du%2Fl2.git diff --git a/src/cu_stub/cu_stub_egtp.h b/src/cu_stub/cu_stub_egtp.h index ba0c1316a..993e4ad00 100644 --- a/src/cu_stub/cu_stub_egtp.h +++ b/src/cu_stub/cu_stub_egtp.h @@ -47,8 +47,11 @@ #define EGTP_MASK_BIT7 0x40 #define EGTP_MASK_BIT8 0x80 -U8 sockType; -U8 protType; +#define NUM_TUNNEL_TO_PUMP_DATA 3 +#define NUM_DL_PACKETS 4 + +uint8_t sockType; +uint8_t protType; typedef enum egtpMsgType { @@ -65,18 +68,18 @@ typedef enum egtpMsgType /*Extension Header */ typedef struct egtpExtHdr { - TknU16 udpPort; /**< UDP Port */ - TknU16 pdcpNmb; /**< PDCP Number */ + TknUInt16 udpPort; /**< UDP Port */ + TknUInt16 pdcpNmb; /**< PDCP Number */ }EgtpExtHdr; /*Structure for MsgHdr */ typedef struct egtpMsgHdr { - TknU8 nPdu; /**< N-PDU Number */ - TknU32 seqNum; /**< Sequence Number */ + TknUInt8 nPdu; /**< N-PDU Number */ + TknUInt32 seqNum; /**< Sequence Number */ EgtpExtHdr extHdr; /**< Extension headers present flag */ - U32 teId; /**< Tunnel Endpoint Id */ - U8 msgType; /**< eGTP-U Message Type */ + uint32_t teId; /**< Tunnel Endpoint Id */ + uint8_t msgType; /**< eGTP-U Message Type */ }EgtpMsgHdr; typedef struct egtpMsg @@ -87,9 +90,9 @@ typedef struct egtpMsg typedef struct egtpTnlEvt { - U8 action; - U32 lclTeid; - U32 remTeid; + uint8_t action; + uint32_t lclTeid; + uint32_t remTeid; }EgtpTnlEvt; typedef struct egtpTptSrvr @@ -100,21 +103,21 @@ typedef struct egtpTptSrvr typedef struct EgtpTeIdCb { - U32 teId; /* Local tunnel id */ - U32 remTeId; /* Remote tunnel id */ + uint32_t teId; /* Local tunnel id */ + uint32_t remTeId; /* Remote tunnel id */ struct { - U8 hdr[EGTP_MAX_HDR_LEN]; - U8 cnt; + uint8_t hdr[EGTP_MAX_HDR_LEN]; + uint8_t cnt; }preEncodedHdr; /* Pre-encoded header for PDUs on this tunnel */ }EgtpTeIdCb; typedef struct egtpDstCb { CmInetIpAddr dstIp; /* destination IP */ - U16 dstPort; /* Remote port that sends data */ + uint16_t dstPort; /* Remote port that sends data */ EgtpTptSrvr sendTptSrvr; /* Transport server for sending UDP msg to */ - U32 numTunn; /* Number of tunnels */ + uint32_t numTunn; /* Number of tunnels */ CmHashListCp teIdLst; /* Tunnel Id list for this destination */ }EgtpDstCb; @@ -123,8 +126,9 @@ typedef struct egtpGlobalCb EgtpParams egtpCfg; /* EGTP configuration */ EgtpTptSrvr recvTptSrvr; /* Transport server for receiving UDP msg */ EgtpDstCb dstCb; /* Destination endpoint */ + uint8_t gCntPdu[MAX_TEID+1]; /* Maintaining PDU count for each bearer */ }EgtpGlobalCb; -extern EgtpGlobalCb egtpCb; /* EGTP global control block */ +EgtpGlobalCb egtpCb; /* EGTP global control block */ S16 egtpActvInit(); S16 cuEgtpCfgReq(); @@ -133,9 +137,9 @@ S16 cuEgtpTnlMgmtReq(EgtpTnlEvt tnlEvt); S16 cuEgtpTnlAdd(EgtpTnlEvt tnlEvt); S16 cuEgtpTnlMod(EgtpTnlEvt tnlEvt); S16 cuEgtpTnlDel(EgtpTnlEvt tnlEvt); -S16 cuEgtpEncodeHdr(U8 *preEncodedHdr, EgtpMsgHdr *preDefHdr, U8 *hdrIdx); +S16 cuEgtpEncodeHdr(uint8_t *preEncodedHdr, EgtpMsgHdr *preDefHdr, uint8_t *hdrIdx); S16 cuEgtpHdlRecvMsg(Buffer *mBuf); -S16 cuEgtpDatReq(); +uint16_t cuEgtpDatReq(uint8_t teId); S16 BuildAppMsg(EgtpMsg *egtpMsg); S16 BuildEgtpMsg(EgtpMsg *egtpMsg); S16 cuEgtpSendMsg(Buffer *mBuf);