X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_egtp.h;h=8bd133a16ab452dc9157e3eff02ff11eec97ca4a;hb=95d4c229dc30cec27c98ee66b5b689779a48dcc9;hp=e264a44bd8e33f282d5d48274e9caa0bafb58f48;hpb=e550b2091fb29289d12a5722b189acbede7862f0;p=o-du%2Fl2.git diff --git a/src/du_app/du_egtp.h b/src/du_app/du_egtp.h index e264a44bd..8bd133a16 100644 --- a/src/du_app/du_egtp.h +++ b/src/du_app/du_egtp.h @@ -21,16 +21,7 @@ #ifndef __DU_EGTP_H__ #define __DU_EGTP_H__ -#include "du_mgr.h" -#include "du_log.h" -#include "cm_inet.h" -#include "cm_tpt.h" -#include "legtp.h" - -#include "cm_inet.x" -#include "cm_tpt.x" - -#define EGTP_DFLT_PORT 2152 +#define EGTP_RECVR_PORT 2152 /* As per the spec 29.281, the registered port number for GTP-U is 2152 */ #define EGTP_MAX_HDR_LEN 40 #define EGTP_MAX_MSG_RECV 10 @@ -46,59 +37,54 @@ #define EGTP_MASK_BIT7 0x40 #define EGTP_MASK_BIT8 0x80 - -U8 protType; - -typedef struct egtpTptSrvr -{ - CmInetAddr addr; - CmInetFd sockFd; /* Socket file descriptor */ -}EgtpTptSrvr; +uint8_t unpackEgtpSrvOpenReq(EgtpSrvOpenReq func, Pst *pst, Buffer *mBuf); +uint8_t protType; 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; /* destination port that sends data */ - EgtpTptSrvr sendTptSrvr; /* Transport server for sending UDP msg to */ - U32 numTunn; /* Number of tunnels */ + CmInetAddr dstAddr; /* Destination Server address */ + uint32_t numTunn; /* Number of tunnels */ CmHashListCp teIdLst; /* Tunnel Id list for this destination */ }EgtpDstCb; typedef struct egtpGlobalCb { EgtpConfig egtpCfg; /* EGTP configuration */ - EgtpTptSrvr recvTptSrvr; /* Transport server for receiving UDP msg */ + CmInetAddr localAddr; /* Local Server address */ + CmInetFd sockFd; /* Socket file descriptor */ EgtpDstCb dstCb; /* Destination endpoint */ }EgtpGlobalCb; -extern EgtpGlobalCb egtpCb; /* EGTP global control block */ -S16 egtpActvInit(Ent entity, Inst inst, Region region, Reason reason); -S16 egtpActvTsk(Pst *pst, Buffer *mBuf); -S16 egtpFillRspPst(Pst *pst, Pst *rspPst); -S16 egtpCfgReq(Pst *pst, EgtpConfig egtpCfg); -S16 egtpSrvOpenReq(Pst *pst); -S16 egtpSrvOpenPrc(U8 sockType, EgtpTptSrvr *server); -S16 egtpTnlMgmtReq(Pst *pst, EgtpTnlEvt tnlEvt); -S16 egtpTnlAdd(EgtpTnlEvt tnlEvt); -S16 egtpTnlMod(EgtpTnlEvt tnlEvt); -S16 egtpTnlDel(EgtpTnlEvt tnlEvt); -S16 egtpHdlDatInd(EgtpMsg msg); -S16 egtpEncodeHdr(U8 *preEncodedHdr, EgtpMsgHdr *preDefHdr, U8 *hdrIdx); -S16 egtpSendMsg(Buffer *mBuf); -S16 egtpSlotInd(); -S16 egtpRecvMsg(); -S16 egtpHdlRecvData(Buffer *mBuf); -S16 egtpDecodeHdr(Buffer *mBuf, EgtpMsg *egtpMsg); +EgtpGlobalCb egtpCb; /* EGTP global control block */ + +uint8_t duHdlEgtpDlData(EgtpMsg *egtpMsg); +uint8_t egtpActvInit(Ent entity, Inst inst, Region region, Reason reason); +uint8_t egtpActvTsk(Pst *pst, Buffer *mBuf); +uint8_t egtpFillRspPst(Pst *pst, Pst *rspPst); +uint8_t egtpCfgReq(Pst *pst, EgtpConfig egtpCfg); +uint8_t egtpSrvOpenReq(Pst *pst); +uint8_t egtpSrvOpenPrc(uint8_t sockType); +uint8_t egtpTnlMgmtReq(Pst *pst, EgtpTnlEvt tnlEvt); +uint8_t egtpTnlAdd(EgtpTnlEvt tnlEvt); +uint8_t egtpTnlMod(EgtpTnlEvt tnlEvt); +uint8_t egtpTnlDel(EgtpTnlEvt tnlEvt); +uint8_t egtpHdlDatInd(EgtpMsg msg); +uint8_t egtpEncodeHdr(uint8_t *preEncodedHdr, EgtpMsgHdr *preDefHdr, uint8_t *hdrIdx); +uint8_t egtpSendMsg(Buffer *mBuf); +uint8_t egtpSlotInd(); +uint8_t egtpRecvMsg(); +uint8_t egtpHdlRecvData(Buffer *mBuf); +uint8_t egtpDecodeHdr(Buffer *mBuf, EgtpMsg *egtpMsg); #endif