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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? zl5011xpktpassthru.c

?? Zalink50114----TDMoIP芯片驅動源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*******************************************************************************
*
*  File name:              zl5011xPktPassthru.c
*
*  Version:                2
*
*  Author:                 APL
*
*  Date created:           18/02/2005
*
*  Copyright 2002, 2003, 2004, 2005, Zarlink Semiconductor Limited.
*  All rights reserved.
*
*  Module Description:
*
*  This file contains the high level functions to assist with setting up
*  data passthrough from one packet port to another.
*  Either an individual flow can be set up or a group of flows
*  consisting of two mirrored bi-directional flows and a third flow to allow
*  broadcast traffic.
*
*  Revision History:
*
*  Rev:  Date:       Author:  Comments:
*  1     18/02/2005  APL      First version
*  2     07/03/2005  APL      Improved parameter error checking
*
*******************************************************************************/

/*****************   INCLUDE FILES                *****************************/

#include "zl5011xApi.h"
#include "zl5011xLan.h"
#include "zl5011xLanLanLink.h"
#include "zl5011xPacket.h"
#include "zl5011xPktPassthru.h"


/*****************  DEFINES ***************************************************/

/*****************  EXTERNAL GLOBAL VARIABLES  ********************************/

/*****************   STATIC GLOBAL VARIABLES   ********************************/

/*****************   EXPORTED FUNCTION DEFINTIONS   ***************************/

/******************************************************************************

 Function:
    zl5011xCreatePktToPktPassthruStructInit

 Description:
   Initialises structure used by functions zl5011xCreatePktToPktPassthru

 Inputs:
   zl5011xParams   Pointer to the structure for this device instance
   par            Pointer to the structure for configuration items.
                  See main function

 Returns:
   zlStatusE

 Remarks:

******************************************************************************/

zlStatusE zl5011xCreatePktToPktPassthruStructInit(zl5011xParamsS *zl5011xParams,
      zl5011xPktToPktPassthruS * par)
{
   zlStatusE status = ZL5011X_OK;
   Sint32T i;

   ZL5011X_TRACE(ZL5011X_PACKET_FN_ID,"zl5011xCreatePktToPktPassthruStructInit:",0, 0, 0, 0, 0, 0);

   /* do some parameter checking */
   status = ZL5011X_CHECK_POINTERS(zl5011xParams, par);

   if (status == ZL5011X_OK)
   {
      par->upLinkPort = 0;       /* Use port 0, queue 0 for uplink by default */
      par->upLinkQueueNum = 0;

      par->downLinkPort = 1;     /* Use port 1, queue 0 for downlink by default */
      par->downLinkQueueNum = 0;

      par->protocolMatchNum = (Uint32T)ZL5011X_INVALID; /* Choose protocol match automatically */
      for (i=0; i<ZL5011X_NUM_PKT_PKT_FLOWS; i++)
      {
         par->context[i] = (Uint32T)ZL5011X_INVALID_CONTEXT;  /* Choose context automatically */
         par->classifyMatchNum[i] = (Uint32T)ZL5011X_INVALID; /* Choose classify match number automatically */
      }

      par->osExclusionEnable = ZL5011X_TRUE;   /* Default to using OS exclusion when accessing the
                                                device from this function */
   }

   return(status);
}

/*******************************************************************************

 Function:
    zl5011xCreatePktToPktPassthru

 Description:
   Creates two Packet-to-Packet flows which together provide data passthrough
   capability.

         +-----------+              +------------+
         |   Host    |              |   ZLxxxxx  |
         |           |              |            |
         |      Mac1 |<------------>| Mac2  Mac1 |<-----------> To network
         |           | (downlink)   |            |              (uplink)
         |           |              |            |
         +-----------+              +------------+

   The flows created in the ZL5011X_ device are as follows:
   1. A flow handling host to network packets which have ethernet source
      MAC address = Mac1. These are forwarded to the uplink port
   2. A flow handling packets which do not match flow 1 (or any other application
      defined flow). These are forwarded to the downlink port.

   Flow 2, by its very nature supports both unicast and multicast packets but will
   also forward any other packets to the host. A future enhancement would be possible
   to separate flow 2 into a unicast flow and a multicast flow so that stray
   packets will then not be forwarded.

   Packets are transmitted unchanged on the appropriate Packet output port in each
   case.
   It is required that the network port on the ZL5011X_ device is programmed with the
   same MAC address as the host ethernet port.

 Structure inputs:
   upLinkPort           The port number of the device used for the uplink
                        Default = port 0
   upLinkQueueNum       The output queue to use on the uplink transmit port
                        Range 0-3.  In the default priority mode, queue 3 has
                                    the highest priority.
                        Default = 0.
   downLinkPort         The port number of the device used for the downlink
                        Default = port 1
   downLinkQueueNum     The output queue to use on the uplink transmit port
                        Range 0-3.  In the default priority mode, queue 3 has
                                    the highest priority.
                        Default = 0.

   protocolMatchNumber  can be set to specify which protocol match to use if the
                        protocol is not already defined, in which case the current
                        number is returned. If a number is not specified then
                        the highest available match number will be used.
                        Range = 0-3
                        Default = automatically choose protocol match
   context[2]           Can optionally be set to specify which contexts to use.
                        Otherwise they will automatically be selected by finding
                        the highest available unused context numbers.
                        Range = 0-maximum number of contexts (device dependent)
                        Default = choose contexts automatically
   classifyMatchNumber[2]  can be set to specify which classification match to use
                        for each flow. If a number is not specified then one will
                        automatically be chosen.
                        Range = 0-271
                        Default = automatically choose classification match

   osExclusionEnable    ZL5011X_TRUE to enable OS exclusion in this function
                        Default = ZL5011X_TRUE

 Structure outputs:
   protocolMatchNumber  returns the protocol match number used.
   classifyMatchNumber[3]  returns the classification match numbers used for these contexts
   context[3]           returns the context numbers used for this group of
                        pass through flows

 Returns:
    status            Any valid error code

 Remarks:

*******************************************************************************/
zlStatusE zl5011xCreatePktToPktPassthru(zl5011xParamsS *zl5011xParams, zl5011xPktToPktPassthruS *par)

{
   zlStatusE status = ZL5011X_OK;
   zl5011xBooleanE gotDevice = ZL5011X_FALSE;
   Sint32T i;

   ZL5011X_TRACE(ZL5011X_PACKET_FN_ID,"zl5011xCreatePktToPktPassthru:",0, 0, 0, 0, 0, 0);

   /* do some parameter checking */
   status = ZL5011X_CHECK_POINTERS(zl5011xParams, par);

   /* check that both uplink and downlink ports are valid and different */
   if (par->upLinkPort >= zl5011xParams->devLimits.lanNumLanPorts)
   {
      status = ZL5011X_INVALID_PORT;
   }
   else if (par->downLinkPort >= zl5011xParams->devLimits.lanNumLanPorts)
   {
      status = ZL5011X_INVALID_PORT;
   }
   else if (par->downLinkPort == par->upLinkPort)
   {
      status = ZL5011X_INVALID_PORT_CONFIG;
   }
   else if (par->upLinkQueueNum >= ZL5011X_PKQ_NUM_QUEUES)
   {
      status = ZL5011X_INVALID_PORT_CONFIG;
   }
   else if (par->downLinkQueueNum >= ZL5011X_PKQ_NUM_QUEUES)
   {
      status = ZL5011X_INVALID_PORT_CONFIG;
   }

   if ((status == ZL5011X_OK) && (par->osExclusionEnable == ZL5011X_TRUE))
   {
      /* get access to the device */
      status = zl5011xGetDevice(zl5011xParams, ZL5011X_GET_DEVICE_TIMEOUT_MODE);

      if (status == ZL5011X_OK)
      {
         gotDevice = ZL5011X_TRUE;
      }
   }

   if (status == ZL5011X_OK)
   {
      /* Find the highest available protocol match number (=lowest priority)
         if none specified directly */
      if (par->protocolMatchNum == (Uint32T)ZL5011X_INVALID)
      {
         Sint32T loop;

         for (loop = ZL5011X_PKC_NUM_PROTOCOL_ENTRIES-1; loop >= 0; loop--)
         {
            if (zl5011xParams->packetIf.packetRx.pkcProtocol[loop].protocolReserved == ZL5011X_FALSE)
            {
               /* Found an unused protocol match */
               par->protocolMatchNum = loop;
               break;
            }
         }

         if (loop < 0)
         {  /* No spare protocol match could be found */
            status = ZL5011X_NO_AVAIL_PROTOCOL_MATCH;
         }
      }
   }

   /* Find empty contexts if any are not specified directly */
   {
      Uint32T startSearch;

      /* Start searching at the highest available context */
      startSearch = zl5011xParams->devLimits.numContexts-1;
      for (i = 0; (status == ZL5011X_OK) && (i < ZL5011X_NUM_PKT_PKT_FLOWS); i++)
      {
         if (par->context[i] == (Uint32T)ZL5011X_INVALID_CONTEXT)
         {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本久久一区二区三区| 国产欧美日韩精品一区| 久久精品在这里| 亚洲成年人网站在线观看| 国内精品在线播放| 欧美日韩亚洲丝袜制服| 国产清纯在线一区二区www| 天堂在线一区二区| 色综合久久综合| 日本一区二区免费在线| 久久电影国产免费久久电影 | 国产999精品久久久久久绿帽| 91在线免费视频观看| 精品对白一区国产伦| 婷婷国产在线综合| 色欧美乱欧美15图片| 日韩一区在线免费观看| 国产成人综合网站| 日韩免费观看2025年上映的电影| 亚洲黄色av一区| 91小视频免费看| 中文一区二区在线观看| 国产精品亚洲视频| 精品国产污网站| 久久精品99国产国产精| 91精品国产入口| 五月婷婷激情综合网| 欧美亚洲自拍偷拍| 亚洲国产一区二区视频| 精品视频色一区| 一区二区免费看| 在线观看视频一区| 亚洲成人免费av| 欧美日韩国产一二三| 亚洲国产一区视频| 欧美一级生活片| 美女国产一区二区| 337p日本欧洲亚洲大胆精品 | 天堂久久一区二区三区| 91精品国产综合久久福利软件| 日韩电影在线观看一区| 91精品国产综合久久久久久久| 爽好久久久欧美精品| 精品国内二区三区| 国产福利91精品一区二区三区| 国产农村妇女毛片精品久久麻豆 | 欧美美女一区二区三区| 亚洲欧美日韩在线不卡| 色综合久久综合网97色综合| 亚洲黄色录像片| 欧美精品三级在线观看| 久久精品国产色蜜蜜麻豆| 久久综合丝袜日本网| av在线播放成人| 丝袜美腿高跟呻吟高潮一区| 精品久久久久久久一区二区蜜臀| 国产一区二区视频在线| 综合精品久久久| 欧美日韩二区三区| 国产黑丝在线一区二区三区| 国产精品国产自产拍高清av王其 | 午夜一区二区三区视频| 日韩一级免费观看| 成人免费视频视频在线观看免费| ...xxx性欧美| 在线不卡a资源高清| 亚洲超丰满肉感bbw| 精品国产乱码久久久久久图片| 国产精品亚洲专一区二区三区 | 国产乱对白刺激视频不卡| 自拍偷在线精品自拍偷无码专区 | 久久丁香综合五月国产三级网站 | 精品国免费一区二区三区| 成人h动漫精品| 日韩不卡一区二区三区| 国产精品欧美久久久久一区二区| 欧美日本视频在线| 成人午夜碰碰视频| 美日韩黄色大片| 亚洲男人天堂av| 欧美精品一区二区三| 欧美体内she精视频| 粉嫩av一区二区三区粉嫩| 三级不卡在线观看| 亚洲激情第一区| 国产片一区二区| 日韩美女一区二区三区四区| 一本大道久久a久久精二百| 国产毛片精品国产一区二区三区| 亚洲成人黄色小说| 国产精品热久久久久夜色精品三区 | 色偷偷久久人人79超碰人人澡| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲精品国产成人久久av盗摄 | 久久国产精品免费| 午夜私人影院久久久久| 一区二区三区久久久| 国产精品高清亚洲| 国产婷婷色一区二区三区四区| 欧美一区中文字幕| 欧美三级日本三级少妇99| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美久久一二三四区| 91免费在线播放| www.日韩大片| 99久久免费精品| 99riav久久精品riav| 国产精品一区二区在线观看网站| 亚洲国产精品久久不卡毛片| 欧美日韩国产精品自在自线| 91免费看`日韩一区二区| 国产一区二区福利视频| 蜜桃视频一区二区三区在线观看| 五月天亚洲婷婷| 亚洲欧美另类小说| 国产亚洲欧美中文| 亚洲精品在线观看网站| 欧美一卡二卡三卡| 欧美自拍丝袜亚洲| 黄色日韩网站视频| 另类综合日韩欧美亚洲| 日韩va欧美va亚洲va久久| 亚洲一本大道在线| 国产精品美女www爽爽爽| 国产精品入口麻豆九色| 中文一区在线播放| 国产精品麻豆99久久久久久| 欧美激情一区二区| 久久久国产精品午夜一区ai换脸| 欧美国产亚洲另类动漫| 国产三级三级三级精品8ⅰ区| 国产欧美一二三区| 亚洲国产精品高清| 欧美精品一区二区三区在线播放| 久久免费午夜影院| 欧美激情一区三区| 一区二区在线免费| 亚洲成av人片| 视频一区国产视频| 久久激情综合网| 精品一区二区三区免费毛片爱 | 中文字幕精品三区| 国产日韩欧美制服另类| 一区二区三区四区在线播放| 亚洲老司机在线| 亚洲成a人在线观看| 免播放器亚洲一区| 韩国一区二区在线观看| 国产成人免费视频| 一本久久综合亚洲鲁鲁五月天| 欧洲另类一二三四区| 在线电影一区二区三区| 精品三级av在线| 亚洲欧美日韩国产综合在线| 亚洲第一狼人社区| 精品一区二区三区视频在线观看 | 亚洲免费毛片网站| 亚洲最新视频在线观看| 日韩成人精品在线观看| 国产精品1区二区.| 99免费精品视频| 国产午夜精品福利| 国产精品久久看| 亚洲另类春色国产| 精品一区二区三区欧美| 色婷婷av一区二区三区大白胸| 欧美妇女性影城| 久久久91精品国产一区二区精品 | 免费欧美高清视频| 成人精品国产福利| 在线不卡欧美精品一区二区三区| 国产精品久久久久毛片软件| 丝袜亚洲另类欧美综合| 成人精品视频网站| 欧美一级国产精品| 精品国产精品网麻豆系列| 亚洲国产婷婷综合在线精品| 国模娜娜一区二区三区| 在线看一区二区| 国产人成一区二区三区影院| 免费看日韩精品| 日本道色综合久久| 久久久不卡影院| 麻豆精品视频在线观看免费| 日韩欧美电影在线| 欧美大度的电影原声| 亚洲视频 欧洲视频| 蜜臂av日日欢夜夜爽一区| 欧美伊人久久久久久午夜久久久久| 精品国产第一区二区三区观看体验| 亚洲猫色日本管| 国产98色在线|日韩| 日韩一区二区三区免费看| 日韩一区精品字幕| 91在线观看高清| 国产精品萝li| 国产精品一级片在线观看| 久久日一线二线三线suv| 亚洲a一区二区| 欧美中文字幕一区|