]> git.proxmox.com Git - mirror_frr.git/blame - solaris/README.txt
zebra: Fixup spaces/tabs issue found by CI in rt_socket.c
[mirror_frr.git] / solaris / README.txt
CommitLineData
8d60e1a9 1To build packages for Solaris 10:
2
3Requirements:
4-------------
5
6- Development environment including gcc (eg as shipped with Solaris 10)
7
7d7d0f38 8- The Package tools from Solaris 10 or Solaris Nevada/Express.
8d60e1a9 9
10- i.manifest and r.manifest scripts as supplied with Solaris Express
7d7d0f38 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
447a8fe9 18 these scripts), or in the solaris/ directory in the FRRouting source.
8d60e1a9 19
20
21Package creation instructions:
22------------------------------
23
447a8fe9 241. Configure and build FRRouting (frr) in the top level build directory as per normal, eg:
8d60e1a9 25
7f8512d9
MW
26 ./configure --prefix=/usr/local/frr \
27 --localstatedir=/var/run/frr \
8d60e1a9 28 --enable-gcc-rdynamic --enable-opaque-lsa --enable-ospf-te \
7f8512d9 29 --enable-multipath=64 --enable-user=frr \
8d60e1a9 30 --enable-ospfclient=yes --enable-ospfapi=yes \
7f8512d9 31 --enable-group=frr --enable-nssa --enable-opaque-lsa
8d60e1a9 32
33You will need /usr/sfw/bin and /usr/ccs/bin in your path.
34
352. make install in the top-level build directory, it's a good idea to make
36use of DESTDIR to install to an alternate root, eg:
37
245a2b29 38 gmake DESTDIR=/var/tmp/qroot install
8d60e1a9 39
7d7d0f38 403. In this directory (solaris/), run make packages, specifying DESTDIR if
41appropriate, eg:
8d60e1a9 42
245a2b29 43 gmake DESTDIR=/var/tmp/qroot packages
8d60e1a9 44
45This should result in 4 packages being created:
46
7f8512d9
MW
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
8d60e1a9 52
7f8512d9 53FRRlibs and FRRdaemons are needed for daemon runtime. FRRsmf
245a2b29 54provides the required bits for Solaris 10+ SMF support.
8d60e1a9 55
56
57Install and post-install configuration notes:
58---------------------------------------------
59
60- If you specified a user/group which does not exist per default on Solaris
7f8512d9 61 (eg frr/frr) you *must* create these before installing these on a
8d60e1a9 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
7f8512d9 71 The user which frr runs as must have write permissions on this file, no
8d60e1a9 72 other user should have read permissions, and you would also have to enable
73 the telnet interface (see below).
74
245a2b29 75- SMF notes:
76
7f8512d9 77 - FRRsmf installs a svc:/network/routing/frr service, with an
245a2b29 78 instance for each daemon
79
7f8512d9 80 - The state of all instances of frr service can be inspected with:
245a2b29 81
7f8512d9 82 svcs -l svc:/network/routing/frr
245a2b29 83
7f8512d9 84 or typically just with a shortcut of 'frr':
245a2b29 85
7f8512d9 86 svcs -l frr
245a2b29 87
7f8512d9
MW
88 - A specific instance of the frr service can be inspected by specifying
89 the daemon name as the instance, ie frr:<daemon>:
245a2b29 90
7f8512d9
MW
91 svcs -l svc:/network/routing/frr:zebra
92 svcs -l svc:/network/routing/frr:ospfd
245a2b29 93 <etc>
94
7f8512d9 95 or typically just with the shortcut of 'frr:<daemon>' or even
245a2b29 96 <daemon>:
97
7f8512d9 98 svcs -l frr:zebra
245a2b29 99 svcs -l ospfd
100
101 Eg:
102
103 # # svcs -l ripd
7f8512d9 104 fmri svc:/network/routing/frr:ripd
447a8fe9 105 name FRRouting: ripd, RIPv1/2 IPv4 routing protocol daemon.
245a2b29 106 enabled true
107 state online
108 next_state none
109 state_time Wed Jun 15 16:21:02 2005
7f8512d9 110 logfile /var/svc/log/network-routing-frr:ripd.log
245a2b29 111 restarter svc:/system/svc/restarter:default
112 contract_id 93
7f8512d9
MW
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)
245a2b29 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
7f8512d9 119 property group named 'frr'. The defaults should automatically be
447a8fe9 120 inline with how you configured FRRouting in Step 1 above.
245a2b29 121
122 - By default the VTY interface is disabled. To change this, see below for
7f8512d9 123 how to set the 'frr/vty_port' property as appropriate for
245a2b29 124 /each/ service. Also, the VTY is set to listen only to localhost by
7f8512d9
MW
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..).
245a2b29 128
7f8512d9 129 - Properties belonging to the 'frr' service are inherited by all
245a2b29 130 instances. Eg:
131
7f8512d9
MW
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
245a2b29 138
7f8512d9
MW
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
245a2b29 146
147 All instances will inherit these properties, unless the instance itself
148 overrides these defaults. This also implies one can modify properties of
7f8512d9 149 the 'frr' service and have them apply to all daemons.
245a2b29 150
7f8512d9
MW
151 # svccfg -s svc:/network/routing/frr \
152 setprop frr/vty_addr = astring: ::1
245a2b29 153
7f8512d9
MW
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
245a2b29 160
161 # # You *must* refresh instances to have the property change
162 # # take affect for the 'running snapshot' of service state.
7f8512d9 163 # svcadm refresh frr:ospfd
245a2b29 164
7f8512d9
MW
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
245a2b29 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
447a8fe9 179 - To upgrade from one set of FRRouting packages to a newer release,
7f8512d9 180 one must first pkgrm the installed packages. When one pkgrm's FRRsmf all
245a2b29 181 property configuration will be lost, and any customisations will have to
7f8512d9 182 redone after installing the updated FRRsmf package.
245a2b29 183
8d60e1a9 184- These packages are not supported by Sun Microsystems, report bugs via the
447a8fe9 185 usual FRRouting channels, ie Issue Tracker. Improvements/contributions of course would be greatly appreciated.
8d60e1a9 186