Brian Utterback 343074aacf solaris: Fix quagga.init.in shell errors 2 years ago
..
.gitignore 5515de330c [administrivia] Update gitignore files 10 years ago
Makefile.am b82cdeb18f delete CVS keywords 7 years ago
README.txt 7d7d0f3848 2005-08-16 Paul Jakma <paul.jakma@sun.com> 13 years ago
depend.daemons.in e24f0638e6 [solaris] version depend files, auto-generate. Start zebra when needed. 13 years ago
depend.dev.in e24f0638e6 [solaris] version depend files, auto-generate. Start zebra when needed. 13 years ago
depend.doc.in e24f0638e6 [solaris] version depend files, auto-generate. Start zebra when needed. 13 years ago
depend.libs.in e24f0638e6 [solaris] version depend files, auto-generate. Start zebra when needed. 13 years ago
depend.smf.in 75db03ebb1 [solaris] SMF manifest, method and depend updates. 13 years ago
pkginfo.daemons.tmpl.in 1b414a1700 2005-04-11 Paul Jakma <paul.jakma@sun.com> 14 years ago
pkginfo.dev.tmpl.in 1b414a1700 2005-04-11 Paul Jakma <paul.jakma@sun.com> 14 years ago
pkginfo.doc.tmpl.in 1b414a1700 2005-04-11 Paul Jakma <paul.jakma@sun.com> 14 years ago
pkginfo.libs.tmpl.in 1b414a1700 2005-04-11 Paul Jakma <paul.jakma@sun.com> 14 years ago
pkginfo.smf.tmpl.in 65c1cafd3a 2005-05-13 Paul Jakma <paul.jakma@sun.com> 13 years ago
pkginfo.tmpl.in 1b414a1700 2005-04-11 Paul Jakma <paul.jakma@sun.com> 14 years ago
prototype.daemons.in 65c1cafd3a 2005-05-13 Paul Jakma <paul.jakma@sun.com> 13 years ago
prototype.dev.in e832203d8e 2005-11-04 Paul Jakma <paul.jakma@sun.com> 13 years ago
prototype.doc.in 0f3b199a01 2005-05-13 Paul Jakma <paul.jakma@sun.com> 13 years ago
prototype.libs.in 1b414a1700 2005-04-11 Paul Jakma <paul.jakma@sun.com> 14 years ago
prototype.smf.in b5b628c1fa [solaris] revert previous update of manifest install path 13 years ago
quagga.init.in 343074aacf solaris: Fix quagga.init.in shell errors 2 years ago
quagga.xml.in 75a3cf6cf6 solaris: fix SMF manifest dependency model and start method 4 years ago

README.txt

To build packages for Solaris 10:

Requirements:
-------------

- Development environment including gcc (eg as shipped with Solaris 10)

- The Package tools from Solaris 10 or Solaris Nevada/Express.

- i.manifest and r.manifest scripts as supplied with Solaris Express
in /usr/sadm/install/scripts/ or from OpenSolaris.org:

http://cvs.opensolaris.org/source/xref/usr/src/pkgdefs/common_files/i.manifest
http://cvs.opensolaris.org/source/xref/usr/src/pkgdefs/common_files/r.manifest

i.manifest must be at least version 1.5. Place these scripts in
this directory if you are using Solaris 10 GA (which does not ship with
these scripts), or in the solaris/ directory in the Quagga source.


Package creation instructions:
------------------------------

1. Configure and build Quagga in the top level build directory as per
normal, eg:

./configure --prefix=/usr/local/quagga \
--localstatedir=/var/run/quagga
--enable-gcc-rdynamic --enable-opaque-lsa --enable-ospf-te \
--enable-multipath=64 --enable-user=quagga \
--enable-ospfclient=yes --enable-ospfapi=yes \
--enable-group=quagga --enable-nssa --enable-opaque-lsa

You will need /usr/sfw/bin and /usr/ccs/bin in your path.

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:

gmake DESTDIR=/var/tmp/qroot install

3. In this directory (solaris/), run make packages, specifying DESTDIR if
appropriate, eg:

gmake DESTDIR=/var/tmp/qroot packages

This should result in 4 packages being created:

quagga-libs-...-$ARCH.pkg - QUAGGAlibs
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. QUAGGAsmf
provides the required bits for Solaris 10+ SMF support.


Install and post-install configuration notes:
---------------------------------------------

- If you specified a user/group which does not exist per default on Solaris
(eg quagga/quagga) you *must* create these before installing these on a
system. The packages do *not* create the users.

- The configuration files are not created. You must create the configuration
file yourself, either with your complete desired configuration, or else if
you wish to use the telnet interface for further configuration you must
create them containing at least:

password whatever

The user which quagga runs as must have write permissions on this file, no
other user should have read permissions, and you would also have to enable
the telnet interface (see below).

- SMF notes:

- 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::

svcs -l svc:/network/routing/quagga:zebra
svcs -l svc:/network/routing/quagga:ospfd


or typically just with the shortcut of 'quagga:' or even
:

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)

- 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).

- 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.