亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ixethdbapisupport.c

?? 友善mini2440嵌入式
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/** * @file IxEthDBAPISupport.c * * @brief Public API support functions * * @par * IXP400 SW Release version 2.0 * * -- Copyright Notice -- * * @par * Copyright 2001-2005, Intel Corporation. * All rights reserved. * * @par * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. 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. * 3. Neither the name of the Intel Corporation nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * @par * 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. * * @par * -- End of Copyright Notice -- */#include <IxEthDB.h>#include <IxNpeMh.h>#include <IxFeatureCtrl.h>#include "IxEthDB_p.h"#include "IxEthDBMessages_p.h"#include "IxEthDB_p.h"#include "IxEthDBLog_p.h"#ifdef IX_UNIT_TESTint dbAccessCounter = 0;int overflowEvent   = 0;#endif/* * External declaration */extern HashTable dbHashtable;/* * Internal declaration */IX_ETH_DB_PUBLICPortInfo ixEthDBPortInfo[IX_ETH_DB_NUMBER_OF_PORTS];IX_ETH_DB_PRIVATEstruct{    BOOL saved;    IxEthDBPriorityTable priorityTable;    IxEthDBVlanSet vlanMembership;    IxEthDBVlanSet transmitTaggingInfo;    IxEthDBFrameFilter frameFilter;    IxEthDBTaggingAction taggingAction;    IxEthDBFirewallMode firewallMode;    BOOL stpBlocked;    BOOL srcAddressFilterEnabled;    UINT32 maxRxFrameSize;    UINT32 maxTxFrameSize;} ixEthDBPortState[IX_ETH_DB_NUMBER_OF_PORTS];#define IX_ETH_DB_DEFAULT_FRAME_SIZE (1518)/** * @brief initializes a port * * @param portID ID of the port to be initialized * * Note that redundant initializations are silently * dealt with and do not constitute an error * * This function is fully documented in the main * header file, IxEthDB.h */IX_ETH_DB_PUBLICvoid ixEthDBPortInit(IxEthDBPortId portID){    PortInfo *portInfo;    if (portID >= IX_ETH_DB_NUMBER_OF_PORTS)    {        return;    }    portInfo = &ixEthDBPortInfo[portID];    if (ixEthDBSingleEthNpeCheck(portID) != IX_ETH_DB_SUCCESS)    {        WARNING_LOG("EthDB: Unavailable Eth %d: Cannot initialize EthDB Port.\n", (UINT32) portID);        return;    }    if (portInfo->initialized)    {        /* redundant */        return;    }    /* initialize core fields */    portInfo->portID = portID;    SET_DEPENDENCY_MAP(portInfo->dependencyPortMap, portID);    /* default values */    portInfo->agingEnabled       = FALSE;    portInfo->enabled            = FALSE;    portInfo->macAddressUploaded = FALSE;    portInfo->maxRxFrameSize     = IX_ETHDB_DEFAULT_FRAME_SIZE;    portInfo->maxTxFrameSize     = IX_ETHDB_DEFAULT_FRAME_SIZE;    /* default update control values */    portInfo->updateMethod.searchTree              = NULL;    portInfo->updateMethod.searchTreePendingWrite  = FALSE;    portInfo->updateMethod.treeInitialized         = FALSE;    portInfo->updateMethod.updateEnabled           = FALSE;    portInfo->updateMethod.userControlled          = FALSE;    /* default WiFi parameters */    memset(portInfo->bbsid, 0, sizeof (portInfo->bbsid));    portInfo->frameControlDurationID = 0;    /* Ethernet NPE-specific initializations */    if (ixEthDBPortDefinitions[portID].type == IX_ETH_NPE)    {        /* update handler */        portInfo->updateMethod.updateHandler = ixEthDBNPEUpdateHandler;    }    /* initialize state save */    ixEthDBPortState[portID].saved = FALSE;    portInfo->initialized = TRUE;}/** * @brief enables a port * * @param portID ID of the port to enable * * This function is fully documented in the main * header file, IxEthDB.h * * @return IX_ETH_DB_SUCCESS if enabling was * accomplished, or a meaningful error message otherwise */IX_ETH_DB_PUBLICIxEthDBStatus ixEthDBPortEnable(IxEthDBPortId portID){    IxEthDBPortMap triggerPorts;    PortInfo *portInfo;    IX_ETH_DB_CHECK_PORT_EXISTS(portID);    IX_ETH_DB_CHECK_SINGLE_NPE(portID);    portInfo = &ixEthDBPortInfo[portID];    if (portInfo->enabled)    {        /* redundant */        return IX_ETH_DB_SUCCESS;    }    SET_DEPENDENCY_MAP(triggerPorts, portID);    /* mark as enabled */    portInfo->enabled = TRUE;    /* Operation stops here when Ethernet Learning is not enabled */    if(IX_FEATURE_CTRL_SWCONFIG_DISABLED ==       ixFeatureCtrlSwConfigurationCheck(IX_FEATURECTRL_ETH_LEARNING))    {        return IX_ETH_DB_SUCCESS;    }    if (ixEthDBPortDefinitions[portID].type == IX_ETH_NPE && !portInfo->macAddressUploaded)    {        IX_ETH_DB_SUPPORT_TRACE("DB: (Support) MAC address not set on port %d, enable failed\n", portID);        /* must use UnicastAddressSet() before enabling an NPE port */        return IX_ETH_DB_MAC_UNINITIALIZED;    }    if (ixEthDBPortDefinitions[portID].type == IX_ETH_NPE)    {        IX_ETH_DB_SUPPORT_TRACE("DB: (Support) Attempting to enable the NPE callback for port %d...\n", portID);        if (!portInfo->updateMethod.userControlled                && ((portInfo->featureCapability & IX_ETH_DB_FILTERING) != 0))        {            portInfo->updateMethod.updateEnabled = TRUE;        }        /* if this is first time initialization then we already have           write access to the tree and can AccessRelease directly */        if (!portInfo->updateMethod.treeInitialized)        {            IX_ETH_DB_SUPPORT_TRACE("DB: (Support) Initializing tree for port %d\n", portID);            /* create an initial tree and release access into it */            ixEthDBUpdatePortLearningTrees(triggerPorts);            /* mark tree as being initialized */            portInfo->updateMethod.treeInitialized = TRUE;        }    }    if (ixEthDBPortState[portID].saved)    {        /* previous configuration data stored, restore state */        if ((portInfo->featureCapability & IX_ETH_DB_FIREWALL) != 0)        {            ixEthDBFirewallModeSet(portID, ixEthDBPortState[portID].firewallMode);            ixEthDBFirewallInvalidAddressFilterEnable(portID, ixEthDBPortState[portID].srcAddressFilterEnabled);        }#if 0 /* test-only */        if ((portInfo->featureCapability & IX_ETH_DB_VLAN_QOS) != 0)        {            ixEthDBAcceptableFrameTypeSet(portID, ixEthDBPortState[portID].frameFilter);            ixEthDBIngressVlanTaggingEnabledSet(portID, ixEthDBPortState[portID].taggingAction);            ixEthDBEgressVlanTaggingEnabledSet(portID, ixEthDBPortState[portID].transmitTaggingInfo);            ixEthDBPortVlanMembershipSet(portID, ixEthDBPortState[portID].vlanMembership);            ixEthDBPriorityMappingTableSet(portID, ixEthDBPortState[portID].priorityTable);        }#endif        if ((portInfo->featureCapability & IX_ETH_DB_SPANNING_TREE_PROTOCOL) != 0)        {            ixEthDBSpanningTreeBlockingStateSet(portID, ixEthDBPortState[portID].stpBlocked);        }        ixEthDBFilteringPortMaximumRxFrameSizeSet(portID, ixEthDBPortState[portID].maxRxFrameSize);        ixEthDBFilteringPortMaximumTxFrameSizeSet(portID, ixEthDBPortState[portID].maxTxFrameSize);        /* discard previous save */        ixEthDBPortState[portID].saved = FALSE;    }    IX_ETH_DB_SUPPORT_TRACE("DB: (Support) Enabling succeeded for port %d\n", portID);    return IX_ETH_DB_SUCCESS;}/** * @brief disables a port * * @param portID ID of the port to disable * * This function is fully documented in the * main header file, IxEthDB.h * * @return IX_ETH_DB_SUCCESS if disabling was * successful or an appropriate error message * otherwise */IX_ETH_DB_PUBLICIxEthDBStatus ixEthDBPortDisable(IxEthDBPortId portID){    HashIterator iterator;    IxEthDBPortMap triggerPorts; /* ports who will have deleted records and therefore will need updating */    BOOL result;    PortInfo *portInfo;    IxEthDBFeature learningEnabled;#if 0 /* test-only */    IxEthDBPriorityTable classZeroTable;#endif    IX_ETH_DB_CHECK_PORT_EXISTS(portID);    IX_ETH_DB_CHECK_SINGLE_NPE(portID);    portInfo = &ixEthDBPortInfo[portID];    if (!portInfo->enabled)    {        /* redundant */        return IX_ETH_DB_SUCCESS;    }    if (ixEthDBPortDefinitions[portID].type == IX_ETH_NPE)    {        /* save filtering state */        ixEthDBPortState[portID].firewallMode            = portInfo->firewallMode;        ixEthDBPortState[portID].frameFilter             = portInfo->frameFilter;        ixEthDBPortState[portID].taggingAction           = portInfo->taggingAction;        ixEthDBPortState[portID].stpBlocked              = portInfo->stpBlocked;        ixEthDBPortState[portID].srcAddressFilterEnabled = portInfo->srcAddressFilterEnabled;        ixEthDBPortState[portID].maxRxFrameSize          = portInfo->maxRxFrameSize;        ixEthDBPortState[portID].maxTxFrameSize          = portInfo->maxTxFrameSize;        memcpy(ixEthDBPortState[portID].vlanMembership, portInfo->vlanMembership, sizeof (IxEthDBVlanSet));        memcpy(ixEthDBPortState[portID].transmitTaggingInfo, portInfo->transmitTaggingInfo, sizeof (IxEthDBVlanSet));        memcpy(ixEthDBPortState[portID].priorityTable, portInfo->priorityTable, sizeof (IxEthDBPriorityTable));        ixEthDBPortState[portID].saved = TRUE;        /* now turn off all EthDB filtering features on the port */#if 0 /* test-only */        /* VLAN & QoS */        if ((portInfo->featureCapability & IX_ETH_DB_VLAN_QOS) != 0)        {            ixEthDBPortVlanMembershipRangeAdd((IxEthDBPortId) portID, 0, IX_ETH_DB_802_1Q_MAX_VLAN_ID);            ixEthDBEgressVlanRangeTaggingEnabledSet((IxEthDBPortId) portID, 0, IX_ETH_DB_802_1Q_MAX_VLAN_ID, FALSE);            ixEthDBAcceptableFrameTypeSet((IxEthDBPortId) portID, IX_ETH_DB_ACCEPT_ALL_FRAMES);            ixEthDBIngressVlanTaggingEnabledSet((IxEthDBPortId) portID, IX_ETH_DB_PASS_THROUGH);            memset(classZeroTable, 0, sizeof (classZeroTable));            ixEthDBPriorityMappingTableSet((IxEthDBPortId) portID, classZeroTable);        }#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码国产乱码精品精小说 | 日韩女优视频免费观看| 99久久99久久精品免费观看| 丁香一区二区三区| 国产成人免费视频精品含羞草妖精| 麻豆精品视频在线观看视频| 日本不卡一区二区| 日产欧产美韩系列久久99| 奇米影视一区二区三区| 奇米综合一区二区三区精品视频| 美国av一区二区| 精品一区二区三区在线视频| 国产精品一线二线三线精华| 精品一区二区三区在线观看国产| 韩国成人精品a∨在线观看| 国产一区二区中文字幕| 国产+成+人+亚洲欧洲自线| 成人免费看黄yyy456| 94-欧美-setu| 欧美性受极品xxxx喷水| 欧美日本乱大交xxxxx| 91精品国产综合久久久久久 | 亚洲va欧美va人人爽| 亚洲h动漫在线| 免费高清在线视频一区·| 久久精品国产亚洲高清剧情介绍 | 欧美日韩在线三级| 欧美在线免费观看视频| 欧美肥妇bbw| 久久久国产午夜精品| 国产精品久99| 午夜视频久久久久久| 国产一区二区在线视频| 99国产精品久久久久久久久久久| 欧美色中文字幕| 日韩免费视频线观看| 中文字幕一区二区三区在线播放 | 亚洲国产精品天堂| 免费亚洲电影在线| www.欧美.com| 欧美精品一二三| 国产日韩欧美麻豆| 亚洲一区二区三区不卡国产欧美| 精品写真视频在线观看| 99re这里都是精品| 日韩一级免费一区| 亚洲美女免费视频| 激情综合网av| 欧美在线制服丝袜| 国产色综合一区| 午夜激情综合网| 成人av在线播放网址| 在线电影国产精品| 亚洲日本在线观看| 国产精品自产自拍| 欧美日韩国产综合久久| 国产精品视频yy9299一区| 日韩精品一级二级| 色成人在线视频| 国产欧美日韩亚州综合 | fc2成人免费人成在线观看播放 | 亚洲成a天堂v人片| gogo大胆日本视频一区| 精品久久人人做人人爽| 午夜精品一区二区三区免费视频| heyzo一本久久综合| 精品黑人一区二区三区久久| 亚洲成精国产精品女| 不卡电影一区二区三区| 2017欧美狠狠色| 日韩高清不卡一区二区| 91福利视频网站| 国产精品成人一区二区艾草 | 精品午夜一区二区三区在线观看| 精品视频全国免费看| 亚洲精品欧美综合四区| 粉嫩嫩av羞羞动漫久久久 | 婷婷国产v国产偷v亚洲高清| 91亚洲精华国产精华精华液| 国产午夜久久久久| 国产一区在线不卡| 欧美一二三四区在线| 亚洲午夜久久久久中文字幕久| 99国产精品久| 2022国产精品视频| 久久99九九99精品| 日韩欧美在线不卡| 午夜欧美一区二区三区在线播放| 在线观看中文字幕不卡| 亚洲欧美日韩国产综合在线| 成人黄色小视频在线观看| 日本午夜一本久久久综合| 国产精品中文字幕日韩精品 | 中文字幕av一区 二区| 亚洲成人午夜影院| 欧美性猛交一区二区三区精品| 亚洲日本一区二区| 91亚洲永久精品| 亚洲免费资源在线播放| 91麻豆蜜桃一区二区三区| 国产精品国产a级| 91老师国产黑色丝袜在线| 国产精品高潮呻吟久久| 成人国产亚洲欧美成人综合网| 国产精品丝袜黑色高跟| 成人夜色视频网站在线观看| 欧美激情一区在线| 丁香婷婷综合色啪| 中文字幕一区二| 99久久精品免费看| 亚洲精品免费看| 欧美在线高清视频| 视频一区欧美精品| 欧美一级午夜免费电影| 精品一区二区三区日韩| 久久久久久97三级| 99久久精品国产观看| 亚洲黄色尤物视频| 亚洲欧美电影一区二区| 日本电影亚洲天堂一区| 午夜精品免费在线| 日韩欧美国产综合| 大桥未久av一区二区三区中文| 国产精品第13页| 欧美日韩一区成人| 久草这里只有精品视频| 国产蜜臀97一区二区三区 | 国产精品福利电影一区二区三区四区| jlzzjlzz亚洲女人18| 亚洲成人三级小说| 精品盗摄一区二区三区| 粉嫩aⅴ一区二区三区四区 | 国产成人免费视频一区| 亚洲精品水蜜桃| 日韩欧美一区二区不卡| 成人av电影在线观看| 亚洲国产成人tv| 精品免费日韩av| 91性感美女视频| 麻豆91在线观看| 一区二区中文视频| 欧美精品一卡两卡| 成人免费av在线| 首页欧美精品中文字幕| 国产无遮挡一区二区三区毛片日本| 99re6这里只有精品视频在线观看| 午夜欧美电影在线观看| 国产日韩一级二级三级| 欧美私人免费视频| 国产传媒日韩欧美成人| 亚洲成av人片在www色猫咪| 经典三级一区二区| 亚洲欧美视频在线观看视频| 日韩亚洲欧美成人一区| 色综合久久99| 国产伦理精品不卡| 午夜精品免费在线| 日韩美女视频19| 精品国产免费人成电影在线观看四季| 97se亚洲国产综合自在线| 精品在线亚洲视频| 亚洲成a人片在线观看中文| 国产精品全国免费观看高清| 91精品国产综合久久久久久久久久| 不卡视频免费播放| 激情图区综合网| 日韩经典中文字幕一区| 亚洲视频免费在线| 久久精品无码一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 美国一区二区三区在线播放| 亚洲欧洲中文日韩久久av乱码| 精品免费日韩av| 欧美日韩精品欧美日韩精品一综合| 国产99久久精品| 蜜臀久久99精品久久久久宅男| 亚洲黄一区二区三区| 国产精品久久久久精k8| 久久亚洲影视婷婷| 日韩天堂在线观看| 欧美日韩中字一区| 色婷婷精品久久二区二区蜜臂av | 日本一区二区三区视频视频| 欧美一区二区视频观看视频| 91搞黄在线观看| 91在线看国产| 99国产精品久久久久久久久久| 国产乱子轮精品视频| 蜜桃传媒麻豆第一区在线观看| 亚洲制服丝袜av| 一区二区三区av电影| 亚洲日本欧美天堂| 国产精品视频第一区| 欧美激情在线看| 国产亚洲欧美一级| 久久色.com| 久久久久国产精品人| 久久亚洲二区三区| 久久蜜桃av一区二区天堂| 精品日本一线二线三线不卡 |