Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
Quagga is an advanced routing software package that provides a suite of TCP/IP based routing protocols.
Quagga supports protocols such as RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4, and BGP-4+. This document is provided for informational purposes to help users configure quagga under Solaris specifically. Further documentation on quagga configuration in general is provided at http://www.quagga.net.
Quagga consists of the following package:
system/network/routing/quagga - Quagga root files
More detailed Quagga documentation is available from http://www.quagga.net/docs, or in the GNU Info format Quagga documentation installed in /usr/share/info.
In Solaris, quagga daemons are managed by the following smf(7) services:
svc:/network/routing/zebra:quagga zebra routing manager daemon
svc:/network/routing/rip:quagga RIPv2 routing daemon
svc:/network/routing/ripng:quagga RIPng routing daemon
svc:/network/routing/bgp:quagga BGP routing daemon
svc:/network/routing/ospf:quagga OSPF routing daemon
svc:/network/routing/ospf6:quagga OSPF6 routing daemon
Quagga daemons can be configured either via the smf(7) framework, or via routeadm(8), the global dynamic routing management utility.
Note that quagga was built without the vtysh (unified vty shell) utility, as it depends on a package not currently distributed with Solaris.
By default, in.routed and in.ripngd, managed by the svc:/network/routing/route and svc:/network/routing/ripng services respectively, are configured as default IPv4/IPv6 routing services. To disable these, either utilize routeadm (8) or svcadm (8) as follows:
# routeadm -d route
# routeadm -d ripng:default
disables in.routed and in.ripngd respectively using routeadm (8).
# svcadm disable route:default
# svcadm disable ripng:default
disables in.routed and in.ripngd respectively using smf(7).
Note that these services must be disabled or their quagga counterparts (rip:quagga, ripng:quagga) will not run, since they services specify to the smf framework that they and their quagga counterparts cannot run simultaneously.
To enable quagga services, again either routeadm(8) or svcadm(8) can be used. Note that quagga services, like in.routed and in.ripngd, specify dependencies on ipv4(6)-routing(forwarding) services, so as with all smf(7) services, ensure the appropriate dependencies are enabled or the services will not start.
For example,
# routeadm -e rip:quagga
# routeadm -e ipv4-routing -u
enables quagga's RIPv2 daemon (the -u option above is required, as
global ip routing/forwarding settings are not applied to the system until next reboot
unless the -u is issued).
To do the same via smf(7),
# svcadm enable -r rip:quagga
The "-r" option recursively enables rip:quagga's dependencies, which include
the ipv4-routing service.
The status of all routing daemon services can be displayed via routeadm(8), run without options, or, through smf(7), via the svcs(1) command.
Commandline arguments to the quagga daemons can be altered by modifying the routing/daemon-args property, again either via routeadm(8) or svccfg(8):
# routeadm -m rip:quagga daemon-args="-s"
or
# svccfg -s rip:quagga setprop routing/daemon-args="-s"
# svcadm refresh rip:quagga
The "refresh" is required to ensure the daemon re-reads its configuration.
To see status of all routing services, run routeadm(8) without options.
ripngd(8), isisd(8), ospfd(8), ospf6d(8), bgpd(8), zebra(8), routeadm(8), svcadm(8), svcs(1), svccfg(8), smf(7)