📄 inode.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 + -