X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcu_stub%2Fcu_stub_egtp.h;h=8240c54e1ef79436bca576a8597463badaa29747;hb=2a310f38af13dafd243ef7b24d5a721ed34355b3;hp=044959817e21537c0ff8c52b5bad97f8b67e26c2;hpb=c9ee9d5360e8cad2cb2f807f5ebfabe9304d88c4;p=o-du%2Fl2.git diff --git a/src/cu_stub/cu_stub_egtp.h b/src/cu_stub/cu_stub_egtp.h index 044959817..8240c54e1 100644 --- a/src/cu_stub/cu_stub_egtp.h +++ b/src/cu_stub/cu_stub_egtp.h @@ -21,7 +21,6 @@ #ifndef __CU_STUB_EGTP_H__ #define __CU_STUB_EGTP_H__ -#define EGTP_RECVR_PORT 2152 /* As per the spec 29.281, the registered port number for GTP-U is 2152 */ #define EGTP_TNL_MGMT_ADD 1 #define EGTP_TNL_MGMT_MOD 2 #define EGTP_TNL_MGMT_DEL 3 @@ -44,11 +43,11 @@ #define MIN_TEID 1 /*[Spec 29.281,Sec 5.1]: All Zero TEIDs are never assigned for setting up GTP-U Tunnel*/ #define MAX_TEID MAX_NUM_DRB * MAX_NUM_UE /*[Spec 29.281]: Max limit is not mentioned but as per GTP-U Header Format, TEID occupies 4 octets */ -#define NUM_TUNNEL_TO_PUMP_DATA 9 +#define NUM_TUNNEL_TO_PUMP_DATA 4 #define NUM_DL_PACKETS 1 -uint8_t sockType; -uint8_t protType; +extern uint8_t sockType; +extern uint8_t protType; typedef enum egtpMsgType { @@ -92,12 +91,6 @@ typedef struct egtpTnlEvt uint32_t remTeid; }EgtpTnlEvt; -typedef struct egtpTptSrvr -{ - CmInetAddr addr; - CmInetFd sockFd; /* Socket file descriptor */ -}EgtpTptSrvr; - typedef struct EgtpTeIdCb { uint32_t teId; /* Local tunnel id */ @@ -112,20 +105,16 @@ typedef struct EgtpTeIdCb typedef struct egtpDstCb { uint32_t duId; - CmInetIpAddr dstIp; /* destination IP */ - uint16_t dstPort; /* Remote port that sends data */ - EgtpTptSrvr sendTptSrvr; /* Transport server for sending UDP msg to */ + CmInetAddr dstAddr; uint32_t numTunn; /* Number of tunnels */ CmHashListCp teIdLst; /* Tunnel Id list for this destination */ }EgtpDstCb; -typedef struct egtpAssoc +typedef struct egtpDstCfg { - SctpIpAddr localIp; - uint16_t localPort; - SctpIpAddr destIp; - uint16_t destPort; -}EgtpAssoc; + SctpIpAddr dstIp; + uint16_t dstPort; +}EgtpDstCfg; typedef struct cuEgtpParams { @@ -133,18 +122,22 @@ typedef struct cuEgtpParams uint32_t minTunnelId; uint32_t maxTunnelId; uint8_t numDu; - EgtpAssoc egtpAssoc[MAX_DU_SUPPORTED]; + SctpIpAddr localIp; + uint16_t localPort; + EgtpDstCfg dstCfg[MAX_DU_SUPPORTED]; }CuEgtpParams; typedef struct egtpGlobalCb { CuEgtpParams egtpCfg; /* EGTP configuration */ - EgtpTptSrvr recvTptSrvr; /* Transport server for receiving UDP msg */ + CmInetAddr localAddr; + CmInetFd sockFd; /* Socket file descriptor */ uint8_t numDu; EgtpDstCb dstCb[MAX_DU_SUPPORTED]; /* Destination endpoint */ uint8_t gCntPdu[MAX_TEID+1]; /* Maintaining PDU count for each bearer */ }EgtpGlobalCb; -EgtpGlobalCb egtpCb; /* EGTP global control block */ + +extern EgtpGlobalCb egtpCb; /* EGTP global control block */ S16 egtpActvInit(); S16 cuEgtpCfgReq(); @@ -155,7 +148,7 @@ S16 cuEgtpTnlMod(uint32_t duId,EgtpTnlEvt tnlEvt); S16 cuEgtpTnlDel(uint32_t duId,EgtpTnlEvt tnlEvt); S16 cuEgtpEncodeHdr(uint8_t *preEncodedHdr, EgtpMsgHdr *preDefHdr, uint8_t *hdrIdx); S16 cuEgtpHdlRecvMsg(Buffer *mBuf); -uint16_t cuEgtpDatReq(uint8_t teId); +uint16_t cuEgtpDatReq(uint32_t duId, uint8_t teId); S16 BuildAppMsg(uint32_t duId, EgtpMsg *egtpMsg); S16 BuildEgtpMsg(uint32_t duId, EgtpMsg *egtpMsg); S16 cuEgtpSendMsg(uint32_t duId, Buffer *mBuf);