sun# adb -k -w /vmunix /dev/mem _udp_cksum/W 1 _udp_cksum: 0x0 = 0x1 _udp_cksum?W 1 _udp_cksum: 0x0 = 0x1 ^D sun# You can probably find the proper name for the UDP checksum value with: sun# nm -o /vmunix | grep udp_c /vmunix:f80fa35c D _udp_cksum /vmunix:f801bd10 T _udp_ctlinput sun#
5.4.2.1 IP Multicast Routing support
KRT_IPMULTI_TTL0 With this model, the kernel also acts as a protocol
independent multicast forwarding cache. Forwarding cache entries are generate
on demand as data traffic is forwarded. It uses messages on the IGMP socket
to communicate with the routing daemon and request that a forwarding cache
entry be calculated. Examples of the use of this model include the Xerox
PARC IP Multicast 3.3 and 3.5 kernel releases.
This version of GateD can do SNMP via the ISODE 8.0 SMUX interface.
If you don't already have ISODE 7.0 you may obtain a version with
many SMUX/SNMP patches applied via FTP
from gated.org as /net-research/gated/isode-snmp-8.0.tar.gz.
Even though the ISODE source requires much of disk space, it isn't necessary to build and install all of ISODE, but rather just the core distribution and the snmp code. A partial install (inst-partial and inst-snmp) is the minimum required.
GateD also supports the ISODE 6.8 based SMUX interface on AIX 3 systems. If you experience errors of the form:
Building: gated-mib.c mosy -s -c gated-mib.c ../mib/smi.my ../mib/mib.my ../mib/rt.my ../mib/bgp.my ../mib/ospf.my ../mib/rip.my mosy 6.8 of Sat Nov 23 12:30:27 CST 1991 line 56: Warning: EXPORTS but no ModuleIdentifier last token read was ";" object enterprises: Warning: IMPORTS but no ModuleIdentifier object snmpEnableAuthenTraps: Warning: IMPORTS but no ModuleIdentifier object snmpEnableAuthenTraps: syntax error make: *** [gated-mib.c] Error 1 change the default for ipForwardInfo to remove the second zero so it becomes: DEFVAL { { 0 } } -- 0.0 The mosy supplied with ISODE 6.8 could not parse this syntax, even though it is correct.
If GateD gets send to () network unreachable problems when running on SunOS 4.0 systems, add `hostname` to the ifconfig commands for ie0/le0/ec0 in /etc/rc.local. Otherwise SunOS has a misconception of the route to the attached network.
In an attempt to make binaries that read kernel memory compatible between different kernel architectures, Sun has created libkvm.a. Unfortunately, the dynamically loaded versions of these libraries are broken on SunOS 4.* systems, so GateD must be statically linked. This prevents the use of a GateD binary compiled on one kernel architecuture (say sun4m) from working on another (sun4c).
AIX 3.2 has networking code based on BSD 4.3 Reno, including variable length subnet masks and the routing socket. Some of the extensions are available when the system is not running in BSD 4.3 compatibility mode (see the compat_43variable and no). Amoung these are the ability to determine the destination address of a RIP packet (used when GateD is responding to the ripquery program). GateD can run in either mode with a slight loss of functionality in BSD 4.3 compatability mode. Make sure you compile with -D_BSD=44!
In order to generate a core dump useful for debugging on AIX 3, the default limit on the core size must be increased. This can be accomplished via the shell, or automatically when GateD is started via gdc. Some compilation-time configuring is necessary for this to work. Either define GDC_CORESIZE=RLIM_INFINITY in the obj/Configfile, or define GDC_RESOURCEand use the -c option to gdc at run time.
If an assertion failure occurs in task_stdio_read(), it is because a file descriptor was improperly closed. This can occur when the named resolver libraries are improperly installed in the system shared libraries. If the socket used by the shared libraries is not statically initialized to -1, file descriptor zero will be closed when GateD calls endhostent(). The solution is to fix the shared libraries. A workaround would be to not use any symbolic names in the config file andspecify options noresolv ;.
5.4.6.1 yacc
5.4.6.2 make
Problems have been reported with yacc on at least some versions of AIX 3.1 and 3.2. On of the problems is that yacc does not report parse errors to the caller, resulting in GateD trying to run with an incorrect configuration. It is strongly recommended that you obtain GNU bison instead. It is available for anonymous FTP from prep.ai.mit.edu in the pub/gnu directory.
If you would like to run HELLO or EGP on a 4.2 based system such as Ultrix 1.2, 2.0, 2.1and SunOS 3.x you will need to add the following code to the following modules and rebuild your kernel.
/sys/netinet/in.h: #define IPPROTO_EGP 8 /* exterior gateway protocol */ #define IPPROTO_HELLO 63 /* Fuzzball HELLO protocol */ /sys/netinet/in_proto.c for SunOS 3.x: { SOCK_RAW, PF_INET, IPPROTO_HELLO, PR_ATOMIC|PR_ADDR, rip_input, rip_output, 0, 0, raw_usrreq, 0, 0, 0, 0, }, { SOCK_RAW, PF_INET, IPPROTO_EGP, PR_ATOMIC|PR_ADDR, rip_input, rip_output, 0, 0, raw_usrreq, 0, 0, 0, 0, }, /sys/netinet/in_proto.c for Ultrix 1.2, 2.0 and 2.2: { SOCK_RAW, &inetdomain;, IPPROTO_HELLO, PR_ATOMIC|PR_ADDR, rip_input, rip_output, 0, 0, raw_usrreq, 0, 0, 0, 0, 0, 0, 0, }, { SOCK_RAW, &inetdomain;, IPPROTO_EGP, PR_ATOMIC|PR_ADDR, rip_input, rip_output, 0, 0, raw_usrreq, 0, 0, 0, 0, 0, 0, 0, },
Last updated November 28, 1997
gated@gated.merit.edu