README.txt 6.8 KB

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