]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - INSTALL.IRIX
In preparation for the upcoming ipfilter vendor code import,
[FreeBSD/FreeBSD.git] / INSTALL.IRIX
1
2 IP Filter has been mostly tested under IRIX 6.2. It should work under IRIX 6.3
3 as well. Under IRIX 5.3, it has been successfully compiled and linked in the
4 kernel, but not tested. Compilation under IRIX >= 6.4 is not yet supported.
5
6 To build a kernel with the IP filter and install it on your system,
7 follow these steps:
8
9         1. edit the top-level Makefile to
10                 a) comment-out the IPFLKM definition.
11                         This means changing the line reading:
12                                 IPFLKM=-DIPFILTER_LKM
13                         to
14                                 #IPFLKM=-DIPFILTER_LKM
15                 b) select the system's compiler (cc)
16                         This means changing the line reading:
17                                 CC=gcc
18                         to
19                                 CC=cc
20                 b) enable full optimization
21                         This means changing the lines reading:
22                                 DEBUG=-g
23                                 CFLAGS=-I$$(TOP)
24                         to
25                                 DEBUG=
26                                 CFLAGS=-O2 -I$$(TOP)
27
28         1. do "make irix" (Warning: GNU make is not supported, so if it has
29         been installed on your system, verify your path and/or do "which make"
30         to guarantee that IRIX's /sbin/make has precedence)
31
32         2. do "make install-irix" as root
33            (a new kernel will be automatically built)
34
35         3. determine the filtering rules and place them in /etc/ipf.conf
36            and /etc/ipnat.conf
37
38         4. do "init 6" as root to reboot with the new kernel
39
40         After restarting, the filter should be active and behaving according to
41         the rules loaded from /etc/ipf.conf and /etc/ipfnat.conf.
42
43         These files can be changed at any time, and reloaded using the
44         following command sequence:
45
46         # sh /etc/init.d/ipf stop; sh /etc/init.d/ipf start
47
48
49 To remove the IP Filter from your kernel, follow these steps:
50
51         1. Delete the /var/sysgen/boot/ipfilter.o file
52
53         # rm /var/sysgen/boot/ipfilter.o
54
55         2. If SGI's ipfilter.o had been previously installed, restore it
56         back to its original location
57
58         # mv /var/sysgen/boot/ipfilter.o.DIST /var/sysgen/boot/ipfilter.o
59
60         3. Build a new kernel
61
62         # /etc/autoconfig
63
64         4. Delete the /etc/rc2.d/S33ipf symbolic link
65
66         # rm /etc/rc2.d/S33ipf
67
68         5. Reboot
69
70         # init 6
71
72
73 ADDITIONAL NOTES:
74
75         - The IP filter uses the same kernel interface to the IP driver as
76         SGI's ipfilter. In fact, it is installed in place of SGI's
77         /var/sysgen/boot/ipfilter.o module, after renaming it (if installed)
78         to /var/sysgen/boot/ipfilter.o.DIST. You should ensure that SGI's
79         ipfilterd daemon is not running simultaneously, since this package uses
80         the same major device number.
81
82         - We have not tested IP Filter on a multiprocessor machine yet.
83         However, feel free to try it and send your experiences/patches
84         back to marc@CAM.ORG. SGI prescribes that kernel code be built on such
85         systems with -D_MP_NETLOCKS -DMP. Therefore, these flags should
86         probably be uncommented on the DFLAGS line of IRIX/Makefile if your
87         machine has more than one processor.
88
89         - It is also possible to build IP Filter as a dynamically loadable
90         kernel module (by retaining the IPFLKM=-DIPFILTER_LKM definition in the
91         top-level Makefile), but this is not recommended other than for testing
92         and debugging purposes, because the only possible method for dynamic
93         attachment to the IP stack (instruction patching) is highly dependent
94         on the processor architecture. The code provided has only been tested
95         with IP22 CPU boards and can sometime cause panics during loading due
96         to a potential race condition.
97
98
99 CREDITS:
100
101         IP Filter was ported to IRIX by Marc Boucher <marc@CAM.ORG>
102
103         Marc Boucher wishes to thank the
104                 ICARI Institute (http://www.icari.qc.ca)
105         and
106                 Aurelio Cascio <aurelio@toonboom.com>
107         for their financial support and testing facilities, respectively.
108