⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inode.h

📁 用于嵌入式系统的TCP/IP协议栈及若干服务
💻 H
字号:
/**            Copyright (c) 1998-2001 by NETsilicon Inc.**  This software is copyrighted by and is the sole property of*  NETsilicon.  All rights, title, ownership, or other interests*  in the software remain the property of NETsilicon.  This*  software may only be used in accordance with the corresponding*  license agreement.  Any unauthorized use, duplication, transmission,*  distribution, or disclosure of this software is expressly forbidden.**  This Copyright notice may not be removed or modified without prior*  written consent of NETsilicon.**  NETsilicon, reserves the right to modify this software*  without notice.**  NETsilicon*  411 Waverley Oaks Road                  USA 781.647.1234*  Suite 227                               http://www.netsilicon.com*  Waltham, MA 02452                       AmericaSales@netsilicon.com***************************************************************************  $Name: Fusion 6.52 Fusion 6.51 $*  $Date: 2001/09/20 10:32:04 $*  $Source: M:/psisrc/routing/incl/rcs/inode.h $*  $Revision: 1.8 $**************************************************************************  File Description:IP global node definitions *************************************************************************/#include <ipport.h>#include <rrmask.h>#include <iprtypes.h>#include <ip_types.h>#include <rrsnadd.h>/* MBP: Reorganized this structure so that all the info needed by        forwarding is at the top, while elements that might be        compiled in or out depending on switches are at the bottom. */ typedef struct iprot_node{	int					rn_state;	dword				rn_tics;			/* global timer*/	word				rn_num_circ;		/*# circuits */	int					rn_routes;			/* # active routes */#ifdef IP_USE_PTREE	struct iproute_entry    *rn_pthead;     int                rn_rtmasks[33];	rripa				rn_rtl2m[33];#else	struct iproute_entry **rn_rt_def;		/* fwd hash tbls */#endif	int					    rn_def_blks;		/* active blks */	struct iproute_entry    *rn_rtfwd_def;		/* free list */	struct iproute_entry    *rn_rtbwd_def;	struct ip_temp_static	*rn_stat_fwd;		/*"off" static rts */	struct ip_temp_static	*rn_stat_bwd;	int					rn_arpttl;	int					rn_pingact;			/* pinging */	int					rn_chkspoof;	int					rn_chk_accin;	int					rn_chk_accout;	int					rn_chk_src;	int					rn_dis_netdirect;	IPNA				rn_rtid;	rrTHEAD				rn_timers;	int					rn_rtprefs[IPRT_MAXTYPE +1];	REDIST_TMPL	        rn_redist[(IPRT_MAXTYPE +1)*(IPRT_MAXTYPE+1)];	/* target has registered */	byte	            rn_redistena[IPRT_MAXTYPE +1];    /* EMBEDDED STRUCTS HERE */    /* circuits */    int					rn_circsmtu[MAX_CIRCUIT+1];	int					rn_circstype[MAX_CIRCUIT+1];	int					rn_l2portmap[MAX_IFID+1];#ifdef IP_VLAN	rrfwd_mask			rn_port2lmap[MAX_CIRCUIT+1];#else	int					rn_port2lmap[MAX_CIRCUIT+1];#endif	struct dll			rn_circ_hash[CIRC_HASHES];    SNAD				rn_ipsrcsnad;    int				    rn_rdiscClock;    struct ip_pmtu_disc *rn_mtud_fwd;	struct ip_pmtu_disc *rn_mtud_bwd;#if 0 /*******  Not used for Fusion.  It has its own MIB counters *******/#ifdef SNMP	/* MIB2 cnfiguration */	byte				rn_sysDescr[256];	struct rrobject_id	rn_sysObjectID;	byte				rn_sysContact[256];	byte				rn_sysName[256];	byte				rn_sysLocation[256];	int					rn_ipDefaultTTL;	int					rn_ipForwarding;	int					rn_ipMForwarding;	/* MIB2 counters */	counter				rn_ipInReceives;	counter				rn_ipInHdrErrors;	counter				rn_ipInAddrErrors;	counter				rn_ipForwDatagrams;	counter				rn_ipInUnknownProtos;	counter				rn_ipInDiscards;	counter				rn_ipInDelivers;	counter				rn_ipOutRequests;	counter				rn_ipOutDiscards;	counter				rn_ipOutNoRoutes;	int				    rn_ipReasmTimeout;	counter				rn_ipReasmReqds;	counter				rn_ipReasmOKs;	counter				rn_ipReasmFails;	counter				rn_ipFragOKs;	counter				rn_ipFragFails;	counter				rn_ipFragCreates;	counter				rn_ipRoutingDiscards;	counter				rn_icmpInMsgs;	counter				rn_icmpInErrors;	counter				rn_icmpInDestUnreachs;	counter				rn_icmpInTimeExcds;	counter				rn_icmpInParmProbs;	counter				rn_icmpInSrcQuenchs;	counter				rn_icmpInRedirects;	counter				rn_icmpInEchos;	counter				rn_icmpInEchoReps;	counter				rn_icmpInTimestamps;	counter				rn_icmpInTimestampReps;	counter				rn_icmpInAddrMasks;	counter				rn_icmpInAddrMaskReps;	counter				rn_icmpOutMsgs;	counter				rn_icmpOutErrors;	counter				rn_icmpOutDestUnreachs;	counter				rn_icmpOutTimeExcds;	counter				rn_icmpOutParmProbs;	counter				rn_icmpOutSrcQuenchs;	counter				rn_icmpOutRedirects;	counter				rn_icmpOutEchos;	counter				rn_icmpOutEchoReps;	counter				rn_icmpOutTimestamps;	counter				rn_icmpOutTimestampReps;	counter				rn_icmpOutAddrMasks;	counter				rn_icmpOutAddrMaskReps;	counter				rn_udpInDatagrams;	counter				rn_udpNoPorts;	counter				rn_udpInErrors;	counter				rn_udpOutDatagrams;	counter				rn_ipmcForwDatagrams;	counter				rn_ipmcInDiscards;	counter				rn_ipmcInReceives;	counter				rn_spooferrs;	counter				rn_decaperrs;	counter				rn_autherrs;	counter				rn_esperrs;	rripa					rn_autherrsrc;	rripa					rn_esperrsrc;	counter				rn_arpreqtx;	counter				rn_arprsptx;	counter				rn_arpreqrx;	counter				rn_arprsprx;	counter				rn_cidrcnt;    /* SNMP globals */	RROID               rn_SnmpOid;	rripa               rn_SnmpIpa;	int 	            rn_Snmp_op;	boolean             rn_Snmp_gnext;	boolean             rn_Snmp_newobj;	boolean             rn_Snmp_tablelimit;	boolean             rn_Snmp_istest;	icirc_pt            rn_Snmp_arpcirc;	rripa               rn_Snmp_arpipa;	SNAD	            rn_Snmp_arpsnad;	int	                rn_Snmp_rtifid;	IPNA	            rn_Snmp_rtipna;	int	                rn_Snmp_rtcost;	rripa	            rn_Snmp_rtnext;	int	                rn_Snmp_rttype;	SNMP_CB             *rn_ipcmd;	boolean             rn_SnmpRowCreated;	boolean             rn_SnmpRowDeleted;	IRMIB               *rn_SnmpCmib;	int                 rn_SnmpGlobIndex;	SNMP_CB             *rn_snmpcb;	SNMP_CB             rn_snmpDCB;	RROID               *rn_snmpOidp;#endif  /* SNMP */#endif /********** #if 0 Not Used for Fusion ************//* EMBEDDED STRUCTS HERE *//*  P2 IP */#ifdef P2_IP	struct dll		    rn_arp_tbl[ARP_HASHES];	dword			    rn_arp_exptime[ARP_HASHES];	arpent_pt			rn_arp_unres_fwd;	arpent_pt			rn_arp_unres_bwd;	arpreq_ent_pt		rn_arp_req_fwd;	arpreq_ent_pt		rn_arp_req_bwd;	int				    rn_arpClock;	int					rn_arp_life_tics;	IP_CLIENT			rn_ipclient[IP_MAX_CLIENT];	UDP_CLIENT			rn_udpclient[UDP_MAX_CLIENT];#endif#ifdef IPMULTI	rripa				rn_localMcasts[IP_MAX_LOCAL_MCAST+1];    DLL                 rn_IgmpGrpLsthash[IGMP_HASHES];	IGMP_NODE           rn_IgmpNode;	DLL                 rn_IpmcCacheHash[IGMP_HASHES];	DLL                 rn_IpmcSGHash[IGMP_HASHES];#endif	IPPING				rn_pingblk[IP_MAX_SIMUL_PING];    int				    rn_morePing;	int				    rn_ipSeq;	byte				rn_md5pad[64];	DLL				    rn_reasmCBL;    DLL rn_seca;#ifdef IP_ACCESS_CONTROL	struct ipaccess_list    *rn_accessin[MAX_CIRCUIT+1];	struct ipaccess_list    *rn_accessout[MAX_CIRCUIT+1];	struct ipaccess_list    *rn_access_fwd;	struct ipaccess_list    *rn_access_bwd;	struct rtmap_list       *rn_rmap_fwd;	struct rtmap_list       *rn_rmap_bwd;#endif}INODE, *inode_pt;/*  These are the only one used with just routing */#define IpSrcSnad   i_node->rn_ipsrcsnad#define ipCircsMtu  i_node->rn_circsmtu#define ipCircsType i_node->rn_circstype#define ipP2LPortMap   i_node->rn_l2portmap#define ipL2PPortMap   i_node->rn_port2lmap#define ip_circ_hash i_node->rn_circ_hash#define IcmpPingBlk  i_node->rn_pingblk#define rdisc_clock  i_node->rn_rdiscClock#ifdef P2_IP#define arp_tbl i_node->rn_arp_tbl#define arp_unres_fwd i_node->rn_arp_unres_fwd#define arp_unres_bwd i_node->rn_arp_unres_bwd#define arp_req_fwd i_node->rn_arp_req_fwd#define arp_req_bwd i_node->rn_arp_req_bwd#define arp_life_tics i_node->rn_arp_life_tics#define arp_clock   i_node->rn_arpClock#define ipclient     i_node->rn_ipclient#define udpclient    i_node->rn_udpclient#endif#ifdef IPSEC#define more_ping    i_node->rn_morePing#define ip_seq		 i_node->rn_ipSeq#define ipReasmCBL	 i_node->rn_reasmCBL#endif#ifdef IPMULTI#define ipLocalMcasts i_node->rn_localMcasts#define igmp_grp_lsthash i_node->rn_IgmpGrpLsthash#define igmp_node	i_node->rn_IgmpNode#define ipmc_cache_hash i_node->rn_IpmcCacheHash#define ipmc_sg_hash i_node->rn_IpmcSGHash#endif#ifdef IP_ACCESS_CONTROL#define ipAccessListIn  i_node->rn_accessin#define ipAccessListOut  i_node->rn_accessout#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -