]> git.proxmox.com Git - mirror_frr.git/blob - solaris/README.txt
zebra: Convert socket interface to use `union sockunion`
[mirror_frr.git] / solaris / README.txt
1 To build packages for Solaris 10:
2
3 Requirements:
4 -------------
5
6 - Development environment including gcc (eg as shipped with Solaris 10)
7
8 - The Package tools from Solaris 10 or Solaris Nevada/Express.
9
10 - i.manifest and r.manifest scripts as supplied with Solaris Express
11 in /usr/sadm/install/scripts/ or from OpenSolaris.org:
12
13 http://cvs.opensolaris.org/source/xref/usr/src/pkgdefs/common_files/i.manifest
14 http://cvs.opensolaris.org/source/xref/usr/src/pkgdefs/common_files/r.manifest
15
16 i.manifest must be at least version 1.5. Place these scripts in
17 this directory if you are using Solaris 10 GA (which does not ship with
18 these scripts), or in the solaris/ directory in the FRRouting source.
19
20
21 Package creation instructions:
22 ------------------------------
23
24 1. Configure and build FRRouting (frr) in the top level build directory as per normal, eg:
25
26 ./configure --prefix=/usr/local/frr \
27 --localstatedir=/var/run/frr \
28 --enable-gcc-rdynamic --enable-opaque-lsa --enable-ospf-te \
29 --enable-multipath=64 --enable-user=frr \
30 --enable-ospfclient=yes --enable-ospfapi=yes \
31 --enable-group=frr --enable-nssa --enable-opaque-lsa
32
33 You will need /usr/sfw/bin and /usr/ccs/bin in your path.
34
35 2. make install in the top-level build directory, it's a good idea to make
36 use of DESTDIR to install to an alternate root, eg:
37
38 gmake DESTDIR=/var/tmp/qroot install
39
40 3. In this directory (solaris/), run make packages, specifying DESTDIR if
41 appropriate, eg:
42
43 gmake DESTDIR=/var/tmp/qroot packages
44
45 This should result in 4 packages being created:
46
47 frr-libs-...-$ARCH.pkg - FRRlibs
48 frr-daemons-...-$ARCH.pkg - FRRdaemons
49 frr-doc-...-$ARCH.pkg - FRRdoc
50 frr-dev-...-$ARCH.pkg - FRRdev
51 frr-smf-...-$ARCH.pkg - FRRsmf
52
53 FRRlibs and FRRdaemons are needed for daemon runtime. FRRsmf
54 provides the required bits for Solaris 10+ SMF support.
55
56
57 Install and post-install configuration notes:
58 ---------------------------------------------
59
60 - If you specified a user/group which does not exist per default on Solaris
61 (eg frr/frr) you *must* create these before installing these on a
62 system. The packages do *not* create the users.
63
64 - The configuration files are not created. You must create the configuration
65 file yourself, either with your complete desired configuration, or else if
66 you wish to use the telnet interface for further configuration you must
67 create them containing at least:
68
69 password whatever
70
71 The user which frr runs as must have write permissions on this file, no
72 other user should have read permissions, and you would also have to enable
73 the telnet interface (see below).
74
75 - SMF notes:
76
77 - FRRsmf installs a svc:/network/routing/frr service, with an
78 instance for each daemon
79
80 - The state of all instances of frr service can be inspected with:
81
82 svcs -l svc:/network/routing/frr
83
84 or typically just with a shortcut of 'frr':
85
86 svcs -l frr
87
88 - A specific instance of the frr service can be inspected by specifying
89 the daemon name as the instance, ie frr:<daemon>:
90
91 svcs -l svc:/network/routing/frr:zebra
92 svcs -l svc:/network/routing/frr:ospfd
93 <etc>
94
95 or typically just with the shortcut of 'frr:<daemon>' or even
96 <daemon>:
97
98 svcs -l frr:zebra
99 svcs -l ospfd
100
101 Eg:
102
103 # # svcs -l ripd
104 fmri svc:/network/routing/frr:ripd
105 name FRRouting: ripd, RIPv1/2 IPv4 routing protocol daemon.
106 enabled true
107 state online
108 next_state none
109 state_time Wed Jun 15 16:21:02 2005
110 logfile /var/svc/log/network-routing-frr:ripd.log
111 restarter svc:/system/svc/restarter:default
112 contract_id 93
113 dependency require_all/restart svc:/network/routing/frr:zebra (online)
114 dependency require_all/restart file://localhost//usr/local/frr/etc/ripd.conf (online)
115 dependency require_all/none svc:/system/filesystem/usr:default (online)
116 dependency require_all/none svc:/network/loopback (online)
117
118 - Configuration of startup options is by way of SMF properties in a
119 property group named 'frr'. The defaults should automatically be
120 inline with how you configured FRRouting in Step 1 above.
121
122 - By default the VTY interface is disabled. To change this, see below for
123 how to set the 'frr/vty_port' property as appropriate for
124 /each/ service. Also, the VTY is set to listen only to localhost by
125 default, you may change the 'frr/vty_addr' property as appropriate
126 for both of the 'frr' service and specific individual instances of
127 the 'frr' service (ie frr:zebra, frr:ospfd, etc..).
128
129 - Properties belonging to the 'frr' service are inherited by all
130 instances. Eg:
131
132 # svcprop -p frr svc:/network/routing/frr
133 frr/group astring root
134 frr/retain boolean false
135 frr/user astring root
136 frr/vty_addr astring 127.1
137 frr/vty_port integer 0
138
139 # svcprop -p frr svc:/network/routing/frr:ospfd
140 frr/retain_routes boolean false
141 frr/group astring root
142 frr/retain boolean false
143 frr/user astring root
144 frr/vty_addr astring 127.1
145 frr/vty_port integer 0
146
147 All instances will inherit these properties, unless the instance itself
148 overrides these defaults. This also implies one can modify properties of
149 the 'frr' service and have them apply to all daemons.
150
151 # svccfg -s svc:/network/routing/frr \
152 setprop frr/vty_addr = astring: ::1
153
154 # svcprop -p frr svc:/network/routing/frr
155 frr/group astring root
156 frr/retain boolean false
157 frr/user astring root
158 frr/vty_port integer 0
159 frr/vty_addr astring ::1
160
161 # # You *must* refresh instances to have the property change
162 # # take affect for the 'running snapshot' of service state.
163 # svcadm refresh frr:ospfd
164
165 # svcprop -p frr svc:/network/routing/frr:ospfd
166 frr/retain_routes boolean false
167 frr/group astring root
168 frr/retain boolean false
169 frr/user astring root
170 frr/vty_port integer 0
171 frr/vty_addr astring ::1
172
173 Other daemon-specific options/properties may be available, however they
174 are not yet honoured/used (eg ospfd/apiserver on svc:/network/ospf).
175
176 - As SMF is dependency aware, restarting network/zebra will restart all the
177 other daemons.
178
179 - To upgrade from one set of FRRouting packages to a newer release,
180 one must first pkgrm the installed packages. When one pkgrm's FRRsmf all
181 property configuration will be lost, and any customisations will have to
182 redone after installing the updated FRRsmf package.
183
184 - These packages are not supported by Sun Microsystems, report bugs via the
185 usual FRRouting channels, ie Issue Tracker. Improvements/contributions of course would be greatly appreciated.
186