From feb5bf6fc0bccfd87b83bb3491e819ce25dc6165 Mon Sep 17 00:00:00 2001 From: pborla Date: Tue, 28 May 2024 10:34:37 +0530 Subject: [PATCH] [Epic-Id: ODUHIGH-576][Task-Id: ODUHIGH-600][SubTask-Id: ODUHIGH-602]|[NFAPI_Branch]| PHY PARAM.Resp Change-Id: I2f3e919f42c5ad6c056c99472ff69272d4854135 Signed-off-by: pborla --- src/5gnrmac/lwr_mac_ex_ms.c | 107 +++++++++++++++++++++++++++++++++--- src/5gnrmac/nfapi_common.c | 69 +++++++++++++++++++----- src/5gnrmac/nfapi_common.h | 2 +- src/5gnrmac/nfapi_udp_p7.c | 1 + src/pnf_stub/pnf_stub.c | 106 ++++++++++++++++++++++++++++++++++++ src/pnf_stub/pnf_stub.h | 6 +++ src/pnf_stub/pnf_stub_p5_msg_hdl.c | 108 +++++++++++++++++++++++++++++++++++-- src/pnf_stub/pnf_stub_sctp.h | 8 +-- 8 files changed, 377 insertions(+), 30 deletions(-) diff --git a/src/5gnrmac/lwr_mac_ex_ms.c b/src/5gnrmac/lwr_mac_ex_ms.c index 41077f5b7..bdea2ee32 100644 --- a/src/5gnrmac/lwr_mac_ex_ms.c +++ b/src/5gnrmac/lwr_mac_ex_ms.c @@ -20,6 +20,7 @@ #include "common_def.h" #include "mac_utils.h" +#include "lwr_mac.h" #include "lwr_mac_fsm.h" #include "lwr_mac_phy.h" #ifdef INTEL_FAPI @@ -162,6 +163,75 @@ void callFlowlwrMacActvTsk(Pst *pst) } #endif +#ifdef NFAPI_ENABLED +/************************************************************************** +* @brief process param response received from PNF_STUB, fill p7TransInfo +* parameter and send the param reponse to lwr mac for furthur processing +* +* @details +* +* Function : sendParamRspToLowerMacFsm +* +* Functionality: +* process param response received from PNF_STUB, fill p7TransInfo +* parameter and send the param reponse to lwr mac for furthur processing +* +* @param[in] Param response buffer +* @return ROK - success +* RFAILED - failure +***************************************************************************/ + +uint8_t sendParamRspToLowerMacFsm(Buffer *mBuf) +{ + uint8_t pnfAdd[4]; + uint8_t errorCode = 1,idx=0,numtlv=0; + uint16_t port=0, tag =0, len=0; + CmInetIpAddr vnfIp; + char newIp[INET_ADDRSTRLEN]; + memset(newIp, 0, INET_ADDRSTRLEN); + + DU_LOG("\nINFO --> LWR MAC: Extracting information from param resp message"); + //Upacking error code and number of tlv as per : 5G nFAPI Specification, + //section 3.2.2 PARAM.response, Table 3-14 + CMCHKPK(oduUnpackUInt8, &(errorCode), mBuf); + if(errorCode != 0) + { + DU_LOG("\nERROR --> LWR MAC: Param rsp errorCode is %d", errorCode); + return RFAILED; + } + + CMCHKPK(oduUnpackUInt8, &(numtlv), mBuf); + + //unpacking P7 PNF Address Ipv4 tlv mentioned in table 3-15 + CMCHKPK(oduUnpackUInt16, &(tag), mBuf); + CMCHKPK(oduUnpackUInt16, &(len), mBuf); + for(idx=0; idx<4; idx++) + { + CMCHKPK(oduUnpackUInt8, &(pnfAdd[idx]), mBuf); + } + + //unpacking P7 PNF Port tlv mentioned in table 3-15 + CMCHKPK(oduUnpackUInt16, &(tag), mBuf); + CMCHKPK(oduUnpackUInt16, &(len), mBuf); + CMCHKPK(oduUnpackUInt16, &(port), mBuf); + if (inet_ntop(AF_INET, pnfAdd, newIp, INET_ADDRSTRLEN) == NULL) + { + DU_LOG("\nERROR --> LWR MAC: failed to convert the pnf ip"); + return RFAILED; + } + cmInetAddr((S8*)newIp, &vnfIp); + + //storing the information in vnf db + vnfDb.p7TransInfo.destIpv4Address = vnfIp; + vnfDb.p7TransInfo.destIpv4Port = port; + vnfDb.p7TransInfo.destIpNetAddr.address = CM_INET_NTOH_UINT32(vnfDb.p7TransInfo.destIpv4Address); + vnfDb.p7TransInfo.destIpNetAddr.port = vnfDb.p7TransInfo.destIpv4Port; + DU_LOG("\nINFO --> LWR MAC: Sending param response message body buffer to lower mac"); + //sendEventToLowerMacFsm(PARAM_RESPONSE, 0, mBuf); TODO + return ROK; +} +#endif + /************************************************************************** * @brief Task Activation callback function. * @@ -264,25 +334,48 @@ uint8_t lwrMacActvTsk(Pst *pst, Buffer *mBuf) { nFapi_p5_hdr p5Hdr; nFapi_msg_header msgHdr; - NfapiPnfEvent msgType = 0; - + EventState phyEvent; + NfapiPnfEvent nfapiPnfEvent; + nFapiExtractP5Hdr(&p5Hdr, mBuf); nFapiExtractMsgHdr(&msgHdr, mBuf); if(msgHdr.sRU_termination_type != NFAPI_P5_P7_SRU_TYPE) { + ODU_PUT_MSG_BUF(mBuf); DU_LOG("\nERROR --> NFAPI_VNF: Incorrect SRU Termination Type:%d",\ - msgHdr.sRU_termination_type); + msgHdr.sRU_termination_type); return RFAILED; } - msgType = convertNfapiP5TagValToMsgId(msgHdr.msg_id); - if(msgType == PNF_MAX_EVENT) + if(convertNfapiP5TagValToMsgId(msgHdr.msg_id, &nfapiPnfEvent, &phyEvent)!=ROK) { + ODU_PUT_MSG_BUF(mBuf); DU_LOG("\nERROR --> NFAPI_VNF: Incorrect NFAPI MsgID received:%d",\ - msgHdr.msg_id); + msgHdr.msg_id); return RFAILED; } - sendEventToNfapiVnfFsm(msgType, &p5Hdr, &msgHdr, mBuf); + if(nfapiPnfEvent!= PNF_MAX_EVENT) + { + sendEventToNfapiVnfFsm(nfapiPnfEvent, &p5Hdr, &msgHdr, mBuf); + } + else if(phyEvent != MAX_EVENT) + { + + if(phyEvent == PARAM_RESPONSE) + { + if(sendParamRspToLowerMacFsm(mBuf) != ROK) + { + ODU_PUT_MSG_BUF(mBuf); + DU_LOG("\nERROR --> NFAPI_VNF: Failed to process param response"); + return RFAILED; + } + + } + else + { + sendEventToLowerMacFsm(phyEvent, msgHdr.length, mBuf); + } + } ODU_PUT_MSG_BUF(mBuf); break; } diff --git a/src/5gnrmac/nfapi_common.c b/src/5gnrmac/nfapi_common.c index 1330837ad..1607f47b5 100644 --- a/src/5gnrmac/nfapi_common.c +++ b/src/5gnrmac/nfapi_common.c @@ -139,55 +139,98 @@ void nFapiExtractMsgHdr(nFapi_msg_header *msgHdr, Buffer *mBuf) * * @params * [IN]: tagVal from (SCF 225 Table 2-7 "Dedicated nFAPI messages") - * [OUT]: NfapiPnfEvent + * [IN]: Nfapi Pnf Event + * [IN]: Phy Event State + * [OUT]: ROK or RFAILED * * *******************************************************************************/ -NfapiPnfEvent convertNfapiP5TagValToMsgId(uint16_t tagVal) +uint8_t convertNfapiP5TagValToMsgId(uint16_t tagVal, NfapiPnfEvent *nfapiPnfEvent, EventState *phyEvent) { + *nfapiPnfEvent=PNF_MAX_EVENT; + *phyEvent=MAX_EVENT; switch(tagVal) { case TAG_NFAPI_PNF_READY_IND: { - return PNF_READY_IND; + *(nfapiPnfEvent) = PNF_READY_IND; + break; } case TAG_NFAPI_PNF_PARAM_REQ: { - return PNF_PARAM_REQ; + *(nfapiPnfEvent) = PNF_PARAM_REQ; + break; } case TAG_NFAPI_PNF_PARAM_RESP: { - return PNF_PARAM_RESP; + *(nfapiPnfEvent) = PNF_PARAM_RESP; + break; } case TAG_NFAPI_PNF_CONFIG_REQ: { - return PNF_CONFIG_REQ; + *(nfapiPnfEvent) = PNF_CONFIG_REQ; + break; } case TAG_NFAPI_PNF_CONFIG_RESP: { - return PNF_CONFIG_RESP; + *(nfapiPnfEvent) = PNF_CONFIG_RESP; + break; } case TAG_NFAPI_PNF_START_REQ: { - return PNF_START_REQ; + *(nfapiPnfEvent) = PNF_START_REQ; + break; } case TAG_NFAPI_PNF_START_RESP: { - return PNF_START_RESP; + *(nfapiPnfEvent) = PNF_START_RESP; + break; } case TAG_NFAPI_PNF_STOP_REQ: { - return PNF_STOP_REQ; + *(nfapiPnfEvent) = PNF_STOP_REQ; + break; } case TAG_NFAPI_PNF_STOP_RESP: { - return PNF_STOP_RESP; + *nfapiPnfEvent = PNF_STOP_RESP; + break; + } + case FAPI_PARAM_REQUEST: + { + *(phyEvent) = PARAM_REQUEST; + break; + } + case FAPI_PARAM_RESPONSE: + { + *(phyEvent) = PARAM_RESPONSE; + break; + } + case FAPI_CONFIG_REQUEST: + { + *(phyEvent) = CONFIG_REQUEST; + break; + } + case FAPI_CONFIG_RESPONSE: + { + *(phyEvent) = CONFIG_RESPONSE; + break; + } + case FAPI_START_REQUEST: + { + *(phyEvent) = START_REQUEST; + break; + } + case FAPI_STOP_REQUEST: + { + *(phyEvent) = STOP_REQUEST; + break; } default: { DU_LOG("\n Incorrect TAG VALUE of NFAPI P5 Messages:%d",tagVal); - return PNF_MAX_EVENT; + return RFAILED; } } - return PNF_MAX_EVENT; + return ROK; } diff --git a/src/5gnrmac/nfapi_common.h b/src/5gnrmac/nfapi_common.h index 22f843cd2..2c9f613e9 100644 --- a/src/5gnrmac/nfapi_common.h +++ b/src/5gnrmac/nfapi_common.h @@ -112,7 +112,7 @@ void nfapiFillMsgHdr(Buffer *mBuf, uint8_t phyId, uint16_t msgId, uint32_t msgle void nFapiExtractP5Hdr(nFapi_p5_hdr *p5Hdr, Buffer *mBuf); void nFapiExtractMsgHdr(nFapi_msg_header *msgHdr, Buffer *mBuf); -NfapiPnfEvent convertNfapiP5TagValToMsgId(uint16_t tagVal); +uint8_t convertNfapiP5TagValToMsgId(uint16_t tagVal, NfapiPnfEvent *nfapiPnfEvent, EventState *phyEvent); uint8_t nfapiP7UdpRecvMsg(); #endif diff --git a/src/5gnrmac/nfapi_udp_p7.c b/src/5gnrmac/nfapi_udp_p7.c index b3f93ed82..54b3644ee 100644 --- a/src/5gnrmac/nfapi_udp_p7.c +++ b/src/5gnrmac/nfapi_udp_p7.c @@ -19,6 +19,7 @@ /* This file is the entry point for UDP P7 */ #include "common_def.h" +#include "lwr_mac.h" #include "du_app_p7udp_inf.h" #include "nfapi_interface.h" #include "nfapi_vnf_fsm.h" diff --git a/src/pnf_stub/pnf_stub.c b/src/pnf_stub/pnf_stub.c index a62dd0065..9797cab9c 100644 --- a/src/pnf_stub/pnf_stub.c +++ b/src/pnf_stub/pnf_stub.c @@ -272,6 +272,112 @@ void nFapiExtractMsgHdr(nFapi_msg_header *msgHdr, Buffer *mBuf) return; } +/********************************************************************************* + * + * @Function Name: convertIpStringToUInt8 + * + * + * @Functionality: + * convert the ip address and store in uint8_t array[4] + * + * @params + * [IN]: Ip address which needs to convert + * [IN]: Array to store the result + * + * *******************************************************************************/ +void convertIpStringToUInt8(const char *ip_str, uint8_t ip_address[]) +{ + char ip_copy[16]; + strncpy(ip_copy, ip_str, sizeof(ip_copy) - 1); + ip_copy[sizeof(ip_copy) - 1] = '\0'; // Ensure null-terminated + + char *token = strtok(ip_copy, "."); + for (int i = 0; token != NULL && i < 4; i++) { + ip_address[i] = (uint8_t)atoi(token); // Convert each token to an integer + token = strtok(NULL, "."); + } +} + +/********************************************************************************* + * + * @Function Name: fillTlvOfArrayOfUint8 + * + * + * @Functionality: + * fill tlv of array of size uint8 + * + * @params + * [IN]: Buffer, tag, length, value + * + * *******************************************************************************/ +void fillTlvOfArrayOfUint8(Buffer *mBuf, uint16_t tag, uint16_t length, uint8_t *value) +{ + uint8_t arraySize=4; + CMCHKPK(oduPackPostUInt16, tag, mBuf); + CMCHKPK(oduPackPostUInt16, length, mBuf); + for(uint8_t idx=0;idx NFAPI_PNF : Memory allocation failed in pnf_readyInd"); return RFAILED; } + nfapiFillP5Hdr(mBuf); - nfapiFillMsgHdr(mBuf, 0, FAPI_PARAM_RESPONSE, 0); - CMCHKPK(oduPackPostUInt8, 0, mBuf); - CMCHKPK(oduPackPostUInt8, 1, mBuf); - //TODO-> - //Fill TLVs + nfapiFillMsgHdr(mBuf, 0, FAPI_PARAM_RESPONSE, len); + + //As per 5G nFAPI Specification, section 3.2.2 PARAM.response + CMCHKPK(oduPackPostUInt8, 0, mBuf); //Error Code + CMCHKPK(oduPackPostUInt8, 3, mBuf); //Num TLVs = 3 + + /* As per table 3-15 nFAPI TLVs included in PARAM.response when the PHY instance is in IDLE state + * Since we are only supporting ipv4 that's why fiiling only P7 PNF Address + * Ipv4 and P7 PNF Port */ + convertIpStringToUInt8(LOCAL_IP_PNF, pnfAdd); + fillTlvOfArrayOfUint8(mBuf, TAG_NFAPI_P7_PNF_ADD_IPV4, sizeof(pnfAdd), pnfAdd); /* P7 PNF Address Ipv4 */ + fillTlvOfSizeUint16(mBuf, TAG_NFAPI_P7_PNF_PORT, sizeof(uint16_t), PNF_P5_SCTP_PORT); /* P7 PNF Port */ + + /* filling 5G_FAPI_MSG_BODY */ + CMCHKPK(oduPackPostUInt16, TAG_NFAPI_5G_FAPI_MSG_BODY, mBuf); //5G_FAPI_MSG_BODY tag + CMCHKPK(oduPackPostUInt16, sizeof(fapi_param_resp_t), mBuf); // 5G_FAPI_MSG_BODY length + + //As per 5G FAPI: PHY API, section 3.3.1.2 PARAM.response, Table 3-5 + //PARAM.response message body + CMCHKPK(oduPackPostUInt8, 0, mBuf); //Error Code + CMCHKPK(oduPackPostUInt8, 54, mBuf); //Num TLVs = 54 + + + //As per 5G FAPI: PHY API, section 3.3.1.2 PARAM.response, Table 3-8 PARAM TLVs + /* Cell Params */ + fillTlvOfSizeUint16(mBuf,FAPI_RELEASE_CAPABILITY_TAG, sizeof(uint16_t), 1); + fillTlvOfSizeUint16(mBuf,FAPI_PHY_STATE_TAG, sizeof(uint16_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_SKIP_BLANK_DL_CONFIG_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_SKIP_BLANK_UL_CONFIG_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_NUM_CONFIG_TLVS_TO_REPORT_TYPE_TAG, sizeof(uint8_t), 0); + + /* Carrier Params */ + fillTlvOfSizeUint8(mBuf, FAPI_CYCLIC_PREFIX_TAG, sizeof(uint8_t), 1); + fillTlvOfSizeUint8(mBuf, FAPI_SUPPORTED_SUBCARRIER_SPACING_DL_TAG, sizeof(uint8_t), 1); + fillTlvOfSizeUint16(mBuf,FAPI_SUPPORTED_BANDWIDTH_DL_TAG, sizeof(uint16_t), 1); + fillTlvOfSizeUint8(mBuf, FAPI_SUPPORTED_SUBCARRIER_SPACING_UL_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint16(mBuf,FAPI_SUPPORTED_BANDWIDTH_UL_TAG, sizeof(uint16_t), 0); + /* PDCCH Param*/ + fillTlvOfSizeUint8(mBuf, FAPI_CCE_MAPPING_TYPE_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_CORESET_OUTSIDE_FIRST_3_OFDM_SYMS_OF_SLOT_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PRECODER_GRANULARITY_CORESET_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PDCCH_MU_MIMO_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PDCCH_PRECODER_CYCLING_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_MAX_PDCCHS_PER_SLOT_TAG, sizeof(uint8_t), 0); + + /* PUCCH Param */ + fillTlvOfSizeUint8(mBuf, FAPI_PUCCH_FORMATS_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_MAX_PUCCHS_PER_SLOT_TAG, sizeof(uint8_t), 0); + + /* PDSCH Param */ + fillTlvOfSizeUint8(mBuf, FAPI_PDSCH_MAPPING_TYPE_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PDSCH_ALLOCATION_TYPES_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PDSCH_VRB_TO_PRB_MAPPING_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PDSCH_CBG_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PDSCH_DMRS_CONFIG_TYPES_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PDSCH_DMRS_MAX_LENGTH_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PDSCH_DMRS_ADDITIONAL_POS_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_MAX_PDSCHS_TBS_PER_SLOT_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_MAX_NUMBER_MIMO_LAYERS_PDSCH_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_SUPPORTED_MAX_MODULATION_ORDER_DL_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_MAX_MU_MIMO_USERS_DL_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PDSCH_DATA_IN_DMRS_SYMBOLS_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PREMPTIONSUPPORT_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PDSCH_NON_SLOT_SUPPORT_TAG, sizeof(uint8_t), 0); + + /* PUSCH Param */ + fillTlvOfSizeUint8(mBuf, FAPI_UCI_MUX_ULSCH_IN_PUSCH_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_UCI_ONLY_PUSCH_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PUSCH_FREQUENCY_HOPPING_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PUSCH_DMRS_CONFIG_TYPES_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PUSCH_DMRS_MAX_LEN_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PUSCH_DMRS_ADDITIONAL_POS_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PUSCH_CBG_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PUSCH_MAPPING_TYPE_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PUSCH_ALLOCATION_TYPES_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PUSCH_VRB_TO_PRB_MAPPING_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PUSCH_MAX_PTRS_PORTS_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_MAX_PDUSCHS_TBS_PER_SLOT_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_MAX_NUMBER_MIMO_LAYERS_NON_CB_PUSCH_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_SUPPORTED_MODULATION_ORDER_UL_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_MAX_MU_MIMO_USERS_UL_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_DFTS_OFDM_SUPPORT_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PUSCH_AGGREGATION_FACTOR_TAG, sizeof(uint8_t), 0); + + /* PRACH Params */ + fillTlvOfSizeUint8(mBuf, FAPI_PRACH_LONG_FORMATS_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PRACH_SHORT_FORMATS_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_PRACH_RESTRICTED_SETS_TAG, sizeof(uint8_t), 0); + fillTlvOfSizeUint8(mBuf, FAPI_MAX_PRACH_FD_OCCASIONS_IN_A_SLOT_TAG, sizeof(uint8_t), 0); + + /* MEASUREMENT TAG */ + fillTlvOfSizeUint8(mBuf, FAPI_RSSI_MEASUREMENT_SUPPORT_TAG, sizeof(uint8_t), 0); + + DU_LOG("\nINFO --> NFAPI_PNF: Sending PARAM_RESP "); + if(pnfP5SctpSend(mBuf) == RFAILED) + { + ODU_PUT_MSG_BUF(mBuf); + } return ROK; } diff --git a/src/pnf_stub/pnf_stub_sctp.h b/src/pnf_stub/pnf_stub_sctp.h index 7912cb741..b352484e0 100644 --- a/src/pnf_stub/pnf_stub_sctp.h +++ b/src/pnf_stub/pnf_stub_sctp.h @@ -54,10 +54,10 @@ typedef struct pnfP5SctpAssocCb typedef struct pnfP5SctpIpAddr { - bool ipV4Pres; - uint32_t ipV4Addr; - bool ipV6Pres; - uint8_t ipV6Addr[MAX_IPV6_LEN]; + bool ipV4Pres; + uint32_t ipV4Addr; + bool ipV6Pres; + uint8_t ipV6Addr[MAX_IPV6_LEN]; }PnfP5SctpIpAddr; typedef struct pnfP5SctpDestInfo -- 2.16.6