I'm sponsoring this open exposure fast-track for Jingjing Duan and
myself.  The timer is set to 06/06/2008.

Background

  "Zebra Routing Suite" (PSARC 2004/448) originally added Zebra to
  Solaris, delivering through SFW and /usr/sfw.  This was then
  replaced by Quagga (a Zebra branch) with "SFWQuagga: SFW integration
  of Quagga routing suite" (PSARC 2005/571), which also added SMF
  support via routeadm(1M) in ON, subsequently reworked by "Quagga SMF
  Modifications" (PSARC 2006/552).

  Finally, "Move quagga files from /usr/sfw to /usr" (PSARC 2008/038)
  moved Quagga out of the /usr/sfw swamp.  It still delivers via the
  SFW consolidation.

  In addition to the usual BGP, OSPF, and RIP, the upstream quagga.net
  sources also support IS-IS, an OSI-derived routing protocol, but
  that module runs only on Linux and *BSD, and was not ported to
  Solaris.  It thus was omitted by those previous projects.

This Project

  This project ports Quagga's IS-IS daemon to OpenSolaris.  IS-IS is
  roughly equivalent to OSPF in terms of its operation and usage.
  Although IS-IS does have some slight technical advantages, the main
  reason for integrating it into OpenSolaris is to satisfy the
  administrators who have chosen to deploy it on other systems.  It's
  a compatibility feature.

  IS-IS uses ISO datagrams, and thus requires raw network access.
  Because we're delivering the source upstream to quagga.net, which
  compiles on many older Sun platforms, we use standard DLPIv2 rather
  than the newer OpenSolaris libdlpi convenience library.  We intend
  to support only Ethernet interfaces, as our PPP doesn't include
  OSINLCP, and other link layers don't include OSI bindings.
  Selecting anything other than an Ethernet interface in configuration
  will generate an error message.  (Nothing we're doing prohibits
  supporting those other interfaces at some future time.)  (A future
  project may add socket-level support for non-IP communication.)

  The IS-IS daemon in Quagga computes routes for both IPv4 and IPv6.
  It does not support OSI routing.  (We don't have OSI forwarding, so
  that doesn't matter.)

  Otherwise, this project is trivial in architecture; it follows the
  established Quagga model.  The stability levels here, where they
  conflict with prior cases, are intended to correct errors in those
  cases.  (The ".sample" files are not interfaces; they're
  documentation.  The PID files and related internal paths are
  private, as is the SMF manifest.)

Usage

  Users are expected to configure /etc/quagga/zebra.conf (as usual),
  and then configure /etc/quagga/isisd.conf with the IS-IS instance
  data.  They can then do this to start up IS-IS:

        routeadm -s routing-svcs=isis:quagga -e ipv4-routing -u

  The SMF service itself may also be manipulated by users.  There are
  the usual set of options that can be modified with routeadm for all
  Quagga family daemons, and the service uses the same
  solaris.smf.{manage,value}.routing authorizations as the rest of
  Quagga.

Interfaces Exported

  IS-IS                                 Standard (RFC 1142 / ISO DP 10589)
  /usr/sbin/isisd                       Volatile (command line)
  isisd(8)                              Not-An-Interface (man page)
  isisd 2608/tcp                        Committed (/etc/services entry)
  /etc/quagga/isisd.conf                Uncommitted (protocol configuration)
  /etc/quagga/isisd.conf.sample         Not-An-Interface
  /etc/quagga/README.Solaris            Not-An-Interface
  /var/run/isisd.pid                    Project Private
  /var/run/isisd.vty                    Project Private
  quaggaadm [-e] isisd                  Committed (new option)
  zebra protocol                        Project Private (internal IPC)
  /var/svc/manifest/network/routing/quagga.xml
                                        Project Private (modified)
  /lib/svc/method/quagga                Project Private (modified)
  SUNWsfman                             Volatile (man page delivery)
  SUNWquaggar                           Uncommitted
  SUNWquaggau                           Uncommitted
  svc:/network/routing/isis:quagga      Committed
  config_file, vty_port, vty_address,   Committed (service config)
    user, group, pid_file


-- 
James Carlson, Solaris Networking              <james.d.carlson at sun.com>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677

Reply via email to