/******************************************************************************* | |
Copyright (C) Marvell International Ltd. and its affiliates | |
This software file (the "File") is owned and distributed by Marvell | |
International Ltd. and/or its affiliates ("Marvell") under the following | |
alternative licensing terms. Once you have made an election to distribute the | |
File under one of the following license alternatives, please (i) delete this | |
introductory statement regarding license alternatives, (ii) delete the two | |
license alternatives that you have not elected to use and (iii) preserve the | |
Marvell copyright notice above. | |
******************************************************************************** | |
Marvell Commercial License Option | |
If you received this File from Marvell and you have entered into a commercial | |
license agreement (a "Commercial License") with Marvell, the File is licensed | |
to you under the terms of the applicable Commercial License. | |
******************************************************************************** | |
Marvell GPL License Option | |
If you received this File from Marvell, you may opt to use, redistribute and/or | |
modify this File in accordance with the terms and conditions of the General | |
Public License Version 2, June 1991 (the "GPL License"), a copy of which is | |
available along with the File in the license.txt file or by writing to the Free | |
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or | |
on the worldwide web at http://www.gnu.org/licenses/gpl.txt. | |
THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED | |
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY | |
DISCLAIMED. The GPL License provides additional details about this warranty | |
disclaimer. | |
******************************************************************************** | |
Marvell BSD License Option | |
If you received this File from Marvell, you may opt to use, redistribute and/or | |
modify this File under the following licensing terms. | |
Redistribution and use in source and binary forms, with or without modification, | |
are permitted provided that the following conditions are met: | |
* Redistributions of source code must retain the above copyright notice, | |
this list of conditions and the following disclaimer. | |
* Redistributions in binary form must reproduce the above copyright | |
notice, this list of conditions and the following disclaimer in the | |
documentation and/or other materials provided with the distribution. | |
* Neither the name of Marvell nor the names of its contributors may be | |
used to endorse or promote products derived from this software without | |
specific prior written permission. | |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | |
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR | |
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | |
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
******************************************************************************/ | |
/******************************************************************************/ | |
/** **/ | |
/** MODULE : ONU EPON **/ | |
/** **/ | |
/** FILE : eponOnuDb.c **/ | |
/** **/ | |
/** DESCRIPTION : This file implements ONU EPON database functionality **/ | |
/** **/ | |
/****************************************************************************** | |
* * | |
* MODIFICATION HISTORY: * | |
* * | |
* 26Jan10 oren_ben_hayun created * | |
* ========================================================================== * | |
* | |
******************************************************************************/ | |
/* Include Files | |
------------------------------------------------------------------------------*/ | |
#include "eponOnuHeader.h" | |
/* Local Constant | |
------------------------------------------------------------------------------*/ | |
#define __FILE_DESC__ "mv_pon/core/epon/eponOnuDb.c" | |
/* Global Variables | |
------------------------------------------------------------------------------*/ | |
/* ONU GPON Database */ | |
S_OnuEponDb onuEponDb_s; | |
#ifdef PON_FPGA | |
#define MV_MAC_ADDR_SIZE (6) | |
#endif /* PON_FPGA */ | |
/* Local Variables | |
------------------------------------------------------------------------------*/ | |
/* ONU EPON database init function */ | |
MV_STATUS onuEponOnuMacTblInit(void); | |
MV_STATUS onuEponOnuGenTblInit(void); | |
MV_STATUS onuEponDbOnuDatapathTblInit(void); | |
/* Export Functions | |
------------------------------------------------------------------------------*/ | |
/* Local Functions | |
------------------------------------------------------------------------------*/ | |
MV_U32 swRprtMacTimerInterval; /* in 16 nano sec units */ | |
MV_U32 swRprtTimerType; | |
MV_U8 fixMacAddrs[8][6] = {{0x00,0x00,0x00,0x00,0x00,0x82}, | |
{0x00,0x00,0x00,0x00,0x00,0x83}, | |
{0x00,0x00,0x00,0x00,0x00,0x84}, | |
{0x00,0x00,0x00,0x00,0x00,0x85}, | |
{0x00,0x00,0x00,0x00,0x00,0x86}, | |
{0x00,0x00,0x00,0x00,0x00,0x87}, | |
{0x00,0x00,0x00,0x00,0x00,0x88}, | |
{0x00,0x00,0x00,0x00,0x00,0x89}}; | |
extern u8 mvMacAddr[CONFIG_MV_ETH_PORTS_NUM][MV_MAC_ADDR_SIZE]; | |
/******************************************************************************/ | |
/* ========================================================================== */ | |
/* Initialization Section */ | |
/* ========================================================================== */ | |
/******************************************************************************/ | |
/******************************************************************************* | |
** | |
** onuEponDbInit | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function init onu database to default values | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbInit(void) | |
{ | |
#ifndef PON_FPGA | |
onuEponOnuMacTblInit(); | |
#endif /* PON_FPGA */ | |
onuEponOnuGenTblInit(); | |
onuEponDbOnuDatapathTblInit(); | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbReInit | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function re-init onu database to default values | |
** | |
** PARAMETERS: MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbReInit(MV_U32 macId) | |
{ | |
/* set onu to state 01 */ | |
onuEponDbOnuStateSet(ONU_EPON_02_REGISTER_PENDING, macId); | |
/* set onu sync time to 0 */ | |
onuEponDbOnuSyncTimeSet(0, macId); | |
onuEponDbPktTxLlidSet(ONU_DEF_TX_LLID, macId); | |
onuEponDbPktRxLlidSet(ONU_DEF_RX_LLID, macId); | |
if (macId == 0) | |
onuPonLedHandler(ONU_PON_SYNC_LED, ACTIVE_LED_BLINK_SLOW); | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponOnuGenTblInit | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function init onu database MAC table | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponOnuMacTblInit(void) | |
{ | |
MV_U32 macId; | |
MV_U8 macAddrSkeleton[MV_MAC_ADDR_SIZE]; | |
memcpy(macAddrSkeleton, mvMacAddr[2], MV_MAC_ADDR_SIZE); | |
printk("macAddrSkeleton = %x:%x:%x:%x:%x:%x\n\r", | |
macAddrSkeleton[0], macAddrSkeleton[1], macAddrSkeleton[2], | |
macAddrSkeleton[3], macAddrSkeleton[4], macAddrSkeleton[5]); | |
for (macId = 0; macId < EPON_MAX_MAC_NUM; macId++) | |
{ | |
memcpy(fixMacAddrs[macId], macAddrSkeleton, MV_MAC_ADDR_SIZE); | |
macAddrSkeleton[5]++; | |
if (macAddrSkeleton[5] == 0x10) | |
macAddrSkeleton[5] = 0; | |
printk("mac -%d- macAddr = %x:%x:%x:%x:%x:%x\n\r", macId, | |
fixMacAddrs[macId][0], fixMacAddrs[macId][1], fixMacAddrs[macId][2], | |
fixMacAddrs[macId][3], fixMacAddrs[macId][4], fixMacAddrs[macId][5]); | |
} | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponOnuGenTblInit | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function init onu database general table | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponOnuGenTblInit(void) | |
{ | |
MV_U32 macAddrLow; | |
MV_U32 macAddrHigh; | |
MV_U32 macId; | |
MV_U32 queueSet; | |
MV_U32 queueId; | |
/* clear onu database general table */ | |
memset ((&(onuEponDb_s.onuEponGenTbl_s)), 0, sizeof (S_OnuEponGenTbl)); | |
/* set onu control type to MPCP - 8808 */ | |
onuEponDbOnuCtrlTypeSet(ONU_MPCP_CTRL_TYPE); | |
/* set onu broadcast address */ | |
onuEponDbOnuBcastAddrSet(ONU_BROADCAST_ADDR_LOW, ONU_BROADCAST_ADDR_HIGH); | |
for (macId = 0; macId < EPON_MAX_MAC_NUM; macId++) { | |
/* set onu to valid */ | |
onuEponDbOnuValidSet(MV_TRUE, macId); | |
/* set onu to state 01 */ | |
onuEponDbOnuStateSet(ONU_EPON_02_REGISTER_PENDING, macId); | |
/* set onu sync time to 0 */ | |
onuEponDbOnuSyncTimeSet(0, macId); | |
/* set onu mac address */ | |
macAddrLow = ((fixMacAddrs[macId][5] & 0xFF) ) | | |
((fixMacAddrs[macId][4] & 0xFF) << 8) | | |
((fixMacAddrs[macId][3] & 0xFF) << 16) | | |
((fixMacAddrs[macId][2] & 0xFF) << 24); | |
macAddrHigh = ((fixMacAddrs[macId][1] & 0xFF) ) | | |
((fixMacAddrs[macId][0] & 0xFF) << 8 ); | |
onuEponDbOnuMacAddrSet(macAddrLow, macAddrHigh, macId); | |
} | |
/* set led */ | |
onuPonLedHandler(ONU_PON_SYNC_LED, ACTIVE_LED_BLINK_SLOW); | |
/* set holdover */ | |
onuEponDbOnuHoldoverStateSet(ONU_HOLDOVER_NOT_ACTIVE); | |
onuEponDbOnuHoldoverTimeSet(ONU_PON_TIMER_HOLDOVER_INTERVAL); | |
onuEponDbOnuOpticalLosTimeSet(0); | |
onuEponDbOnuPowerSavingMaxSleepDurationSet(ONU_PON_TIMER_MAX_SLEEP_INTERVAL); | |
onuEponDbOnuPowerSavingWakeupSet(0); | |
onuEponDbOnuSleepModeSet(E_EPON_SLEEP_MODE_CTRL_TX); | |
onuEponDbOnuSleepDurationSet(ONU_PON_TIMER_SLEEP_DURATION); | |
onuEponDbOnuWakeupDurationSet(ONU_PON_TIMER_WAKEUP_DURATION); | |
onuEponDbOnuSleepWakeupStatusSet(E_EPON_NOT_POWER_SAVING_STATUS); | |
/* set silence */ | |
onuEponDbOnuSilenceStateSet(ONU_SILENCE_NOT_ACTIVE); | |
/* SW DBA params */ | |
onuEponDbOnuSwRprtTimerTypeSet(ONU_EPON_SW_DBA_RPRT_TIMER); | |
onuEponDbOnuSwRprtMacTimerIntervalSet(62500); /* 1 msec in 16nano units */ | |
onuEponDbOnuDbaModeSet(ONU_DBA_SW_RPRT_MODE); | |
onuEponDbOnuDbaSwModeQueuesetDirSet(ONU_DBA_SW_RPRT_NORMAL_DIR); | |
onuEponDbOnuDbaSwModeQueueDirSet(ONU_DBA_SW_RPRT_NORMAL_DIR); | |
for (macId = 0; macId < EPON_MAX_MAC_NUM; macId++) { | |
if (macId == 0) | |
onuEponDbOnuDbaLlidActiveStatusSet(ONU_DBA_ACTIVE_LLID, macId); | |
else | |
onuEponDbOnuDbaLlidActiveStatusSet(ONU_DBA_NON_ACTIVE_LLID, macId); | |
onuEponDbOnuDbaHighestReportQueueSet(ONU_DBA_DEF_HIGHEST_QUEUE, macId); | |
onuEponDbOnuDbaNumOfQueuesSet(ONU_DBA_DEF_NUM_OF_QUEUE, macId); | |
onuEponDbOnuDbaNumOfQueuesetSet(ONU_DBA_DEF_NUM_OF_QUEUESET, macId); | |
onuEponDbOnuDbaQueuesBitMapSet(ONU_DBA_DEF_QUEUES_BIT_MAP, macId); | |
for (queueSet = 0; queueSet < ONU_DBA_DEF_NUM_OF_QUEUESET; queueSet++) { | |
for (queueId = 0; queueId < ONU_DBA_DEF_NUM_OF_QUEUE; queueId++) { | |
if (queueSet == 0) | |
onuEponDbOnuDbaQueueThresholdSet(ONU_DBA_DEF_QUEUESET_DEF_THRESHOLD, | |
1, queueId, queueSet, macId); | |
else if (queueSet == 1) | |
onuEponDbOnuDbaQueueThresholdSet(ONU_DBA_DEF_QUEUESET_DEF_THRESHOLD, | |
1, queueId, queueSet, macId); | |
else if (queueSet == 2) | |
onuEponDbOnuDbaQueueThresholdSet(ONU_DBA_DEF_QUEUESET_DEF_THRESHOLD, | |
1, queueId, queueSet, macId); | |
else | |
onuEponDbOnuDbaQueueThresholdSet(ONU_DBA_DEF_QUEUESET_DEF_THRESHOLD, | |
1, queueId, queueSet, macId); | |
} | |
} | |
} | |
/* set onu configuration */ | |
onuEponDbOnuCfgSet(ONU_REG_REQ_AUTO_RES, | |
ONU_REG_ACK_AUTO_RES, | |
ONU_REPORT_AUTO_RES, | |
ONU_RX_PCS_FEC_DIS, | |
ONU_TX_PCS_FEC_DIS, | |
ONU_TX_FEC_DIS); | |
onuEponDbOnuRxFecCfgSet(ONU_RX_PCS_FEC_DIS); | |
onuEponDbStatusNotifySet(NULL); | |
onuEponDbDgCallbackSet(NULL); | |
onuEponDbModeSet(E_EPON_IOCTL_STD_MODE); | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDatapathTblInit | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function init onu database data path table | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: None | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDatapathTblInit(void) | |
{ | |
MV_U32 macId; | |
/* clear onu database data path table */ | |
memset ((&(onuEponDb_s.onuEponDataPathTbl_s)), 0, sizeof (S_OnuEponDatapathTbl)); | |
for (macId = 0; macId < EPON_MAX_MAC_NUM; macId++) | |
{ | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponRxLLID[macId] = ONU_UNUSED_LLID; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponTxLLID[macId] = ONU_UNUSED_LLID; | |
onuEponDbPktTxLlidSet(ONU_DEF_TX_LLID, macId); | |
onuEponDbPktRxLlidSet(ONU_DEF_RX_LLID, macId); | |
} | |
onuEponDbPktForwardSet(ONU_SLOW_FRAME_TO_CTRL_QUEUE, | |
ONU_SLOW_FRAME_TO_RPRT_QUEUE, | |
ONU_RPRT_FRAME_TO_RPRT_QUEUE, | |
ONU_RPRT_FRAME_TO_DATA_QUEUE, | |
ONU_CTRL_FRAME_TO_CTRL_QUEUE, | |
ONU_CTRL_FRAME_TO_DATA_QUEUE); | |
onuEponDbPktFilterPacketSet(ONU_FORWARD_LLID_ALL_PKT, | |
ONU_FORWARD_LLID_XXXX_MODE_1_PKT, | |
ONU_FORWARD_LLID_7FFF_MODE_1_PKT, | |
ONU_FORWARD_LLID_7FFF_MODE_0_PKT, | |
ONU_DROP_LLID_NNNN_MODE_1_PKT); | |
onuEponDbPktFilterErrorSet(ONU_FORWARD_LLID_LEN_ERR_PKT, | |
ONU_FORWARD_LLID_GMII_ERR_PKT, | |
ONU_FORWARD_LLID_FCS_ERR_PKT, | |
ONU_FORWARD_LLID_CRC_ERR_PKT); | |
onuEponDbPktSizeSet(ONU_DEF_MIN_PKT_SIZE, ONU_DEF_MAX_PKT_SIZE); | |
return(MV_OK); | |
} | |
/******************************************************************************/ | |
/* ========================================================================== */ | |
/* Interface Section */ | |
/* ========================================================================== */ | |
/******************************************************************************/ | |
/********************************************/ | |
/* ======================================== */ | |
/* ONU EPON General Table API Functions */ | |
/* ======================================== */ | |
/********************************************/ | |
MV_STATUS matchDestAddressToMacId(MV_U8 *destAddr, MV_U32 *macId) | |
{ | |
MV_U32 addrIndex; | |
for (addrIndex = 0; addrIndex < EPON_MAX_MAC_NUM; addrIndex++) | |
{ | |
if (memcmp(fixMacAddrs[addrIndex], destAddr, 6) == 0) | |
{ | |
*macId = addrIndex; | |
return(MV_OK); | |
} | |
} | |
return(MV_ERROR); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuValidSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu valid in the database | |
** | |
** PARAMETERS: MV_BOOL onuValid | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuValidSet(MV_BOOL onuValid, MV_U32 macId) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponValid[macId] = onuValid; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuValidGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu valid | |
** | |
** PARAMETERS: MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: onu state | |
** | |
*******************************************************************************/ | |
MV_BOOL onuEponDbOnuValidGet(MV_U32 macId) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponValid[macId]); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuStateSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu state in the database | |
** | |
** PARAMETERS: MV_U32 onuState - ONU_EPON_02_REGISTER_PENDING | |
** ONU_EPON_03_OPERATION | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuStateSet(MV_U32 onuState, MV_U32 macId) | |
{ | |
if ((onuState < ONU_EPON_02_REGISTER_PENDING) || | |
(onuState > ONU_EPON_03_OPERATION)) | |
{ | |
return(MV_ERROR); | |
} | |
onuEponDb_s.onuEponGenTbl_s.onuEponState[macId] = onuState; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuStateGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu state | |
** | |
** PARAMETERS: MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: onu state | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuStateGet(MV_U32 macId) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponState[macId]); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSignalDetectSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu signal detect in the database | |
** | |
** PARAMETERS: MV_U32 state | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuSignalDetectSet(MV_U32 state) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponSignalDetect = state; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSignalDetectGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu state signal detect | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: onu state | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuSignalDetectGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponSignalDetect); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDsSyncOkPcsSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu ds sync OK PCS in the database | |
** | |
** PARAMETERS: MV_U32 state | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDsSyncOkPcsSet(MV_U32 state) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponDsSyncOkPcs = state; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDsSyncOkPcsGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu ds sync OK PCS | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: onu state | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuDsSyncOkPcsGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponDsSyncOkPcs); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuCtrlTypeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu ether type in the database | |
** | |
** PARAMETERS: MV_U32 ctrlType | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuCtrlTypeSet(MV_U32 ctrlType) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponCtrlType = ctrlType; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuCtrlTypeGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu ether type | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: ctrl frame ether type | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuCtrlTypeGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponCtrlType); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSyncTimeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu sync time in the database | |
** | |
** PARAMETERS: MV_U32 syncTime | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuSyncTimeSet(MV_U32 syncTime, MV_U32 macId) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponSyncTime[macId] = syncTime; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSyncTimeGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu sync time | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: onu sync time | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuSyncTimeGet(MV_U32 macId) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponSyncTime[macId]); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuMacAddrSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu mac address in the database | |
** | |
** PARAMETERS: MV_U32 lowAddr | |
** MV_U32 highAddr | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuMacAddrSet(MV_U32 lowAddr, MV_U32 highAddr, MV_U32 macId) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponMacAddr[macId].addressLow = lowAddr; | |
onuEponDb_s.onuEponGenTbl_s.onuEponMacAddr[macId].addressHigh = highAddr; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuMacAddrGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu mac address in the database | |
** | |
** PARAMETERS: MV_U32 *lowAddr | |
** MV_U32 *highAddr | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuMacAddrGet(MV_U32 *lowAddr, MV_U32 *highAddr, MV_U32 macId) | |
{ | |
*lowAddr = onuEponDb_s.onuEponGenTbl_s.onuEponMacAddr[macId].addressLow; | |
*highAddr = onuEponDb_s.onuEponGenTbl_s.onuEponMacAddr[macId].addressHigh; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuBcastAddrSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu mac broadcast address in the database | |
** | |
** PARAMETERS: MV_U32 lowAddr | |
** MV_U32 highAddr | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuBcastAddrSet(MV_U32 lowAddr, MV_U32 highAddr) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponBcastAddr.addressLow = lowAddr; | |
onuEponDb_s.onuEponGenTbl_s.onuEponBcastAddr.addressHigh = highAddr; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuMacAddrGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu mac broadcast address in the database | |
** | |
** PARAMETERS: MV_U32 *lowAddr | |
** MV_U32 *highAddr | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuBcastAddrGet(MV_U32 *lowAddr, MV_U32 *highAddr) | |
{ | |
*lowAddr = onuEponDb_s.onuEponGenTbl_s.onuEponBcastAddr.addressLow; | |
*highAddr = onuEponDb_s.onuEponGenTbl_s.onuEponBcastAddr.addressHigh; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuCfgAutoSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu mac auto configuration in the database | |
** | |
** PARAMETERS: MV_U32 regReqAutoRes | |
** MV_U32 regAckAutoRes | |
** MV_U32 reportAutoRes | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuCfgAutoSet(MV_U32 regReqAutoRes, | |
MV_U32 regAckAutoRes, | |
MV_U32 reportAutoRes) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponRegReqAutoRes = regReqAutoRes; | |
onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponRegAckAutoRes = regAckAutoRes; | |
onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponReportAutoRes = reportAutoRes; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuCfgSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu mac configuration in the database | |
** | |
** PARAMETERS: MV_U32 regReqAutoRes | |
** MV_U32 regAckAutoRes | |
** MV_U32 reportAutoRes | |
** MV_U32 rxPcsFecEn | |
** MV_U32 txPcsFecEn | |
** MV_U32 txFecEn | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuCfgSet(MV_U32 regReqAutoRes, | |
MV_U32 regAckAutoRes, | |
MV_U32 reportAutoRes, | |
MV_U32 rxPcsFecEn, | |
MV_U32 txPcsFecEn, | |
MV_U32 txFecEn) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponRegReqAutoRes = regReqAutoRes; | |
onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponRegAckAutoRes = regAckAutoRes; | |
onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponReportAutoRes = reportAutoRes; | |
onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponRxPcsFecEn = rxPcsFecEn; | |
onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponTxPcsFecEn = txPcsFecEn; | |
onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponTxFecEn = txFecEn; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuCfgGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu mac configuration in the database | |
** | |
** PARAMETERS: MV_U32 regReqAutoRes | |
** MV_U32 regAckAutoRes | |
** MV_U32 reportAutoRes | |
** MV_U32 rxFec | |
** MV_U32 txFec | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuCfgGet(MV_U32 *regReqAutoRes, | |
MV_U32 *regAckAutoRes, | |
MV_U32 *reportAutoRes, | |
MV_U32 *rxPcsFecEn, | |
MV_U32 *txPcsFecEn, | |
MV_U32 *txFecEn) | |
{ | |
*regReqAutoRes = onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponRegReqAutoRes; | |
*regAckAutoRes = onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponRegAckAutoRes; | |
*reportAutoRes = onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponReportAutoRes; | |
*rxPcsFecEn = onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponRxPcsFecEn; | |
*txPcsFecEn = onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponTxPcsFecEn; | |
*txFecEn = onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponTxFecEn; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuRxFecCfgSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu mac Rx FEC configuration in the database | |
** | |
** PARAMETERS: MV_U32 rxPcsFecEn | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuRxFecCfgSet(MV_U32 rxPcsFecEn) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponRxPcsFecEn = rxPcsFecEn; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuRxFecCfgGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu mac Rx FEC configuration in the database | |
** | |
** PARAMETERS: MV_U32 rxFec | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuRxFecCfgGet(MV_U32 *rxPcsFecEn) | |
{ | |
*rxPcsFecEn = onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponRxPcsFecEn; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuTxFecCfgGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu mac Tx FEC configuration in the database | |
** | |
** PARAMETERS: MV_U32 txFec | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuTxFecCfgGet(MV_U32 *txFecEn, MV_U32 macId) | |
{ | |
*txFecEn = ((onuEponDb_s.onuEponGenTbl_s.onuEponCfg.onuEponTxFecEn >> macId) & 0x1); | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaModeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu DBA mode | |
** | |
** PARAMETERS: MV_U32 mode - HW(0) SW(1) | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaModeSet(MV_U32 mode) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponDbaMode = mode; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaModeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu DBA mode | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_U32 mode - HW(0) SW(1) | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuDbaModeGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponDbaMode); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaSwModeQueuesetDirSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu SW mode queueset direction | |
** | |
** PARAMETERS: MV_U32 dir - Normal(0) Reverse(1) | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaSwModeQueuesetDirSet(MV_U32 dir) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponDbaSwQueuesetDir = dir; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaSwModeQueuesetDirGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu SW mode queueset direction | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_U32 dir - Normal(0) Reverse(1) | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuDbaSwModeQueuesetDirGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponDbaSwQueuesetDir); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaSwModeQueueDirSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu SW mode queues direction | |
** | |
** PARAMETERS: MV_U32 dir - Normal(0) Reverse(1) | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaSwModeQueueDirSet(MV_U32 dir) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponDbaSwQueueDir = dir; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaSwModeQueueDirGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu SW mode queues direction | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_U32 dir - Normal(0) Reverse(1) | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuDbaSwModeQueueDirGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponDbaSwQueueDir); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaLlidActiveStatusSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu DBA LLID active status | |
** | |
** PARAMETERS: MV_U32 status - Off(0) On(1) | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaLlidActiveStatusSet(MV_U32 status, MV_U32 macId) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].active = status; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaLlidActiveStatusGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu DBA mode | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_U32 status - Off(0) On(1) | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuDbaLlidActiveStatusGet(MV_U32 macId) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].active); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaHighestReportQueueSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu highest DBA report queue | |
** | |
** PARAMETERS: MV_U32 queueNum | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaHighestReportQueueSet(MV_U32 queueNum, MV_U32 macId) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].highestReportQueue = queueNum; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaHighestReportQueueGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu highest DBA report queue | |
** | |
** PARAMETERS: MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: ctrl frame ether type | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuDbaHighestReportQueueGet(MV_U32 macId) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].highestReportQueue); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaQueuesBitMapSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu queues bit map per LLID | |
** | |
** PARAMETERS: MV_U32 queuesBitMap | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaQueuesBitMapSet(MV_U32 queuesBitMap, MV_U32 macId) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].queuesBitMap = queuesBitMap; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaQueuesBitMapGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu queues bit map per LLID | |
** | |
** PARAMETERS: MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: onu queues bit map | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuDbaQueuesBitMapGet(MV_U32 macId) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].queuesBitMap); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaNumOfQueuesSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu number of queues per LLID | |
** | |
** PARAMETERS: MV_U32 numOfQueues | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaNumOfQueuesSet(MV_U32 numOfQueues, MV_U32 macId) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].numOfQueues = numOfQueues; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaNumOfQueuesGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu number of queues per LLID | |
** | |
** PARAMETERS: MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: ctrl frame ether type | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuDbaNumOfQueuesGet(MV_U32 macId) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].numOfQueues); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaNumOfQueuesetSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu number of queueset per LLID | |
** | |
** PARAMETERS: MV_U32 numOfQueueset | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaNumOfQueuesetSet(MV_U32 numOfQueueset, MV_U32 macId) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].numOfQueueSets = numOfQueueset; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaNumOfQueuesetGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu number of queueset per LLID | |
** | |
** PARAMETERS: MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: ctrl frame ether type | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuDbaNumOfQueuesetGet(MV_U32 macId) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].numOfQueueSets); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaQueueThresholdSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu queue threshold per LLID | |
** | |
** PARAMETERS: MV_U32 threshold | |
** MV_U32 state | |
** MV_U32 queueId | |
** MV_U32 queueSet | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaQueueThresholdSet(MV_U32 threshold, | |
MV_U32 state, | |
MV_U32 queueId, | |
MV_U32 queueSet, | |
MV_U32 macId) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].queueThreshold[queueSet][queueId].threshold = threshold; | |
onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].queueThreshold[queueSet][queueId].state = state; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaQueueThresholdGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu queue threshold per LLID | |
** | |
** PARAMETERS: MV_U32 *threshold | |
** MV_U32 *state | |
** MV_U32 queueId | |
** MV_U32 queueSet | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: ctrl frame ether type | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaQueueThresholdGet(MV_U32 *threshold, | |
MV_U32 *state, | |
MV_U32 queueId, | |
MV_U32 queueSet, | |
MV_U32 macId) | |
{ | |
*threshold = onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].queueThreshold[queueSet][queueId].threshold; | |
*state = onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId].queueThreshold[queueSet][queueId].state; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuDbaLlidThresholdGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu llid threshold per LLID | |
** | |
** PARAMETERS: S_OnuEponDba *llidDba | |
** MV_U32 macId | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: ctrl frame ether type | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuDbaLlidThresholdGet(S_OnuEponDba *llidDba, MV_U32 macId) | |
{ | |
memcpy(llidDba, &(onuEponDb_s.onuEponGenTbl_s.onuEponDba[macId]), sizeof(S_OnuEponDba)); | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuHoldoverStateSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu holdover state in the database | |
** | |
** PARAMETERS: MV_U32 state | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuHoldoverStateSet(MV_U32 state) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponHoldoverState = state; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuHoldoverStateGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu holdover state | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: ctrl frame ether type | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuHoldoverStateGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponHoldoverState); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuHoldoverTimeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu holdover time in the database | |
** | |
** PARAMETERS: MV_U32 time | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuHoldoverTimeSet(MV_U32 time) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponHoldoverTime = time; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuHoldoverTimeGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu holdover time | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: ctrl frame ether type | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuHoldoverTimeGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponHoldoverTime); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuHoldoverExecSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu holdover execute in the database | |
** | |
** PARAMETERS: MV_U32 state | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuHoldoverExecSet(MV_U32 state) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponHoldoverExecute = state; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuHoldoverExecGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu holdover execute | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: ctrl frame ether type | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuHoldoverExecGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponHoldoverExecute); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuOpticalLosTimeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets time duration value in database | |
** when no optical signal is detected | |
** | |
** PARAMETERS: losTime - time duration | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuOpticalLosTimeSet(MV_U16 losTime) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponOpticalLosTime = losTime; | |
return MV_OK; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuOpticalLosTimeGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns time duration to be used | |
** when no optical signal is detected | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: time duration value | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuOpticalLosTimeGet() | |
{ | |
return onuEponDb_s.onuEponGenTbl_s.onuEponOpticalLosTime; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuMacLosTimeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets time duration value in database | |
** when no GATE MPCPDU is received | |
** | |
** PARAMETERS: losTime - time duration | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuMacLosTimeSet(MV_U16 losTime) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponMacLosTime = losTime; | |
return MV_OK; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuMacLosTimeGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns time duration to be used | |
** when no GATE MPCPDU is received | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: time duration value | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuMacLosTimeGet() | |
{ | |
return onuEponDb_s.onuEponGenTbl_s.onuEponMacLosTime; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuPowerSavingWakeupSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets the support for early wakeup | |
** in power saving mode | |
** | |
** PARAMETERS: wakeUpEnable - Enable or disable the early wakeup support | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuPowerSavingWakeupSet(MV_U8 wakeUpEnable) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponPowerSavingWakeup = wakeUpEnable; | |
return (MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuPowerSavingWakeupGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns the support for early wakeup | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: enable or disable | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuPowerSavingWakeupGet() | |
{ | |
return onuEponDb_s.onuEponGenTbl_s.onuEponPowerSavingWakeup; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuPowerSavingMaxSleepDurationSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets the max sleep duration | |
** in power saving mode | |
** | |
** PARAMETERS: maxSleepDuration - max sleep duration | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuPowerSavingMaxSleepDurationSet(MV_U64 maxSleepDuration) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponPowerSavingMaxSleepDuration= maxSleepDuration; | |
return (MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuPowerSavingMaxSleepDurationGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns the max sleep duration in power saving mode | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: max sleep duration | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuPowerSavingMaxSleepDurationGet() | |
{ | |
return onuEponDb_s.onuEponGenTbl_s.onuEponPowerSavingMaxSleepDuration; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSleepModeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets control mode for power saving | |
** | |
** PARAMETERS: mode - turn off tx or tx/rx | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuSleepModeSet(MV_U8 mode) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponSleepMode = mode; | |
return MV_OK; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSleepModeGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns the sleep mode for power saving mode | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: sleep mode | |
** | |
*******************************************************************************/ | |
E_EponSleepCtrlMode onuEponDbOnuSleepModeGet() | |
{ | |
return onuEponDb_s.onuEponGenTbl_s.onuEponSleepMode; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSleepDurationSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets the periodical sleep duration | |
** for power saving | |
** | |
** PARAMETERS: sleepDuration - periodical sleep duration | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuSleepDurationSet(MV_U32 sleepDuration) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponSleepDuration = sleepDuration; | |
return MV_OK; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSleepDurationGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns the periodical sleep duration for power saving | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: max sleep duration | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuSleepDurationGet() | |
{ | |
return onuEponDb_s.onuEponGenTbl_s.onuEponSleepDuration; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuWakeupDurationSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets the periodical wakeup duration | |
** for power saving | |
** | |
** PARAMETERS: wakeupDuration - periodical wakeup duration | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuWakeupDurationSet(MV_U32 wakeupDuration) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponWakeupDuration = wakeupDuration; | |
return MV_OK; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuWakeupDurationGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns the periodical wakeup duration for power saving | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: max sleep duration | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuWakeupDurationGet() | |
{ | |
return onuEponDb_s.onuEponGenTbl_s.onuEponWakeupDuration; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSleepWakeupStatusSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets power saving status | |
** | |
** PARAMETERS: status - no power saving/sleep/wakeup | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuSleepWakeupStatusSet(MV_U32 status) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponPowerSavingStatus = status; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSleepWakeupStatusGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns the power saving status | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: power saving status | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuSleepWakeupStatusGet() | |
{ | |
return onuEponDb_s.onuEponGenTbl_s.onuEponPowerSavingStatus; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSilenceStateSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu silence state in the database | |
** | |
** PARAMETERS: MV_U32 state | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuSilenceStateSet(MV_U32 state) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponSilenceState = state; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSilenceStateGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu silence state | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: ctrl frame ether type | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuSilenceStateGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponSilenceState); | |
} | |
/********************************************/ | |
/* ======================================== */ | |
/* ONU EPON DataPath Table API Functions */ | |
/* ======================================== */ | |
/********************************************/ | |
/******************************************************************************* | |
** | |
** onuEponDbPktSizeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu mac RX packet size | |
** | |
** PARAMETERS: MV_U32 minSize | |
** MV_U32 maxSize | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktSizeSet(MV_U32 minSize, MV_U32 maxSize) | |
{ | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponRxPktMinSize = minSize; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponRxPktMaxSize = maxSize; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktSizeGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu mac RX packet size | |
** | |
** PARAMETERS: MV_U32 *minSize | |
** MV_U32 *maxSize | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktSizeGet(MV_U32 *minSize, MV_U32 *maxSize) | |
{ | |
*minSize = onuEponDb_s.onuEponDataPathTbl_s.onuEponRxPktMinSize; | |
*maxSize = onuEponDb_s.onuEponDataPathTbl_s.onuEponRxPktMaxSize; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktFilterPacketSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu filter packet configuration | |
** | |
** PARAMETERS: MV_U32 forwardLlidAll | |
** MV_U32 forwardLlid1XXX | |
** MV_U32 forwardLlid1FFF | |
** MV_U32 forwardLlid0FFF | |
** MV_U32 dropLlid1NNN | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktFilterPacketSet(MV_U32 forwardLlidAll, | |
MV_U32 forwardLlid1XXX, | |
MV_U32 forwardLlid1FFF, | |
MV_U32 forwardLlid0FFF, | |
MV_U32 dropLlid1NNN) | |
{ | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.forwardLlidAll = forwardLlidAll; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.forwardLlid1XXX = forwardLlid1XXX; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.forwardLlid1FFF = forwardLlid1FFF; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.forwardLlid0FFF = forwardLlid0FFF; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.dropLlid1NNN = dropLlid1NNN; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktFilterPacketGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu filter packet configuration | |
** | |
** PARAMETERS: MV_U32 *forwardLlidAll | |
** MV_U32 *forwardLlid1XXX | |
** MV_U32 *forwardLlid1FFF | |
** MV_U32 *forwardLlid0FFF | |
** MV_U32 *dropLlid1NNN | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktFilterPacketGet(MV_U32 *forwardLlidAll, | |
MV_U32 *forwardLlid1XXX, | |
MV_U32 *forwardLlid1FFF, | |
MV_U32 *forwardLlid0FFF, | |
MV_U32 *dropLlid1NNN) | |
{ | |
*forwardLlidAll = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.forwardLlidAll; | |
*forwardLlid1XXX = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.forwardLlid1XXX; | |
*forwardLlid1FFF = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.forwardLlid1FFF; | |
*forwardLlid0FFF = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.forwardLlid0FFF; | |
*dropLlid1NNN = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.dropLlid1NNN; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktFilterErrorSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu filter error configuration | |
** | |
** PARAMETERS: MV_U32 ignoreLenErr | |
** MV_U32 ignoreGmiiErr | |
** MV_U32 ignoreFcsErr | |
** MV_U32 ignoreLlidCrcErr | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktFilterErrorSet(MV_U32 ignoreLenErr, | |
MV_U32 ignoreGmiiErr, | |
MV_U32 ignoreFcsErr, | |
MV_U32 ignoreLlidCrcErr) | |
{ | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.ignoreLenErr = ignoreLenErr; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.ignoreGmiiErr = ignoreGmiiErr; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.ignoreFcsErr = ignoreFcsErr; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.ignoreLlidCrcErr = ignoreLlidCrcErr; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktFilterErrorGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu filter error configuration | |
** | |
** PARAMETERS: MV_U32 *ignoreLenErr | |
** MV_U32 *ignoreGmiiErr | |
** MV_U32 *ignoreFcsErr | |
** MV_U32 *ignoreLlidCrcErr | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktFilterErrorGet(MV_U32 *ignoreLenErr, | |
MV_U32 *ignoreGmiiErr, | |
MV_U32 *ignoreFcsErr, | |
MV_U32 *ignoreLlidCrcErr) | |
{ | |
*ignoreLenErr = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.ignoreLenErr; | |
*ignoreGmiiErr = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.ignoreGmiiErr; | |
*ignoreFcsErr = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.ignoreFcsErr; | |
*ignoreLlidCrcErr = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktFilter.ignoreLlidCrcErr; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktForwardSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu forwarding configuration | |
** | |
** PARAMETERS: MV_U32 slowFrameToCtrlQueue | |
** MV_U32 slowFrameToRprtQueue | |
** MV_U32 rprtFrameToRprtQueue | |
** MV_U32 rprtFrameToDataQueue | |
** MV_U32 ctrlFrameToCtrlQueue | |
** MV_U32 ctrlFrameToDataQueue | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktForwardSet(MV_U32 slowFrameToCtrlQueue, | |
MV_U32 slowFrameToRprtQueue, | |
MV_U32 rprtFrameToRprtQueue, | |
MV_U32 rprtFrameToDataQueue, | |
MV_U32 ctrlFrameToCtrlQueue, | |
MV_U32 ctrlFrameToDataQueue) | |
{ | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.slowFrameToCtrlQueue = slowFrameToCtrlQueue; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.slowFrameToRprtQueue = slowFrameToRprtQueue; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.rprtFrameToRprtQueue = rprtFrameToRprtQueue; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.rprtFrameToDataQueue = rprtFrameToDataQueue; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.ctrlFrameToCtrlQueue = ctrlFrameToCtrlQueue; | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.ctrlFrameToDataQueue = ctrlFrameToDataQueue; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktForwardGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu forwarding configuration | |
** | |
** PARAMETERS: MV_U32 *slowFrameToCtrlQueue | |
** MV_U32 *slowFrameToRprtQueue | |
** MV_U32 *rprtFrameToRprtQueue | |
** MV_U32 *rprtFrameToDataQueue | |
** MV_U32 *ctrlFrameToCtrlQueue | |
** MV_U32 *ctrlFrameToDataQueue | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktForwardGet(MV_U32 *slowFrameToCtrlQueue, | |
MV_U32 *slowFrameToRprtQueue, | |
MV_U32 *rprtFrameToRprtQueue, | |
MV_U32 *rprtFrameToDataQueue, | |
MV_U32 *ctrlFrameToCtrlQueue, | |
MV_U32 *ctrlFrameToDataQueue) | |
{ | |
*slowFrameToCtrlQueue = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.slowFrameToCtrlQueue; | |
*slowFrameToRprtQueue = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.slowFrameToRprtQueue; | |
*rprtFrameToRprtQueue = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.rprtFrameToRprtQueue; | |
*rprtFrameToDataQueue = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.rprtFrameToDataQueue; | |
*ctrlFrameToCtrlQueue = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.ctrlFrameToCtrlQueue; | |
*ctrlFrameToDataQueue = onuEponDb_s.onuEponDataPathTbl_s.onuEponPktForward.ctrlFrameToDataQueue; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktRxLlidSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu Rx LLID | |
** | |
** PARAMETERS: MV_U32 llid | |
** MV_U32 index | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktRxLlidSet(MV_U32 llid, MV_U32 index) | |
{ | |
if (index >= EPON_MAX_MAC_NUM) | |
return(MV_ERROR); | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponRxLLID[index] = llid; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktRxLlidGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu Rx LLID | |
** | |
** PARAMETERS: MV_U32 *llid | |
** MV_U32 index | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktRxLlidGet(MV_U32 *llid, MV_U32 index) | |
{ | |
if (index >= EPON_MAX_MAC_NUM) | |
return(MV_ERROR); | |
*llid = onuEponDb_s.onuEponDataPathTbl_s.onuEponRxLLID[index]; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktTxLlidSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set onu Tx LLID | |
** | |
** PARAMETERS: MV_U32 llid | |
** MV_U32 index | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktTxLlidSet(MV_U32 llid, MV_U32 index) | |
{ | |
if (index >= EPON_MAX_MAC_NUM) | |
return(MV_ERROR); | |
onuEponDb_s.onuEponDataPathTbl_s.onuEponTxLLID[index] = llid; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPktTxLlidGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu Tx LLID | |
** | |
** PARAMETERS: MV_U32 *llid | |
** MV_U32 index | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPktTxLlidGet(MV_U32 *llid, MV_U32 index) | |
{ | |
if (index >= EPON_MAX_MAC_NUM) | |
return(MV_ERROR); | |
*llid = onuEponDb_s.onuEponDataPathTbl_s.onuEponTxLLID[index]; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbStatusNotifySet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set Status Notify Callback in the database | |
** | |
** PARAMETERS: STATUSNOTIFYFUNC statusCallback | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbStatusNotifySet(STATUSNOTIFYFUNC statusCallback) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuStatusCallback = statusCallback; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbStatusNotifyGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu Status Notify Callback | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: Status Notify Callback | |
** | |
*******************************************************************************/ | |
STATUSNOTIFYFUNC onuEponDbStatusNotifyGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuStatusCallback); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSwRprtTimerTypeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set SW report timer type MAC or OS | |
** | |
** PARAMETERS: MV_U32 timer type | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuSwRprtTimerTypeSet(MV_U32 timerType) | |
{ | |
swRprtTimerType = timerType; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSwRprtTimerTypeGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return SW report timer type MAC or OS | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_U32 timer type | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuSwRprtTimerTypeGet(void) | |
{ | |
return(swRprtTimerType); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSwRprtTimerTypeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set SW report MAC timer interval | |
** | |
** PARAMETERS: MV_U32 timer interval | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOnuSwRprtMacTimerIntervalSet(MV_U32 timerInterval) | |
{ | |
swRprtMacTimerInterval = timerInterval; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOnuSwRprtMacTimerIntervalGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return SW report MAC timer interval | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_U32 timer interval | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOnuSwRprtMacTimerIntervalGet(void) | |
{ | |
return(swRprtMacTimerInterval); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbModeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets EPON mode in the database | |
** | |
** PARAMETERS: MV_U32 mode | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbModeSet(MV_U32 mode) | |
{ | |
if (mode >= E_EPON_IOCTL_MAX_MODE_NUM) | |
return(MV_ERROR); | |
onuEponDb_s.onuEponGenTbl_s.onuEponMode = mode; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbModeGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns current EPON mode | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_U32 mode | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbModeGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponMode); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbP2PForceModeSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets EPON P2P Force mode in the database | |
** | |
** PARAMETERS: MV_U32 mode | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbP2PForceModeSet(MV_U32 forceMode) | |
{ | |
if (forceMode >= E_EPON_IOCTL_MAX_MODE_NUM) | |
return(MV_ERROR); | |
onuEponDb_s.onuEponGenTbl_s.onuEponP2PForceMode = forceMode; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbP2PForceModeGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns current EPON P2P Force mode | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_U32 mode | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbP2PForceModeGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponP2PForceMode); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPcsCfgSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets EPON PCS configuration register value in the database | |
** | |
** PARAMETERS: MV_U32 val | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbPcsCfgSet(MV_U32 val) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponPcsCfg = val; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbPcsCfgGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns EPON PCS configuration register value | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_U32 mode | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbPcsCfgGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponPcsCfg); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOverheadSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets EPON Overhead register value in the database | |
** | |
** PARAMETERS: MV_U32 val | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbOverheadSet(MV_U32 val) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponOverHead = val; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbOverheadGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function returns EPON Overhead register value | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_U32 mode | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbOverheadGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuEponOverHead); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbBurstEnablePolaritySet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function sets EPON XVR burst enable polarity value in the database | |
** | |
** PARAMETERS: MV_U32 val | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbBurstEnablePolaritySet(MV_U32 val) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuEponXvrBurstEnPolarity = val; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbBurstEnablePolarityGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function gets EPON XVR burst enable polarity value in the database | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: polarity | |
** | |
*******************************************************************************/ | |
MV_U32 onuEponDbBurstEnablePolarityGet(void) | |
{ | |
return onuEponDb_s.onuEponGenTbl_s.onuEponXvrBurstEnPolarity; | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbDgCallbackSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set Dying Gasp Callback in the database | |
** | |
** PARAMETERS: DYINGGASPFUNC dgCallback | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbDgCallbackSet(DYINGGASPFUNC dgCallback) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuDgCallback = dgCallback; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbDgCallbackGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu Dying Gasp Callback | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: Dying Gasp Callback | |
** | |
*******************************************************************************/ | |
DYINGGASPFUNC onuEponDbDgCallbackGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuDgCallback); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbLinkStatusCallbackSet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function set Link Status Callback in the database | |
** | |
** PARAMETERS: LINKSTATUSFUNC linkStatusCallback | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: MV_OK or error | |
** | |
*******************************************************************************/ | |
MV_STATUS onuEponDbLinkStatusCallbackSet(LINKSTATUSFUNC linkStatusCallback) | |
{ | |
onuEponDb_s.onuEponGenTbl_s.onuLinkStatusCallback = linkStatusCallback; | |
return(MV_OK); | |
} | |
/******************************************************************************* | |
** | |
** onuEponDbLinkStatusCallbackGet | |
** ____________________________________________________________________________ | |
** | |
** DESCRIPTION: The function return onu Link Status Callback | |
** | |
** PARAMETERS: None | |
** | |
** OUTPUTS: None | |
** | |
** RETURNS: Link Status Callback | |
** | |
*******************************************************************************/ | |
LINKSTATUSFUNC onuEponDbLinkStatusCallbackGet(void) | |
{ | |
return(onuEponDb_s.onuEponGenTbl_s.onuLinkStatusCallback); | |
} | |