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

📄 readme

📁 unix/linux下的路由守护程序
💻
📖 第 1 页 / 共 2 页
字号:
			KRT_RTREAD_RADIX				For systems based on BSD 4.3 Reno and later				that lack the getkerninfo() system interface				to read the routing table.			KRT_IFREAD_IOCTL				For systems which read the interface				list from the kernel with the				SIOCGIFCONF ioctl interface.			KRT_IFREAD_KINFO				For systems which read the interface				list from the kernel with the				getkerninfo() system call.			KRT_SYMBOLS_NLIST				For systems that read interesting values				from the kernel via the nlist()				interface.			KRT_SYMBOLS_SUNOS5				For SunOS 5 based systems.			KRT_SYMBOLS_SYSCTL				For BSD 4.4 (and some BSDI systems?).			KRT_IFR_MTU	(ifr_mtu)				For systems that use KRT_IFREAD_IOCTL and have				the SIOCGIFMTU ioctl, this option specifies				which structure member contains the MTU.				Another common one is ``ifr_metric''.  For				Auspex systems you may need				``ifr_mtu.off_net_mtu''.			KRT_RT_IOCTL				For systems with BSD 4.3 based				networking which manipulate the kernel				routing table via SIOCADDRT and				SIOCDELRT ioctls.			KRT_RT_SOCK				For systems with BSD 4.3 Reno or later				based networking which manipulate the				kernel routing table via the routing				socket.			KRT_RT_SOCK_SUNOS5				For SunOS 5.6+ systems that support the				routing socket.  Should be specified in				addition to the KRT_RT_SOCK option.			KRT_RT_NOCHANGE				For systems based on BSD 4.3 Reno or BSD				4.3 Net/2 where the kernel processing of				RTM_CHANGE messages is broken.							KRT_LLADDR_KMEM				For systems which read the physical				address of IEEE 802 devices from the				kernel by assuming that an arpcom				structure preceeds the ifnet.			KRT_LLADDR_LINUX				To use the linux SIOCGIFHWADDR ioctl to get the				hardware address.			KRT_LLADDR_SUNOS4				For systems which read the physical				address of IEEE 802 devices from the				kernel by way of the NIT interface.			KRT_LLADDR_SUNOS5				For systems which read the physical				address of IEEE 802 devices from the				kernel by way of DLPI interface.			KRT_LLADDR_NONE				For systems where the normal interface				scanning process will provide the				physical address.			KRT_NETOPTS				For systems supporting SIOCGNETOPT (AIX 3),				used to read additional symbols from the				kernel.			KRT_SOCKET_TYPE	(PF_UNIX,SOCK_DGRAM,AF_UNSPEC)				To specify the type of socket to obtain to				manipulate the kernel forwarding table.  Systems				that use streams I/O and linux need				(PF_INET,SOCK_DGRAM,AF_UNSPEC).  Systems with				the routing socket require (PF_ROUTE,SOCK_RAW,AF_UNSPEC).			KVM_TYPE_SUNSOS4				For systems that use SunOS 4 style kvm				libraries.			KVM_TYPE_BSD44				For systems that use BSD 4.4 style kvm				libraries.			KVM_TYPE_RENO				For systems that use BSD 4.3 Reno style				kvm libraries.			KVM_TYPE_OTHER				For systems that do not have kvm				libraries but require reading kernel				information from /dev/mem.			KVM_TYPE_NONE				For systems where it is not necessary to				read information from /dev/mem.			ROUTES_WO_MBUFS				For systems with the BSD 4.3 hash based				routing table that do not store the				entries in mbufs.			P2P_RT_REMOTE				For BSD 4.2 based systems where the				gateway of a route to a P2P interface is				the remote address of that interface.			VARIABLE_MASKS				For systems supporting variable subnet				masks.			SOCKET_LENGTHS				For systems where the struct sockaddr*				include a length.			SOCKADDR_DL				For systems where AF_LINK sockaddrs are				supported.			INCLUDE_IF_DL				For system where <net/if_dl.h> should be				included.			IFL_NAMELEN				The maxium number of characters in an				interface name (not including the trailing				zero).  Must be at least as big as				IFNAMSIZ.		Kernel symbols:			These first three may be set to a empty string			(KSYM_XXX="""") when code that request them is present			but then are not defined.			KSYM_IPFORWARDING	("_ipforwarding")			KSYM_UDPCKSUM		("_udpcksum")				The name of the kernel symbol for these				values, to be read by kvm_nlist().  Some				systems (i.e. SunOS4.*) require an				underscore after `ip' and `udp".			KSYM_VERSION		("_version")				The name of the kernel symbol that describes the				kernel version.  On later BSD systems with				support for the kvm library it is more				appropriate to use VRS_SYM, but it's value				should be "_version".			KSYM_RTHOST		("_rthost")			KSYM_RTNET		("_rtnet")			KSYM_RTHASHSIZE		("_rthashsize")				Kernel symbol names used to locate the kernel				forwarding table when KRT_RTREAD_KMEM is used.			KSYM_RADIXHEAD		("_radix_node_head")				Kernel symbol name used to locate the kernel				forwarding table when KRT_RTREAD_RADIX is used.			KSYM_IFNET		("_ifnet")				Kernel symbol name used to locate the interface				list when KERT_LLADDR_KMEM is used.		Signal types:			SIGTYPE		(void)			SIGRETURN	(return 0)				The type and expected return value of				signal handlers.  Older systems require:					SIGTYPE=int					SIGRETURN=return			BSD_SIGNALS				For systems using BSD signals			SYSV_SIGNALS				For systems using System V signals			POSIX_SIGNALS				For systems using POSIX signals			HAVE_WAITPID				For systems that have POSIX compatabile				waitpid().						Other stuff:			USE_MMAP				Use mmap() to obtain pages of memory				instead of sbrk().  Currently only works				for use on systems which have MAP_ANON				(BSD4.4 derivatives)			ENVIRON	(environ)				Set to the name of the environement				pointer variable set by exec, normally				`environ' or `_environ'.			NO_STAT				Define this for systems that do not have				the stat() system call.			NO_FORK				For systems where it is not possible or				desirable to use fork when making a				status dump.			NO_IP_MULTICAST				For use on systems where the IP multicast				defines are present, but support does not				exist in the kernel.			HAVE_GETSYSTIMES				For systems where the getsystems()				system call should be used instead of				gettimeofday().			INCLUDE_UNISTD				Systems where we should include				/usr/include/unistd.h.			INCLUDE_STRING				Systems where we should include <string.h>				instead of <strings.h>.			NO_MBUF_H				Systems that do not have <sys/mbuf.h>.			NO_STDDEF_H				Systems that define __STDC__, but where				<stddef.h> is missing, or broken.			NO_INCLUDE_TIME				Systems where it is not proper to				include <time.h> in addition to				<sys/time.h>.			INCLUDE_FCNTL				Systems where we need to include				<sys/fcntl.h> when including				<sys/file.h>.			INCLUDE_TYPES				Systems where <sys/param.h> does not				include <sys/types.h>.			INCLUDE_BSDTYPES				Systems where we also need to include				<sys/bsdtypes.h>.			USE_STREAMIO				Systems where we need to use streams				ioctls instead of BSD ioctls.			INCLUDE_STREAMIO				Systems where <sys/stream.h> should be				included as well as including				<sys/stropts.h> instead of <sys/ioctl.h>.			USE_SYSCTL				Systems (BSD 4.4) where sysctl performs the				same function as getkerninfo.			INCLUDE_SOCKIO				Systems using streamio where we need to				include <sys/sockio.h>.			INCLUDE_SIOCTL				Systems using streamio where we need to				include <sys/sioctl.h>.			ICMP_NOIP_HEADER				Systems where ICMP packets are received				without IP headers.			LINGER_NO_PARAM				Systems where SO_LINGER does not take a				parameter.							INCLUDE_PATHS				Systems that have <paths.h>.			NLIST_NOUNDER				Systems where kernel variables do not				have a leading underscore.			USE_SETPGRP				Systems that use setpgrp() instead of				TIOCNOTTY.			NEED_STRERROR				For systems that do not have the				strerror() system call.			NEED_INET_ATON				For systems that do not have the				inet_aton() system call.			NEED_SIGNAME				For systems that do not have the				external definitions of signal names,				sys_signame.			SYS_SIGNAME	()				Definition for SYS_SIGNAME if not				defined in a system header file.  Usually				SYS_SIGNAME="char *sys_signame[]",				`extern' is assumed.  Do not use if				NEED_SIGNAME is defined. 			NEED_FLOCK				For systems that have lockf() but not				flock(), defines an emulation of				flock() using lockf().			NEED_SETVBUF				For systems that do not have setvbuf().				Defines an emulation that uses				setlinebuf().						NEED_HERRS				If h_nerr or h_errlist are undefined at				link time.			NEED_HERRNO				If h_errno is undefined at link time.			NEED_FFS				If ffs() is undefined at link time.			NEED_SYSCONF				If sysconf() is undefined at link time.			NEED_UNSETENV				If unsetenv() is undefined at link time.			NEED_STRCASECMP				If strcasecmp() or strncasecmp() are				undefined at link time.			MUST_FFLUSH				For systems where setlinebuf() does not				work properly and an fflush is required				after every line written to the trace				file.  Most notably Ultrix.			FLAT_FS				For systems that have no heirarchy to their				file systems, such as when gated is				imbedded into a rotuer.  Prevents attempts				to prepend a path to all file names.			VOID_T	(void *)				Definition of a void pointer, for				systems that do not support a void				pointer, use caddr_t.			GID_T				The type of the array elements in the				second parameter to the getgroups() system				call.			UNDEF_RCVBUF				Systems that incorrectly define RCVBUF.			HAVE_DIRENT				For systems that have <dirent.h>.			BYTE_ORDER	()				If your system has little endian byte order				(x86, VAX, PMAX, ...) and your system does				not define this, use				BYTE_ORDER=LITTLE_ENDIAN.			RTBIT_SIZE	(1)				This roughly controls the number of targets you				can send routing updates to.  If you get an				assertion failure in rtbit_alloc, increase this				number for another 32 targets.                        SOCK_BUF_PAGES  (1)                                This controls the size of the buffer for				temporary sockaddr's.  If you are supporting				many interfaces and are experiencing assertion				failures in sockishos t, you most likely need				to increase this value. A situation where				raising this value was required was for an				Internet access provider who was supporting				greater than 64 dial connections on a BSDI				platform. The actual size of the buffer for				temporary sockaddr's will be SOCK_BUF_PAGES                                multipled by your respective system's page				size. For example, use the config statement				"options SOCK_BUF_PAGES=2"                                to increase the buffer size to 2 pages.			LOCAL_VERSION	()				Used to specify local version information				to be contained in the version information				string.  It is recommended that the value				be enclosed in parens, i.e. (ANS 1.2).				Double quotes should not be used.			NLIST_T	(struct nlist)				The name of the structure used for nlist calls.			NLIST(fd,nl,sz)	(nlist(fd,nl))				The routine to read the kernel namelist.			GA2S	(((u_long)(void_t)(x)))				A macro used for converting from a pointer to a scalar.			GS2A	(((void_t)(u_long)(x)))				A macro used for converting from a scalar to a pointer.				Word sizes:			U_INT8	(unsigned char)			S_INT8	(char)			U_INT16	(unsigned short)			S_INT16	(short)			U_INT32 (unsigned int)			S_INT32 (int)			U_INT64	()			S_INT64	()				These defines can be changed to adapt gated				to the word sizes of different hardware.		Other useful info:			Some of these might be useful to support routines			not provided on some systems:			bcmp(b1,b2,l)="memcmp(b1, b2, (size_t) l)"			bcopy(s,d,l)="memcpy(d, s, (size_t) l)"			bzero(s,l)="memset(s, 0, (size_t) l)"			getpagesize()=BUFSIZ			getwd(path)="getcwd(path, sizeof (path))"			index=strchr			rindex=strrchr 			sigmask(m)="(1 << ((m)-1))"			tzset()			tzsetwall()={unsetenv("TZ");tzset();}			tzsetwall()={(void)putenv("TZ=/etc/TIMEZONE");tzset();}			ftruncate(f,o)=truncate(path_pid,o)				Protocol support:	protocols	()		Protocols to compile in.  The possible options are:			bgp				To include support for BGP (RFC-1164)			egp				To include support for EGP (RFC-904)			icmp					To include support for listening to				ICMP redirects.  This is required on				all system except BSD 4.3 Reno, where				redirects are learned from the routing				socket.			ospf				To include support for OSPF (RFC-1131)			rip				To include support for RIP (RFC-1058)			isode_snmp				To include support for SNMP via with				ISODE's SMUX interface			wrd				(Only Available on the gated-unicast,				gated-multicast, and gated-ipv6 libraries.)				To include Weighted Route Damping 				(currently for only BGP).  You'll				probably have to add "-lm" to ldflags tooISODE SMUX support:The following options should be specified to use the ISODE SMUXsupport for SNMP.  To compile with SMUX support you must add`isode_snmp' to the `protocols' line.  You must also point the loaderat the ISODE general and snmp libraries.  This is normally done byadding `-lisnmp -lisode' to the `ldflags' line.	isode_snmpi	(snmpi)		Where to find the ISODE snmpi program.  This program		is used to compile the gated MIB definitions.	isode_mosy	(mosy)		Where to find the ISODE mosy program.  This program is		used to compile the gated MIB defintions on some		systems.	isode_snmp_include	(/usr/include/isode/snmp)		Where the ISODE include files are installed on your		system.  These are used to find the .h files while		compiling.	isode_snmp_defs_c	(@${ISODE_SNMPI} -f gated-mib.defs compile -s gated-mib)		The command to use to convert the MIB .defs files into		a .c program for inclusion in the gated binary.  On		AIX 3.2 you'll need "mosy -s -c gated-mib.c ${MYS}".	isode_snmp_c_o		(@${CC} -c ${CFLAGS} ${IFLAGS} gated-mib.c)		The command to use to compile the .c code generated		from the .defs file.  This is different from the		normall .c.o line because many of the gcc warnings		used on the rest of the code can not be use with this		code.		#Local variables:#eval:	(setq fill-column 72)#end:

⌨️ 快捷键说明

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