File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / quagga / solaris / README.txt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:26:11 2012 UTC (12 years, 5 months ago) by misho
Branches: quagga, MAIN
CVS tags: v1_0_20160315, v0_99_22p0, v0_99_22, v0_99_21, v0_99_20_1, v0_99_20, HEAD
quagga

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>