X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Flwr_mac_nfapi.h;fp=src%2F5gnrmac%2Flwr_mac_nfapi.h;h=199f5bb85a05437aa9d7a9332546f20d2187fc67;hb=5f7e53d8154a1c526845f7b384ee4325e6bc642f;hp=0000000000000000000000000000000000000000;hpb=943c6ce19a59c9caf075dd61c65ea16da1756a27;p=o-du%2Fl2.git diff --git a/src/5gnrmac/lwr_mac_nfapi.h b/src/5gnrmac/lwr_mac_nfapi.h new file mode 100644 index 000000000..199f5bb85 --- /dev/null +++ b/src/5gnrmac/lwr_mac_nfapi.h @@ -0,0 +1,85 @@ + /******************************************************************************* + ################################################################################ + # Copyright (c) [2017-2019] [Radisys] # + # # + # Licensed under the Apache License, Version 2.0 (the "License"); # + # you may not use this file except in compliance with the License. # + # You may obtain a copy of the License at # + # # + # http://www.apache.org/licenses/LICENSE-2.0 # + # # + # Unless required by applicable law or agreed to in writing, software # + # distributed under the License is distributed on an "AS IS" BASIS, # + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # + # See the License for the specific language governing permissions and # + # limitations under the License. # + ################################################################################ + *******************************************************************************/ + + #ifndef _LWR_MAC_NFAPI_H_ + #define _LWR_MAC_NFAPI_H_ + +#include "nfapi_interface.h" + +typedef struct nfapiTransportInfo +{ + uint32_t assocId; + uint8_t srcIpv4Address[4]; /*Src :: PNF Address Details*/ + uint16_t srcIpv4Port; + uint8_t destIpv4Address[4]; /*Dest :: VNF Address Details*/ + uint16_t destIpv4Port; + CmInetFd sockFd; /* Socket file descriptor */ + CmInetNetAddrLst addrLst; /* Refers to the destinaiton Addr Lst in CmInetNetAddrLst format */ + CmInetNetAddr ipNetAddr; /* Refers to the destination Addr in CmInetNet Addr format */ + + /*TODO: later also add the IPV6 support*/ + +}NfapiTransportInfo; + +typedef struct nfapiTimingInfo +{ + uint32_t dl_tti_offset; + uint32_t ul_tti_offset; + uint32_t ul_dci_offset; + uint32_t tx_data_offset; + uint16_t timingWindow; + uint8_t timingInfoMode; + +}NfapiTimingInfo; + +typedef struct nfapiPnfConfig +{ + nFapi_pnf_state pnfState; + uint16_t max_phys; + NfapiTimingInfo vnfTimingCfg; +}NfapiPnfConfig; + +typedef struct nfapiSyncInfo +{ + uint8_t phyId; + uint8_t inSync; + uint32_t prev_t1; + uint32_t prev_t2; + uint32_t prev_t3; + uint8_t sfn; + uint8_t slot; + NfapiSyncInfo *next; +}NfapiSyncInfo; + +typedef struct nfapiP7VnfInfo +{ + uint32_t sfnStartTime; + uint32_t slotStartTime; + NfapiSyncInfo *p7SyncInfo; +}NfapiP7VnfInfo; + +typedef struct nfapiVnfDb +{ + NfapiTransportInfo p5TransInfo; + NfapiTransportInfo p7TransInfo; + NfapiPnfConfig pnfConfig; + NfapiSyncInfo vnfSynchInfo; + NfapiP7VnfInfo vnfP7Info; +}NfapiVnfDb; + + #endif