📄 skrlmt.h
字号:
/****************************************************************************** * * Name: skrlmt.h * Project: GEnesis, PCI Gigabit Ethernet Adapter * Version: $Revision: 1.1.1.1 $ * Date: $Date: 2004/07/02 11:44:56 $ * Purpose: Header file for Redundant Link ManagemenT. * ******************************************************************************//****************************************************************************** * * (C)Copyright 1998-2001 SysKonnect GmbH. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The information in this file is provided "AS IS" without warranty. * ******************************************************************************//****************************************************************************** * * History: * * $Log: skrlmt.h,v $ * Revision 1.1.1.1 2004/07/02 11:44:56 lgsoft * Import of uboot * * Revision 1.35 2003/01/31 14:12:41 mkunz * single port adapter runs now with two identical MAC addresses * * Revision 1.34 2002/09/23 15:13:41 rwahl * Editorial changes. * * Revision 1.33 2001/07/03 12:16:48 mkunz * New Flag ChgBcPrio (Change priority of last broadcast received) * * Revision 1.32 2001/02/14 14:06:31 rassmann * Editorial changes. * * Revision 1.31 2001/02/05 14:25:26 rassmann * Prepared RLMT for transparent operation. * * Revision 1.30 2001/01/22 13:41:39 rassmann * Supporting two nets on dual-port adapters. * * Revision 1.29 2000/11/17 08:58:00 rassmann * Moved CheckSwitch from SK_RLMT_PACKET_RECEIVED to SK_RLMT_TIM event. * * Revision 1.28 2000/11/09 12:24:34 rassmann * Editorial changes. * * Revision 1.27 1999/11/22 13:59:56 cgoos * Changed license header to GPL. * * Revision 1.26 1999/10/04 14:01:19 rassmann * Corrected reaction to reception of BPDU frames (#10441). * * Revision 1.25 1999/07/20 12:53:39 rassmann * Fixed documentation errors for lookahead macros. * * Revision 1.24 1999/05/28 11:15:56 rassmann * Changed behaviour to reflect Design Spec v1.2. * Controlling Link LED(s). * Introduced RLMT Packet Version field in RLMT Packet. * Newstyle lookahead macros (checking meta-information before looking at * the packet). * * Revision 1.23 1999/01/28 12:50:42 rassmann * Not using broadcast time stamps in CheckLinkState mode. * * Revision 1.22 1999/01/27 14:13:04 rassmann * Monitoring broadcast traffic. * Switching more reliably and not too early if switch is * configured for spanning tree. * * Revision 1.21 1998/12/08 13:11:25 rassmann * Stopping SegTimer at RlmtStop. * * Revision 1.20 1998/11/24 12:37:33 rassmann * Implemented segmentation check. * * Revision 1.19 1998/11/17 13:43:06 rassmann * Handling (logical) tx failure. * Sending packet on logical address after PORT_SWITCH. * * Revision 1.18 1998/11/13 16:56:56 rassmann * Added macro version of SkRlmtLookaheadPacket. * * Revision 1.17 1998/11/06 18:06:05 rassmann * Corrected timing when RLMT checks fail. * Clearing tx counter earlier in periodical checks. * * Revision 1.16 1998/11/03 13:53:50 rassmann * RLMT should switch now (at least in mode 3). * * Revision 1.15 1998/10/22 11:39:52 rassmann * Corrected signed/unsigned mismatches. * Corrected receive list handling and address recognition. * * Revision 1.14 1998/10/15 15:16:36 rassmann * Finished Spanning Tree checking. * Checked with lint. * * Revision 1.13 1998/09/24 19:16:08 rassmann * Code cleanup. * Introduced Timer for PORT_DOWN due to no RX. * * Revision 1.12 1998/09/16 11:09:52 rassmann * Syntax corrections. * * Revision 1.11 1998/09/15 11:28:50 rassmann * Syntax corrections. * * Revision 1.10 1998/09/14 17:07:38 rassmann * Added code for port checking via LAN. * Changed Mbuf definition. * * Revision 1.9 1998/09/07 11:14:15 rassmann * Syntax corrections. * * Revision 1.8 1998/09/07 09:06:08 rassmann * Syntax corrections. * * Revision 1.7 1998/09/04 19:41:34 rassmann * Syntax corrections. * Started entering code for checking local links. * * Revision 1.6 1998/09/04 12:14:28 rassmann * Interface cleanup. * * Revision 1.5 1998/09/02 16:55:29 rassmann * Updated to reflect new DRV/HWAC/RLMT interface. * * Revision 1.4 1998/09/02 07:26:02 afischer * typedef for SK_RLMT_PORT * * Revision 1.3 1998/08/27 14:29:03 rassmann * Code cleanup. * * Revision 1.2 1998/08/27 14:26:25 rassmann * Updated interface. * * Revision 1.1 1998/08/21 08:29:10 rassmann * First public version. * ******************************************************************************//****************************************************************************** * * Description: * * This is the header file for Redundant Link ManagemenT. * * Include File Hierarchy: * * "skdrv1st.h" * ... * "sktypes.h" * "skqueue.h" * "skaddr.h" * "skrlmt.h" * ... * "skdrv2nd.h" * ******************************************************************************/#ifndef __INC_SKRLMT_H#define __INC_SKRLMT_H#ifdef __cplusplus#error C++ is not yet supported.extern "C" {#endif /* cplusplus *//* defines ********************************************************************/#define SK_RLMT_NET_DOWN_TEMP 1 /* NET_DOWN due to last port down. */#define SK_RLMT_NET_DOWN_FINAL 2 /* NET_DOWN due to RLMT_STOP. *//* ----- Default queue sizes - must be multiples of 8 KB ----- *//* Less than 8 KB free in RX queue => pause frames. */#define SK_RLMT_STANDBY_QRXSIZE 128 /* Size of rx standby queue in KB. */#define SK_RLMT_STANDBY_QXASIZE 32 /* Size of async standby queue in KB. */#define SK_RLMT_STANDBY_QXSSIZE 0 /* Size of sync standby queue in KB. */#define SK_RLMT_MAX_TX_BUF_SIZE 60 /* Maximum RLMT transmit size. *//* ----- PORT states ----- */#define SK_RLMT_PS_INIT 0 /* Port state: Init. */#define SK_RLMT_PS_LINK_DOWN 1 /* Port state: Link down. */#define SK_RLMT_PS_DOWN 2 /* Port state: Port down. */#define SK_RLMT_PS_GOING_UP 3 /* Port state: Going up. */#define SK_RLMT_PS_UP 4 /* Port state: Up. *//* ----- RLMT states ----- */#define SK_RLMT_RS_INIT 0 /* RLMT state: Init. */#define SK_RLMT_RS_NET_DOWN 1 /* RLMT state: Net down. */#define SK_RLMT_RS_NET_UP 2 /* RLMT state: Net up. *//* ----- PORT events ----- */#define SK_RLMT_LINK_UP 1001 /* Link came up. */#define SK_RLMT_LINK_DOWN 1002 /* Link went down. */#define SK_RLMT_PORT_ADDR 1003 /* Port address changed. *//* ----- RLMT events ----- */#define SK_RLMT_START 2001 /* Start RLMT. */#define SK_RLMT_STOP 2002 /* Stop RLMT. */#define SK_RLMT_PACKET_RECEIVED 2003 /* Packet was received for RLMT. */#define SK_RLMT_STATS_CLEAR 2004 /* Clear statistics. */#define SK_RLMT_STATS_UPDATE 2005 /* Update statistics. */#define SK_RLMT_PREFPORT_CHANGE 2006 /* Change preferred port. */#define SK_RLMT_MODE_CHANGE 2007 /* New RlmtMode. */#define SK_RLMT_SET_NETS 2008 /* Number of Nets (1 or 2). *//* ----- RLMT mode bits ----- *//* * CAUTION: These defines are private to RLMT. * Please use the RLMT mode defines below. */#define SK_RLMT_CHECK_LINK 1 /* Check Link. */#define SK_RLMT_CHECK_LOC_LINK 2 /* Check other link on same adapter. */#define SK_RLMT_CHECK_SEG 4 /* Check segmentation. */#ifndef RLMT_CHECK_REMOTE#define SK_RLMT_CHECK_OTHERS SK_RLMT_CHECK_LOC_LINK#else /* RLMT_CHECK_REMOTE */#define SK_RLMT_CHECK_REM_LINK 8 /* Check link(s) on other adapter(s). */#define SK_RLMT_MAX_REMOTE_PORTS_CHECKED 3#define SK_RLMT_CHECK_OTHERS \ (SK_RLMT_CHECK_LOC_LINK | SK_RLMT_CHECK_REM_LINK)#endif /* RLMT_CHECK_REMOTE */#ifndef SK_RLMT_ENABLE_TRANSPARENT#define SK_RLMT_TRANSPARENT 0 /* RLMT transparent - inactive. */#else /* SK_RLMT_ENABLE_TRANSPARENT */#define SK_RLMT_TRANSPARENT 128 /* RLMT transparent. */#endif /* SK_RLMT_ENABLE_TRANSPARENT *//* ----- RLMT modes ----- *//* Check Link State. */#define SK_RLMT_MODE_CLS (SK_RLMT_CHECK_LINK)/* Check Local Ports: check other links on the same adapter. */#define SK_RLMT_MODE_CLP (SK_RLMT_CHECK_LINK | SK_RLMT_CHECK_LOC_LINK)/* Check Local Ports and Segmentation Status. */#define SK_RLMT_MODE_CLPSS \ (SK_RLMT_CHECK_LINK | SK_RLMT_CHECK_LOC_LINK | SK_RLMT_CHECK_SEG)#ifdef RLMT_CHECK_REMOTE/* Check Local and Remote Ports: check links (local or remote). */ Name of define TBD!#define SK_RLMT_MODE_CRP \ (SK_RLMT_CHECK_LINK | SK_RLMT_CHECK_LOC_LINK | SK_RLMT_CHECK_REM_LINK)/* Check Local and Remote Ports and Segmentation Status. */ Name of define TBD!#define SK_RLMT_MODE_CRPSS \ (SK_RLMT_CHECK_LINK | SK_RLMT_CHECK_LOC_LINK | \ SK_RLMT_CHECK_REM_LINK | SK_RLMT_CHECK_SEG)#endif /* RLMT_CHECK_REMOTE *//* ----- RLMT lookahead result bits ----- */#define SK_RLMT_RX_RLMT 1 /* Give packet to RLMT. */#define SK_RLMT_RX_PROTOCOL 2 /* Give packet to protocol. *//* Macros */#if 0SK_AC *pAC /* adapter context */SK_U32 PortNum /* receiving port */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -