2 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
4 This file is part of Quagga.
6 Quagga is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 Quagga is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with Quagga; see the file COPYING. If not, write to the Free
18 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
21 Copyright 2007 Sun Microsystems, Inc. All rights reserved.
22 Use is subject to license terms.
24 Copyright 2015 Joyent, Inc.
26 ident "@(#)quagga.xml 1.0 05/03/15 SMI"
29 <service_bundle type='manifest' name='SUNWquagga-daemons:quagga'>
32 name='network/routing/zebra'
37 <instance name='quagga' enabled='false'>
40 grouping='require_all'
44 value='svc:/system/filesystem/usr:default' />
47 <dependency name='net'
48 grouping='require_all'
51 <service_fmri value='svc:/network/initial' />
54 <!-- do not not run unless routing-setup has run -->
56 name='network_routing_setup'
57 grouping='require_all'
60 <service_fmri value='svc:/network/routing-setup' />
66 exec='/lib/svc/method/quagga zebra'
70 user='root' group='root'/>
81 <!-- if we define these properties at the service level, each
82 instance inherits them, and it can override with
85 <property_group name='startd'
87 <!-- sub-process core dumps shouldn't restart session -->
88 <propval name='ignore_error'
89 type='astring' value='core,signal' />
92 <!-- Properties in this group are used by routeadm (1M) -->
93 <property_group name='routeadm' type='application'>
94 <stability value='Unstable' />
95 <!-- Identifies service as a routing service -->
96 <propval name='daemon' type='astring'
97 value='@sbindir@/zebra' />
98 <propval name='value_authorization' type='astring'
99 value='solaris.smf.value.routing' />
100 <!-- zebra should not contribute to ipv4/ipv6 routing state -->
101 <propval name='protocol' type='astring' value='zebra' />
104 <!-- Properties in this group are modifiable via routeadm (1M) -->
105 <property_group name='routing' type='application'>
106 <stability value='Evolving' />
107 <propval name='value_authorization' type='astring'
108 value='solaris.smf.value.routing' />
110 <!-- Options common to Quagga daemons
111 Property names are equivalent to the long
112 option name, consult Quagga documentation -->
113 <!-- The config file to use, if not the default -->
114 <propval name='config_file' type='astring' value=''/>
115 <!-- The vty_port to listen on if not the default.
117 <propval name='vty_port' type='integer' value='0' />
118 <!-- The address to bind the VTY interface to, if not any. -->
119 <propval name='vty_address' type='astring' value='' />
120 <!-- The user to switch to after startup, if not the default -->
121 <propval name='user' type='astring' value='' />
122 <!-- The group to switch to, if not the default.
123 If user is specified, this defaults to a group with
124 same name as user -->
125 <propval name='group' type='astring' value='' />
126 <!-- The pidfile to use, if not the default of
127 @quagga_statedir@ -->
128 <propval name='pid_file' type='astring' value='' />
130 <!-- Options specific to zebra -->
131 <propval name='batch' type='boolean' value='false' />
134 <property_group name='general' type='framework'>
135 <!-- to start stop routing services -->
136 <propval name='action_authorization' type='astring'
137 value='solaris.smf.manage.routing' />
138 <propval name='value_authorization' type='astring'
139 value='solaris.smf.manage.routing' />
144 <loctext xml:lang='C'>
145 Quagga: zebra, RIB, kernel intermediary and misc daemon
149 <manpage title='zebra' section='1M'
150 manpath='@mandir@' />
151 <doc_link name='quagga.net'
152 uri='http://www.quagga.net/' />
156 <stability value='Unstable' />
160 name='network/routing/rip'
164 <instance name='quagga' enabled='false'>
166 <dependency name='fs'
167 grouping='require_all'
171 value='svc:/system/filesystem/usr:default' />
175 name='ipv4-forwarding'
176 grouping='optional_all'
179 <service_fmri value='svc:/network/ipv4-forwarding' />
182 <!-- do not not run unless routing-setup has run -->
184 name='network_routing_setup'
185 grouping='require_all'
188 <service_fmri value='svc:/network/routing-setup' />
191 <!-- ensure that restart of zebra is propogated to daemon -->
194 grouping='require_all'
197 <service_fmri value='svc:/network/routing/zebra:quagga' />
203 exec='/lib/svc/method/quagga ripd'
204 timeout_seconds='60'>
207 user='root' group='root'/>
215 timeout_seconds='60'>
218 <property_group name='startd'
220 <!-- sub-process core dumps shouldn't restart session -->
221 <propval name='ignore_error'
222 type='astring' value='core,signal' />
225 <!-- Properties in this group are used by routeadm (1M) -->
226 <property_group name='routeadm' type='application'>
227 <stability value='Unstable' />
228 <!-- Identifies service as a routing service -->
229 <propval name='daemon' type='astring'
230 value='@sbindir@/ripd' />
231 <propval name='legacy-daemon' type='astring'
232 value='/usr/sfw/sbin/ripdstart' />
233 <propval name='value_authorization' type='astring'
234 value='solaris.smf.value.routing' />
235 <propval name='protocol' type='astring' value='ipv4' />
238 <!-- Properties in this group are modifiable via routeadm (1M) -->
239 <property_group name='routing' type='application'>
240 <propval name='value_authorization' type='astring'
241 value='solaris.smf.value.routing' />
243 <!-- Options common to Quagga daemons -->
244 <!-- The config file to use, if not the default -->
245 <propval name='config_file' type='astring' value=''/>
246 <!-- The vty_port to listen on if not the default.
248 <propval name='vty_port' type='integer' value='0' />
249 <!-- The address to bind the VTY interface to, if not any. -->
250 <propval name='vty_address' type='astring' value='' />
251 <!-- The user to switch to after startup, if not the default -->
252 <propval name='user' type='astring' value='' />
253 <!-- The group to switch to, if not the default.
254 If user is specified, this defaults to a group with
255 same name as user -->
256 <propval name='group' type='astring' value='' />
257 <!-- The pidfile to use, if not the default of
258 @quagga_statedir@ -->
259 <propval name='pid_file' type='astring' value='' />
261 <!-- Options specific to ripd -->
262 <propval name='retain' type='boolean' value='false' />
265 <property_group name='general' type='framework'>
266 <!-- to start stop routing services -->
267 <propval name='action_authorization' type='astring'
268 value='solaris.smf.manage.routing' />
269 <propval name='value_authorization' type='astring'
270 value='solaris.smf.manage.routing' />
275 <loctext xml:lang='C'>
276 Quagga: ripd, RIPv1/2 IPv4 routing protocol daemon.
280 <manpage title='ripd' section='1M'
281 manpath='@mandir@' />
282 <doc_link name='quagga.net'
283 uri='http://www.quagga.net/' />
287 <stability value='Unstable' />
291 name='network/routing/ripng'
295 <instance name='quagga' enabled='false'>
297 <dependency name='fs'
298 grouping='require_all'
302 value='svc:/system/filesystem/usr:default' />
306 name='ipv6-forwarding'
307 grouping='optional_all'
310 <service_fmri value='svc:/network/ipv6-forwarding' />
313 <!-- do not not run unless routing-setup has run -->
315 name='network_routing_setup'
316 grouping='require_all'
319 <service_fmri value='svc:/network/routing-setup' />
322 <!-- ensure that restart of zebra is propogated to daemon -->
325 grouping='require_all'
328 <service_fmri value='svc:/network/routing/zebra:quagga' />
334 exec='/lib/svc/method/quagga ripngd'
335 timeout_seconds='60'>
338 user='root' group='root'/>
346 timeout_seconds='60' >
349 <property_group name='startd'
351 <!-- sub-process core dumps shouldn't restart session -->
352 <propval name='ignore_error'
353 type='astring' value='core,signal' />
356 <!-- Properties in this group are used by routeadm (1M) -->
357 <property_group name='routeadm' type='application'>
358 <stability value='Unstable' />
359 <!-- Identifies service as a routing service -->
360 <propval name='daemon' type='astring'
361 value='@sbindir@/ripngd' />
362 <propval name='value_authorization' type='astring'
363 value='solaris.smf.value.routing' />
364 <propval name='protocol' type='astring' value='ipv6'/>
367 <!-- Properties in this group are modifiable via routeadm (1M) -->
368 <property_group name='routing' type='application'>
369 <propval name='value_authorization' type='astring'
370 value='solaris.smf.value.routing' />
372 <!-- Options common to Quagga daemons -->
373 <!-- The config file to use, if not the default -->
374 <propval name='config_file' type='astring' value=''/>
375 <!-- The vty_port to listen on if not the default.
377 <propval name='vty_port' type='integer' value='0' />
378 <!-- The address to bind the VTY interface to, if not any. -->
379 <propval name='vty_address' type='astring' value='' />
380 <!-- The user to switch to after startup, if not the default -->
381 <propval name='user' type='astring' value='' />
382 <!-- The group to switch to, if not the default.
383 If user is specified, this defaults to a group with
384 same name as user -->
385 <propval name='group' type='astring' value='' />
386 <!-- The pidfile to use, if not the default of
387 @quagga_statedir@ -->
388 <propval name='pid_file' type='astring' value='' />
390 <!-- Options specific to ripngd -->
391 <propval name='retain' type='boolean' value='false' />
394 <property_group name='general' type='framework'>
395 <!-- to start stop routing services -->
396 <propval name='action_authorization' type='astring'
397 value='solaris.smf.manage.routing' />
398 <propval name='value_authorization' type='astring'
399 value='solaris.smf.manage.routing' />
404 <loctext xml:lang='C'>
405 Quagga: ripngd, RIPng IPv6 routing protocol daemon.
409 <manpage title='ripngd' section='1M'
410 manpath='@mandir@' />
411 <doc_link name='quagga.net'
412 uri='http://www.quagga.net/' />
416 <stability value='Unstable' />
420 name='network/routing/ospf'
424 <instance name='quagga' enabled='false'>
426 <dependency name='fs'
427 grouping='require_all'
431 value='svc:/system/filesystem/usr:default' />
435 name='ipv4-forwarding'
436 grouping='optional_all'
439 <service_fmri value='svc:/network/ipv4-forwarding' />
442 <!-- do not not run unless routing-setup has run -->
444 name='network_routing_setup'
445 grouping='require_all'
448 <service_fmri value='svc:/network/routing-setup' />
451 <!-- ensure that restart of zebra is propogated to daemon -->
454 grouping='require_all'
457 <service_fmri value='svc:/network/routing/zebra:quagga' />
463 exec='/lib/svc/method/quagga ospfd'
464 timeout_seconds='60'>
467 user='root' group='root'/>
471 <!-- ospfd can take a long time to shutdown, due to graceful
478 timeout_seconds='600'>
481 <property_group name='startd'
483 <!-- sub-process core dumps shouldn't restart session -->
484 <propval name='ignore_error'
485 type='astring' value='core,signal' />
488 <!-- Properties in this group are used by routeadm (1M) -->
489 <property_group name='routeadm' type='application'>
490 <stability value='Unstable' />
491 <!-- Identifies service as a routing service -->
492 <propval name='daemon' type='astring'
493 value='@sbindir@/ospfd' />
494 <propval name='legacy-daemon' type='astring'
495 value='/usr/sfw/sbin/ospfdstart' />
496 <propval name='value_authorization' type='astring'
497 value='solaris.smf.value.routing' />
498 <propval name='protocol' type='astring' value='ipv4'/>
501 <!-- Properties in this group are modifiable via routeadm (1M) -->
502 <property_group name='routing' type='application'>
503 <propval name='value_authorization' type='astring'
504 value='solaris.smf.value.routing' />
506 <!-- Options common to Quagga daemons -->
507 <!-- The config file to use, if not the default -->
508 <propval name='config_file' type='astring' value=''/>
509 <!-- The vty_port to listen on if not the default.
511 <propval name='vty_port' type='integer' value='0' />
512 <!-- The address to bind the VTY interface to, if not any. -->
513 <propval name='vty_address' type='astring' value='' />
514 <!-- The user to switch to after startup, if not the default -->
515 <propval name='user' type='astring' value='' />
516 <!-- The group to switch to, if not the default.
517 If user is specified, this defaults to a group with
518 same name as user -->
519 <propval name='group' type='astring' value='' />
520 <!-- The pidfile to use, if not the default of
521 @quagga_statedir@ -->
522 <propval name='pid_file' type='astring' value='' />
525 <property_group name='general' type='framework'>
526 <!-- to start stop routing services -->
527 <propval name='action_authorization' type='astring'
528 value='solaris.smf.manage.routing' />
529 <propval name='value_authorization' type='astring'
530 value='solaris.smf.manage.routing' />
535 <loctext xml:lang='C'>
536 Quagga: ospfd, OSPFv2 IPv4 routing protocol daemon.
540 <manpage title='ospfd' section='1M'
541 manpath='@mandir@' />
542 <doc_link name='quagga.net'
543 uri='http://www.quagga.net/' />
547 <stability value='Unstable' />
551 name='network/routing/ospf6'
555 <instance name='quagga' enabled='false'>
557 <dependency name='fs'
558 grouping='require_all'
562 value='svc:/system/filesystem/usr:default' />
566 name='ipv6-forwarding'
567 grouping='optional_all'
570 <service_fmri value='svc:/network/ipv6-forwarding' />
573 <!-- do not not run unless routing-setup has run -->
575 name='network_routing_setup'
576 grouping='require_all'
579 <service_fmri value='svc:/network/routing-setup' />
582 <!-- ensure that restart of zebra is propogated to daemon -->
585 grouping='require_all'
588 <service_fmri value='svc:/network/routing/zebra:quagga' />
594 exec='/lib/svc/method/quagga ospf6d'
595 timeout_seconds='60'>
598 user='root' group='root'/>
606 timeout_seconds='60'>
609 <property_group name='startd'
611 <!-- sub-process core dumps shouldn't restart session -->
612 <propval name='ignore_error'
613 type='astring' value='core,signal' />
616 <!-- Properties in this group are used by routeadm (1M) -->
617 <property_group name='routeadm' type='application'>
618 <stability value='Unstable' />
619 <!-- Identifies service as a routing service -->
620 <propval name='daemon' type='astring'
621 value='@sbindir@/ospf6d' />
622 <propval name='value_authorization' type='astring'
623 value='solaris.smf.value.routing' />
624 <propval name='protocol' type='astring' value='ipv6'/>
627 <!-- Properties in this group are modifiable via routeadm (1M) -->
628 <property_group name='routing' type='application'>
629 <propval name='value_authorization' type='astring'
630 value='solaris.smf.value.routing' />
632 <!-- Options common to Quagga daemons -->
633 <!-- The config file to use, if not the default -->
634 <propval name='config_file' type='astring' value=''/>
635 <!-- The vty_port to listen on if not the default.
637 <propval name='vty_port' type='integer' value='0' />
638 <!-- The address to bind the VTY interface to, if not any. -->
639 <propval name='vty_address' type='astring' value='' />
640 <!-- The user to switch to after startup, if not the default -->
641 <propval name='user' type='astring' value='' />
642 <!-- The group to switch to, if not the default.
643 If user is specified, this defaults to a group with
644 same name as user -->
645 <propval name='group' type='astring' value='' />
646 <!-- The pidfile to use, if not the default of
647 @quagga_statedir@ -->
648 <propval name='pid_file' type='astring' value='' />
651 <property_group name='general' type='framework'>
652 <!-- to start stop routing services -->
653 <propval name='action_authorization' type='astring'
654 value='solaris.smf.manage.routing' />
655 <propval name='value_authorization' type='astring'
656 value='solaris.smf.manage.routing' />
661 <loctext xml:lang='C'>
662 Quagga: ospf6d, OSPFv3 IPv6 routing protocol daemon.
666 <manpage title='ospf6d' section='1M'
667 manpath='@mandir@' />
668 <doc_link name='quagga.net'
669 uri='http://www.quagga.net/' />
673 <stability value='Unstable' />
678 name='network/routing/bgp'
682 <instance name='quagga' enabled='false'>
684 <dependency name='fs'
685 grouping='require_all'
689 value='svc:/system/filesystem/usr:default' />
693 name='ipv6-forwarding'
694 grouping='optional_all'
697 <service_fmri value='svc:/network/ipv6-forwarding' />
701 name='ipv4-forwarding'
702 grouping='optional_all'
705 <service_fmri value='svc:/network/ipv4-forwarding' />
708 <!-- do not not run unless routing-setup has run -->
710 name='network_routing_setup'
711 grouping='require_all'
714 <service_fmri value='svc:/network/routing-setup' />
717 <!-- ensure that restart of zebra is propogated to daemon -->
720 grouping='require_all'
723 <service_fmri value='svc:/network/routing/zebra:quagga' />
729 exec='/lib/svc/method/quagga bgpd'
730 timeout_seconds='60'>
733 user='root' group='root'/>
741 timeout_seconds='60' >
744 <property_group name='startd'
746 <!-- sub-process core dumps shouldn't restart session -->
747 <propval name='ignore_error'
748 type='astring' value='core,signal' />
751 <!-- Properties in this group are used by routeadm (1M) -->
752 <property_group name='routeadm' type='application'>
753 <stability value='Unstable' />
754 <!-- Identifies service as a routing service -->
755 <propval name='daemon' type='astring'
756 value='@sbindir@/bgpd' />
757 <propval name='legacy-daemon' type='astring'
758 value='/usr/sfw/sbin/bgpdstart' />
759 <propval name='value_authorization' type='astring'
760 value='solaris.smf.value.routing' />
761 <property name='protocol' type='astring'>
763 <value_node value='ipv4'/>
764 <value_node value='ipv6'/>
769 <!-- Properties in this group are modifiable via routeadm (1M) -->
770 <property_group name='routing' type='application'>
771 <propval name='value_authorization' type='astring'
772 value='solaris.smf.value.routing' />
774 <!-- Options common to Quagga daemons. -->
775 <!-- The config file to use, if not the default -->
776 <propval name='config_file' type='astring' value=''/>
777 <!-- The vty_port to listen on if not the default.
779 <propval name='vty_port' type='integer' value='0' />
780 <!-- The address to bind the VTY interface to, if not any. -->
781 <propval name='vty_address' type='astring' value='' />
782 <!-- The user to switch to after startup, if not the default -->
783 <propval name='user' type='astring' value='' />
784 <!-- The group to switch to, if not the default.
785 If user is specified, this defaults to a group with
786 same name as user -->
787 <propval name='group' type='astring' value='' />
788 <!-- The pidfile to use, if not the default of
789 @quagga_statedir@ -->
790 <propval name='pid_file' type='astring' value='' />
792 <!-- Options specific to bgpd -->
793 <propval name='retain' type='boolean' value='false' />
794 <propval name='no_kernel' type='boolean' value='false' />
795 <propval name='bgp_port' type='astring' value='' />
798 If enable_zebra is false, it will not be switched
799 on by the start method.
801 <propval name='enable_zebra' type='boolean' value='true' />
804 <property_group name='general' type='framework'>
805 <!-- to start stop routing services -->
806 <propval name='action_authorization' type='astring'
807 value='solaris.smf.manage.routing' />
808 <propval name='value_authorization' type='astring'
809 value='solaris.smf.manage.routing' />
814 <loctext xml:lang='C'>
815 Quagga: bgpd, BGP routing protocol daemon.
819 <manpage title='bgpd' section='1M'
820 manpath='@mandir@' />
821 <doc_link name='quagga.net'
822 uri='http://www.quagga.net/' />
826 <stability value='Unstable' />