2005-06-15 Paul Jakma <paul.jakma@sun.com>
* README.txt: updated to match changed SMF manifest and
its changed service, instance and property group names.
diff --git a/solaris/ChangeLog b/solaris/ChangeLog
index ab0c618..17f516f 100644
--- a/solaris/ChangeLog
+++ b/solaris/ChangeLog
@@ -17,6 +17,8 @@
/var/run/ is on tmpfs on Solaris, so we probably will need
to create @quagga_statedir@ first run after boot.
Use @sbindir@, not /usr/local/sbin.
+ * README.txt: updated to match changed SMF manifest and
+ its changed service, instance and property group names.
2005-06-02 Paul Jakma <paul.jakma@sun.com>
diff --git a/solaris/README.txt b/solaris/README.txt
index 86295e0..6dde594 100644
--- a/solaris/README.txt
+++ b/solaris/README.txt
@@ -32,12 +32,12 @@
2. make install in the top-level build directory, it's a good idea to make
use of DESTDIR to install to an alternate root, eg:
- make DESTDIR=/var/tmp/qroot install
+ gmake DESTDIR=/var/tmp/qroot install
3. In this directory, run make packages, specifying DESTDIR if appropriate,
eg:
- make DESTDIR=/var/tmp/qroot packages
+ gmake DESTDIR=/var/tmp/qroot packages
This should result in 4 packages being created:
@@ -45,8 +45,10 @@
quagga-daemons-...-$ARCH.pkg - QUAGGAdaemons
quagga-doc-...-$ARCH.pkg - QUAGGAdoc
quagga-dev-...-$ARCH.pkg - QUAGGAdev
+ quagga-smf-...-$ARCH.pkg - QUAGGAsmf
-QUAGGAlibs and QUAGGAdaemons are needed for daemon runtime.
+QUAGGAlibs and QUAGGAdaemons are needed for daemon runtime. QUAGGAsmf
+provides the required bits for Solaris 10+ SMF support.
Install and post-install configuration notes:
@@ -67,40 +69,115 @@
other user should have read permissions, and you would also have to enable
the telnet interface (see below).
-- Configuration of common options are by way of SMF properties named Quagga,
- the defaults should be inline with how you configured Quagga in Step 1
- above, eg:
+- SMF notes:
- Quagga/config_file astring /usr/local/quagga/etc/zebra.conf
- Quagga/daemon_name astring zebra
- Quagga/group astring quagga
- Quagga/pid_file astring /var/run/quagga/zebra.pid
- Quagga/stability astring Evolving
- Quagga/user astring quagga
- Quagga/vty_addr astring 127.1
- Quagga/vty_port integer 0
+ - QUAGGAsmf installs a svc:/network/routing/quagga service, with an
+ instance for each daemon
+
+ - The state of all instances of quagga service can be inspected with:
+
+ svcs -l svc:/network/routing/quagga
+
+ or typically just with a shortcut of 'quagga':
+
+ svcs -l quagga
+
+ - A specific instance of the quagga service can be inspected by specifying
+ the daemon name as the instance, ie quagga:<daemon>:
+
+ svcs -l svc:/network/routing/quagga:zebra
+ svcs -l svc:/network/routing/quagga:ospfd
+ <etc>
- Note that by default the telnet 'vty' interface is disabled -
- Quagga/vty_port is set to 0. Other daemon-specific options may be
- available, however they are not yet honoured/used (eg ospfd/apiserver on
- svc:/network/ospf).
+ or typically just with the shortcut of 'quagga:<daemon>' or even
+ <daemon>:
+
+ svcs -l quagga:zebra
+ svcs -l ospfd
+
+ Eg:
+
+ # # svcs -l ripd
+ fmri svc:/network/routing/quagga:ripd
+ name Quagga: ripd, RIPv1/2 IPv4 routing protocol daemon.
+ enabled true
+ state online
+ next_state none
+ state_time Wed Jun 15 16:21:02 2005
+ logfile /var/svc/log/network-routing-quagga:ripd.log
+ restarter svc:/system/svc/restarter:default
+ contract_id 93
+ dependency require_all/restart svc:/network/routing/quagga:zebra (online)
+ dependency require_all/restart file://localhost//usr/local/quagga/etc/ripd.conf (online)
+ dependency require_all/none svc:/system/filesystem/usr:default (online)
+ dependency require_all/none svc:/network/loopback (online)
- You can change these properties with the 'svccfg' SMF utility, eg:
+ - Configuration of startup options is by way of SMF properties in a
+ property group named 'quagga'. The defaults should automatically be
+ inline with how you configured Quagga in Step 1 above.
+
+ - By default the VTY interface is disabled. To change this, see below for
+ how to set the 'quagga/vty_port' property as appropriate for
+ /each/ service. Also, the VTY is set to listen only to localhost by
+ default, you may change the 'quagga/vty_addr' property as appropriate
+ for both of the 'quagga' service and specific individual instances of
+ the 'quagga' service (ie quagga:zebra, quagga:ospfd, etc..).
+
+ - Properties belonging to the 'quagga' service are inherited by all
+ instances. Eg:
+
+ # svcprop -p quagga svc:/network/routing/quagga
+ quagga/group astring root
+ quagga/retain boolean false
+ quagga/user astring root
+ quagga/vty_addr astring 127.1
+ quagga/vty_port integer 0
+
+ # svcprop -p quagga svc:/network/routing/quagga:ospfd
+ quagga/retain_routes boolean false
+ quagga/group astring root
+ quagga/retain boolean false
+ quagga/user astring root
+ quagga/vty_addr astring 127.1
+ quagga/vty_port integer 0
+
+ All instances will inherit these properties, unless the instance itself
+ overrides these defaults. This also implies one can modify properties of
+ the 'quagga' service and have them apply to all daemons.
+
+ # svccfg -s svc:/network/routing/quagga \
+ setprop quagga/vty_addr = astring: ::1
+
+ # svcprop -p quagga svc:/network/routing/quagga
+ quagga/group astring root
+ quagga/retain boolean false
+ quagga/user astring root
+ quagga/vty_port integer 0
+ quagga/vty_addr astring ::1
+
+ # # You *must* refresh instances to have the property change
+ # # take affect for the 'running snapshot' of service state.
+ # svcadm refresh quagga:ospfd
+
+ # svcprop -p quagga svc:/network/routing/quagga:ospfd
+ quagga/retain_routes boolean false
+ quagga/group astring root
+ quagga/retain boolean false
+ quagga/user astring root
+ quagga/vty_port integer 0
+ quagga/vty_addr astring ::1
+
+ Other daemon-specific options/properties may be available, however they
+ are not yet honoured/used (eg ospfd/apiserver on svc:/network/ospf).
- # svccfg
- svc:> select svc:/network/zebra
- svc:/network/zebra> listprop Quagga/vty_port
- Quagga/vty_port integer 0
- svc:/network/zebra> setprop Quagga/vty_port = 2601
- svc:/network/zebra> listprop Quagga/vty_port
- Quagga/vty_port integer 2601
- svc:/network/zebra> quit
- # svcprop -p Quagga/vty_port network/zebra
- 2601
-
- As SMF is dependency aware, restarting network/zebra will restart all the
- other daemons.
-
+ - As SMF is dependency aware, restarting network/zebra will restart all the
+ other daemons.
+
+ - To upgrade from one set of Quagga packages to a newer release, one must
+ first pkgrm the installed packages. When one pkgrm's QUAGGAsmf all
+ property configuration will be lost, and any customisations will have to
+ redone after installing the updated QUAGGAsmf package.
+
- These packages are not supported by Sun Microsystems, report bugs via the
usual Quagga channels, ie Bugzilla. Improvements/contributions of course
would be greatly appreciated.