X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fphy_stub%2Fphy_stub.h;h=8fd85c56fa085b4036039e4b6f6422bc25a12969;hb=6dc8a4c17da24847b3a3aee91b37151f77a8a5bc;hp=577a5ab23859d226a8ff589c18f8cd8df56fe24a;hpb=287632f09119435e0bf1ea16e4e11fc6447c1eee;p=o-du%2Fl2.git diff --git a/src/phy_stub/phy_stub.h b/src/phy_stub/phy_stub.h index 577a5ab23..8fd85c56f 100644 --- a/src/phy_stub/phy_stub.h +++ b/src/phy_stub/phy_stub.h @@ -17,6 +17,14 @@ *******************************************************************************/ #include +/* Changes the IP information +* At DU1, SOURCE_DU_IPV4_ADDR = 192.168.130.81 and DESTINATION_DU_IPV4_ADDR = 192.168.130.83 +* At DU2, SOURCE_DU_IPV4_ADDR = 192.168.130.83 and DESTINATION_DU_IPV4_ADDR = 192.168.130.81 */ +#define SOURCE_DU_IPV4_ADDR "192.168.130.81" +#define DESTINATION_DU_IPV4_ADDR "192.168.130.83" +#define PORT_NUMBER 8080 +#define NUM_THREADS 1 + #ifdef NR_TDD #define MAX_SLOT_VALUE 19 #else @@ -25,24 +33,50 @@ #define MAX_SFN_VALUE 1023 #define NR_PCI 1 #define SLOT_DELAY 3 +#define NUM_DRB_TO_PUMP_DATA 2 +#define NUM_UL_PACKETS 1 + +/*UE Ids for RACH IND*/ +#define UE_IDX_0 0 +#define UE_IDX_1 1 +#define UE_IDX_2 2 + +/* Default RA Preamble index to be used when Rach Indication is triggered from + * PHY stub */ +#define CB_RA_PREAMBLE_IDX 3 /* For contention based RA */ +#define CF_RA_PREAMBLE_IDX 8 /* For contention free RA */ bool slotIndicationStarted; uint16_t sfnValue; uint16_t slotValue; +/*Mapping between LCG ID and BSR Idx*/ +typedef struct lcgBufferSize +{ + uint8_t lcgId; /*LCG ID for which BSR will be requested*/ + /*BufferStatus Index. This is as per Spec 38.321, BSR will be reported as Index + * Refer table Table 6.1.3.1-1:Short_BSR and Table 6.1.3.1-2:Long_BSR*/ + uint8_t bsIdx; +}LcgBufferSize; + /* UE specific information */ typedef struct ueCb { uint8_t ueId; uint16_t crnti; bool rachIndSent; + bool isCFRA; bool msg3Sent; bool msg5ShortBsrSent; bool msg5Sent; bool dlDedMsg; - bool msgSecurityModeComp; - bool msgRrcReconfiguration; - bool msgRegistrationComp; + bool msgNasAuthenticationComp; + bool msgNasSecurityModeComp; + bool msgRrcSecurityModeComp; + bool msgRrcReconfigComp; + bool msgRegistrationComp; + uint8_t rlcSnForSrb1; /* Sequence number of PDU at RLC for AM mode */ + uint8_t pdcpSn; /* Sequence number of PDU at PDCP */ }UeCb; /* Database to store information for all UE */ @@ -52,14 +86,30 @@ typedef struct ueDb UeCb ueCb[MAX_NUM_UE]; }UeDb; -UeDb ueDb; +typedef struct ipCfg +{ + uint32_t sourceDu; + uint32_t destinationDu; + uint16_t portNumber; +}IpCfg; + +typedef struct phyDb +{ + bool isServer; + IpCfg ipCfgInfo; + UeDb ueDb; +}PhyDb; + +PhyDb phyDb; typedef enum { MSG_TYPE_MSG3, MSG_TYPE_SHORT_BSR, MSG_TYPE_MSG5, - MSG_TYPE_SECURITY_MODE_COMPLETE, + MSG_TYPE_NAS_AUTHENTICATION_COMPLETE, + MSG_TYPE_NAS_SECURITY_MODE_COMPLETE, + MSG_TYPE_RRC_SECURITY_MODE_COMPLETE, MSG_TYPE_REGISTRATION_COMPLETE, MSG_TYPE_RRC_RECONFIG_COMPLETE }MsgType; @@ -74,6 +124,13 @@ void procPhyMessages(uint16_t msgType, uint32_t msgSize, void *msg); void l1StartConsoleHandler(); void l1HdlSlotIndicaion(bool); void GenerateTicks(); +uint8_t l1SendUlUserData(uint8_t drbId, uint8_t ueIdx); +uint8_t l1SendStatusPdu(); +uint16_t l1BuildAndSendSlotIndication(); +uint16_t l1BuildAndSendStopInd(); +int inet_pton(int af, const char *sourc, void *dst); +void *establishConnectionWithPeerL1(void *args); +uint16_t l1BuildAndSendRachInd(uint16_t slot, uint16_t sfn, uint8_t raPreambleIdx); /********************************************************************** End of file