1 <?xml version="1.0"?>
   2 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
   3 <!--
   4  Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
   5  Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
   6  Copyright 2019 Joyent, Inc.
   7 
   8  CDDL HEADER START
   9 
  10  The contents of this file are subject to the terms of the
  11  Common Development and Distribution License (the "License").
  12  You may not use this file except in compliance with the License.
  13 
  14  You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  15  or http://www.opensolaris.org/os/licensing.
  16  See the License for the specific language governing permissions
  17  and limitations under the License.
  18 
  19  When distributing Covered Code, include this CDDL HEADER in each
  20  file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  21  If applicable, add the following below this CDDL HEADER, with the
  22  fields enclosed by brackets "[]" replaced with your own identifying
  23  information: Portions Copyright [yyyy] [name of copyright owner]
  24 
  25  CDDL HEADER END
  26 
  27         NOTE:  This service manifest is not editable; its contents will
  28         be overwritten by package or patch operations, including
  29         operating system upgrade.  Make customizations in a different
  30         file.
  31 -->
  32 
  33 <service_bundle type='manifest' name='SUNWcsr:global'>
  34 
  35 <service
  36         name='system/svc/global'
  37         type='service'
  38         version='1'>
  39 
  40         <!--
  41             There's no running configuration to manage here.  However,
  42             this service stores the system-wide definitions for
  43             templates.
  44         -->
  45 
  46         <create_default_instance enabled='false' />
  47 
  48         <single_instance/>
  49 
  50         <exec_method
  51                 type='method'
  52                 name='start'
  53                 exec=':true'
  54                 timeout_seconds='0' />
  55 
  56         <exec_method
  57                 type='method'
  58                 name='stop'
  59                 exec=':true'
  60                 timeout_seconds='0' />
  61 
  62         <stability value='Unstable' />
  63 
  64         <template>
  65                 <common_name>
  66                         <loctext xml:lang='C'>
  67 system-wide configuration definitions
  68                         </loctext>
  69                 </common_name>
  70                 <documentation>
  71                         <manpage title='smf' section='5'
  72                             manpath='/usr/share/man' />
  73                         <manpage title='smf_template' section='5'
  74                             manpath='/usr/share/man' />
  75                 </documentation>
  76 
  77                 <pg_pattern name='general' type='framework'
  78                     target='all' required='true'>
  79                         <description>
  80                                 <loctext xml:lang='C'>
  81 Basic information about a service instance which is supplied by the service author, sometimes modified by the administrator, and consumed by SMF and the service's restarter.
  82                                 </loctext>
  83                         </description>
  84                         <prop_pattern name='enabled' type='boolean'
  85                             required='true'>
  86                                 <description>
  87                                         <loctext xml:lang='C'>
  88 The service instance is expected to be started once all of its dependencies are satisfied.  If this property is not defined, the restarter will not be notified about this service instance.
  89                                         </loctext>
  90                                 </description>
  91                                 <cardinality min='1' max='1'/>
  92                         </prop_pattern>
  93                         <prop_pattern name='restarter' type='fmri'
  94                             required='false'>
  95                                 <description>
  96                                         <loctext xml:lang='C'>
  97 The restarter responsible for managing this service instance.  If the property is unset, the default restarter, svc.startd, is assumed.
  98                                         </loctext>
  99                                 </description>
 100                                 <cardinality min='1' max='1'/>
 101                         </prop_pattern>
 102                         <prop_pattern name='single_instance' type='boolean'
 103                             required='false'>
 104                                 <description>
 105                                         <loctext xml:lang='C'>
 106 Only one instance of this service may be run.  This behavior is unimplemented, and obsolete.
 107                                         </loctext>
 108                                 </description>
 109                                 <cardinality min='1' max='1'/>
 110                         </prop_pattern>
 111                 </pg_pattern>
 112 
 113                 <pg_pattern type='dependency' target='all' required='false'>
 114                         <description>
 115                                 <loctext xml:lang='C'>
 116 A dependency declares a required condition for a service instance to start or stay running.  It is defined by the service author and consumed by SMF.
 117                                 </loctext>
 118                         </description>
 119                         <prop_pattern name='entities' type='fmri'
 120                             required='true'>
 121                                 <description>
 122                                         <loctext xml:lang='C'>
 123 The services, service instances, or files used to calculate this dependency.
 124                                         </loctext>
 125                                 </description>
 126                                 <cardinality min='1'/>
 127                         </prop_pattern>
 128                         <prop_pattern name='external' type='boolean'>
 129                                 <description>
 130                                         <loctext xml:lang='C'>
 131 This dependency was declared by the service defined in entities.  It will be removed only when that service is deleted.
 132                                         </loctext>
 133                                 </description>
 134                                 <visibility value='readonly'/>
 135                                 <cardinality min='1' max='1'/>
 136                         </prop_pattern>
 137                         <prop_pattern name='grouping' type='astring'
 138                             required='true'>
 139                                 <description>
 140                                         <loctext xml:lang='C'>
 141 How to decide whether this dependency is satisfied.
 142                                         </loctext>
 143                                 </description>
 144                                 <cardinality min='1' max='1'/>
 145                                 <constraints>
 146                                 <value name='require_all'>
 147                                         <description>
 148                                                 <loctext xml:lang='C'>
 149 Satisfied when all cited services are running (online or degraded), or when all indicated files are present.
 150                                                 </loctext>
 151                                         </description>
 152                                 </value>
 153                                 <value name='require_any'>
 154                                         <description>
 155                                                 <loctext xml:lang='C'>
 156 Satisfied when one of the cited services is running (online or degraded), or when at least one of the indicated files is present.
 157                                                 </loctext>
 158                                         </description>
 159                                 </value>
 160                                 <value name='optional_all'>
 161                                         <description>
 162                                                 <loctext xml:lang='C'>
 163 Satisfied if the cited services are running (online or degraded) or will not run without administrative action (disabled, maintenance, not present, or offline waiting for dependencies which will not start without administrative action).
 164 
 165                                                 </loctext>
 166                                         </description>
 167                                 </value>
 168                                 <value name='exclude_all'>
 169                                         <description>
 170                                                 <loctext xml:lang='C'>
 171 Satisfied when all of the cited services are disabled, in the maintenance state, or when cited services or files are not present.
 172                                                 </loctext>
 173                                         </description>
 174                                 </value>
 175                                 </constraints>
 176                                 <choices>
 177                                         <include_values type='constraints'/>
 178                                 </choices>
 179                         </prop_pattern>
 180                         <prop_pattern name='restart_on' type='astring'
 181                             required='true'>
 182                                 <description>
 183                                         <loctext xml:lang='C'>
 184 Determines whether to restart the service due to a dependency refresh, restart, or failure.
 185                                         </loctext>
 186                                 </description>
 187                                 <cardinality min='1' max='1'/>
 188                                 <constraints>
 189                                 <value name='none'>
 190                                         <description>
 191                                                 <loctext xml:lang='C'>
 192 Never restart due to dependency refresh, restart, or failure.
 193                                                 </loctext>
 194                                         </description>
 195                                 </value>
 196                                 <value name='error'>
 197                                         <description>
 198                                                 <loctext xml:lang='C'>
 199 Restart only if the dependency encounters an error, such as an uncorrectable hardware error, or a software error such as a core dump.
 200                                                 </loctext>
 201                                         </description>
 202                                 </value>
 203                                 <value name='restart'>
 204                                         <description>
 205                                                 <loctext xml:lang='C'>
 206 Restart if the dependency encounters an error or is explicitly restarted.
 207                                                 </loctext>
 208                                         </description>
 209                                 </value>
 210                                 <value name='refresh'>
 211                                         <description>
 212                                                 <loctext xml:lang='C'>
 213 Restart if the dependency encounters an error, is explicitly restarted, or explicitly refreshed.
 214                                                 </loctext>
 215                                         </description>
 216                                 </value>
 217                                 </constraints>
 218                                 <choices>
 219                                         <include_values type='constraints'/>
 220                                 </choices>
 221                         </prop_pattern>
 222                         <prop_pattern name='type' type='astring'
 223                             required='true'>
 224                                 <description>
 225                                         <loctext xml:lang='C'>
 226 The type of the dependency: service or file.
 227                                         </loctext>
 228                                 </description>
 229                                 <cardinality min='1' max='1'/>
 230                                 <constraints>
 231                                 <value name='service'>
 232                                         <description>
 233                                                 <loctext xml:lang='C'>
 234 Depend on services or instances.
 235                                                 </loctext>
 236                                         </description>
 237                                 </value>
 238                                 <value name='path'>
 239                                         <description>
 240                                                 <loctext xml:lang='C'>
 241 Depend on the existance of a file path.
 242                                                 </loctext>
 243                                         </description>
 244                                 </value>
 245                                 </constraints>
 246                                 <choices>
 247                                         <include_values type='constraints'/>
 248                                 </choices>
 249                         </prop_pattern>
 250                 </pg_pattern>
 251 
 252                 <pg_pattern type='template_pg_pattern' target='all'
 253                     required='false'>
 254                         <description>
 255                                 <loctext xml:lang='C'>
 256 Template data about property groups.  This information is provided in the manifest by the service author and should not be modified directly.
 257                                 </loctext>
 258                         </description>
 259 
 260                         <prop_pattern name='name' type='astring'
 261                             required='false'>
 262                                 <description>
 263                                         <loctext xml:lang='C'>
 264 Optional name of a property group which is described by this template.  No name means the name is wildcarded.
 265                                         </loctext>
 266                                 </description>
 267                                 <visibility value='hidden'/>
 268                                 <cardinality min='1' max='1'/>
 269                         </prop_pattern>
 270                         <prop_pattern name='type' type='astring'
 271                             required='false'>
 272                                 <description>
 273                                         <loctext xml:lang='C'>
 274 Optional type of property groups which are described by this template.  No type means that the type is wildcarded.
 275                                         </loctext>
 276                                 </description>
 277                                 <visibility value='hidden'/>
 278                                 <cardinality min='1' max='1'/>
 279                         </prop_pattern>
 280                         <prop_pattern name='required' type='boolean'
 281                             required='false'>
 282                                 <description>
 283                                         <loctext xml:lang='C'>
 284 If true, entities without a property group which matches this pattern are considered invalid.
 285                                         </loctext>
 286                                 </description>
 287                                 <visibility value='hidden'/>
 288                                 <cardinality min='1' max='1'/>
 289                         </prop_pattern>
 290                         <prop_pattern name='target' type='astring'
 291                             required='false'>
 292                                 <description>
 293                                         <loctext xml:lang='C'>
 294 The services or service instances to which this template should be applied.
 295                                         </loctext>
 296                                 </description>
 297                                 <visibility value='hidden'/>
 298                                 <cardinality min='1' max='1'/>
 299                                 <constraints>
 300                                 <value name='this'>
 301                                         <description>
 302                                                 <loctext xml:lang='C'>
 303 The service or instance on which the property group resides.
 304                                                 </loctext>
 305                                         </description>
 306                                 </value>
 307                                 <value name='instance'>
 308                                         <description>
 309                                                 <loctext xml:lang='C'>
 310 This instance, or any instance of this service.
 311                                                 </loctext>
 312                                         </description>
 313                                 </value>
 314                                 <value name='delegate'>
 315                                         <description>
 316                                                 <loctext xml:lang='C'>
 317 All instances which currently define this service as their restarter.
 318                                                 </loctext>
 319                                         </description>
 320                                 </value>
 321                                 <value name='all'>
 322                                         <description>
 323                                                 <loctext xml:lang='C'>
 324 All services and instances on the system.  "all" may only be set on the global service.
 325                                                 </loctext>
 326                                         </description>
 327                                 </value>
 328                                 </constraints>
 329                         </prop_pattern>
 330                 </pg_pattern>
 331 
 332                 <pg_pattern type='template_prop_pattern' target='all'
 333                     required='false'>
 334                         <description>
 335                                 <loctext xml:lang='C'>
 336 Template data about properties.  This information is provided in the manifest by the service author and should not be modified directly.
 337                                 </loctext>
 338                         </description>
 339                         <prop_pattern name='name' type='astring'
 340                             required='true'>
 341                                 <description>
 342                                         <loctext xml:lang='C'>
 343 Name of property this template applies to.
 344                                         </loctext>
 345                                 </description>
 346                                 <visibility value='hidden'/>
 347                                 <cardinality min='1' max='1'/>
 348                         </prop_pattern>
 349                         <prop_pattern name='pg_pattern' type='astring'
 350                             required='true'>
 351                                 <description>
 352                                         <loctext xml:lang='C'>
 353 Name of property group that describes the enclosing property group pattern.
 354                                         </loctext>
 355                                 </description>
 356                                 <visibility value='hidden'/>
 357                                 <cardinality min='1' max='1'/>
 358                         </prop_pattern>
 359                         <prop_pattern name='required' type='boolean'
 360                             required='false'>
 361                                 <description>
 362                                         <loctext xml:lang='C'>
 363 Defines whether a property matched by this template is required.
 364                                         </loctext>
 365                                 </description>
 366                                 <visibility value='hidden'/>
 367                                 <cardinality min='1' max='1'/>
 368                         </prop_pattern>
 369                         <prop_pattern name='type' type='astring'
 370                             required='false'>
 371                                 <description>
 372                                         <loctext xml:lang='C'>
 373 The type that a property which this template refers to should be.
 374                                         </loctext>
 375                                 </description>
 376                                 <visibility value='hidden'/>
 377                                 <cardinality min='1' max='1'/>
 378                         </prop_pattern>
 379                         <prop_pattern name='visibility' type='astring'
 380                             required='false'>
 381                                 <description>
 382                                         <loctext xml:lang='C'>
 383 The visibility of this property, which is readwrite by default.  Visibility is only a cue to the user interface, and will not be explicitly enforced by SMF.
 384                                         </loctext>
 385                                 </description>
 386                                 <visibility value='hidden'/>
 387                                 <cardinality min='1' max='1'/>
 388                                 <constraints>
 389                                 <value name='hidden'>
 390                                         <description>
 391                                                 <loctext xml:lang='C'>
 392 Hidden in default user interface views.
 393                                                 </loctext>
 394                                         </description>
 395                                 </value>
 396                                 <value name='readonly'>
 397                                         <description>
 398                                                 <loctext xml:lang='C'>
 399 Expected to be read only in most user interfaces.
 400                                                 </loctext>
 401                                         </description>
 402                                 </value>
 403                                 <value name='readwrite'>
 404                                         <description>
 405                                                 <loctext xml:lang='C'>
 406 Expected to be manipulated in many user interfaces.
 407                                                 </loctext>
 408                                         </description>
 409                                 </value>
 410                                 </constraints>
 411                         </prop_pattern>
 412                         <prop_pattern name='cardinality_min' type='count'
 413                             required='false'>
 414                                 <description>
 415                                         <loctext xml:lang='C'>
 416 Minimum number of required values.
 417                                         </loctext>
 418                                 </description>
 419                                 <cardinality min='1' max='1'/>
 420                         </prop_pattern>
 421                         <prop_pattern name='cardinality_max' type='count'
 422                             required='false'>
 423                                 <description>
 424                                         <loctext xml:lang='C'>
 425 Maximum number of required values.
 426                                         </loctext>
 427                                 </description>
 428                                 <visibility value='hidden'/>
 429                                 <cardinality min='1' max='1'/>
 430                         </prop_pattern>
 431                         <prop_pattern name='internal_separators' type='astring'
 432                             required='false'>
 433                                 <description>
 434                                         <loctext xml:lang='C'>
 435 List of separator characters for values.
 436                                         </loctext>
 437                                 </description>
 438                                 <visibility value='hidden'/>
 439                                 <cardinality min='1'/>
 440                         </prop_pattern>
 441                         <prop_pattern name='constraint_name' type='astring'
 442                             required='false'>
 443                                 <description>
 444                                         <loctext xml:lang='C'>
 445 Values the property is expected to be constrained to.
 446                                         </loctext>
 447                                 </description>
 448                                 <visibility value='hidden'/>
 449                                 <cardinality min='1'/>
 450                         </prop_pattern>
 451                         <prop_pattern name='constraint_range' type='astring'
 452                             required='false'>
 453                                 <description>
 454                                         <loctext xml:lang='C'>
 455 Ranges the property is expected to be constrained to.
 456                                         </loctext>
 457                                 </description>
 458                                 <visibility value='hidden'/>
 459                                 <cardinality min='1'/>
 460                                 <internal_separators>,</internal_separators>
 461                         </prop_pattern>
 462                         <prop_pattern name='choices_range' type='astring'
 463                             required='false'>
 464                                 <description>
 465                                         <loctext xml:lang='C'>
 466 Ranges a user should be offered as a choice for this property.
 467                                         </loctext>
 468                                 </description>
 469                                 <visibility value='hidden'/>
 470                                 <cardinality min='1'/>
 471                                 <internal_separators>,</internal_separators>
 472                         </prop_pattern>
 473                         <prop_pattern name='choices_name' type='astring'
 474                             required='false'>
 475                                 <description>
 476                                         <loctext xml:lang='C'>
 477 Values a users should be offered as a choice for this property.
 478                                         </loctext>
 479                                 </description>
 480                                 <visibility value='hidden'/>
 481                                 <cardinality min='1'/>
 482                         </prop_pattern>
 483                         <prop_pattern name='choices_include_values'
 484                             type='astring' required='false'>
 485                                 <description>
 486                                         <loctext xml:lang='C'>
 487 Whether the choices should include the defined constraints or values.
 488                                         </loctext>
 489                                 </description>
 490                                 <visibility value='hidden'/>
 491                                 <cardinality min='1' max='1'/>
 492                                 <constraints>
 493                                 <value name='constraints'>
 494                                         <description>
 495                                                 <loctext xml:lang='C'>
 496 Include all defined constraints as choices.
 497                                                 </loctext>
 498                                         </description>
 499                                 </value>
 500                                 <value name='values'>
 501                                         <description>
 502                                                 <loctext xml:lang='C'>
 503 Include all defined values as choices.
 504                                                 </loctext>
 505                                         </description>
 506                                 </value>
 507                                 </constraints>
 508                         </prop_pattern>
 509                 </pg_pattern>
 510 
 511                 <pg_pattern name='method_context' type='framework'
 512                     target='all' required='false'>
 513                         <description>
 514                                 <loctext xml:lang='C'>
 515 Specifies the default execution context for all service methods.  It is defined by the service author, may be augmented by an administrator, and is consumed by the service's restarter.
 516                                 </loctext>
 517                         </description>
 518 
 519                         <!-- method_context direct properties -->
 520                         <prop_pattern name='working_directory' type='astring'
 521                             required='false'>
 522                                 <description>
 523                                         <loctext xml:lang='C'>
 524 The working directory to launch the method from.  ":default" can be used as a token to indicate the home directory of the user specified by the credential or profile.
 525                                         </loctext>
 526                                 </description>
 527                                 <cardinality min='1' max='1'/>
 528                         </prop_pattern>
 529                         <prop_pattern name='project' type='astring'
 530                             required='false'>
 531                                 <description>
 532                                         <loctext xml:lang='C'>
 533 The project ID in numeric or text form.  ":default" can be used as a token to indicate a project identified by getdefaultproj(3PROJECT) for the user whose uid is used to launch the method.
 534                                         </loctext>
 535                                 </description>
 536                                 <cardinality min='1' max='1'/>
 537                         </prop_pattern>
 538                         <prop_pattern name='resource_pool' type='astring'
 539                             required='false'>
 540                                 <description>
 541                                         <loctext xml:lang='C'>
 542 The resource pool name in which to launch the method.  ":default" can be used
 543 as a token to indicate the pool specified in the project(4) entry given in
 544 the project attribute.
 545                                         </loctext>
 546                                 </description>
 547                                 <cardinality min='1' max='1'/>
 548                         </prop_pattern>
 549                         <prop_pattern name='security_flags' type='astring'
 550                             required='false'>
 551                                 <description>
 552                                         <loctext xml:lang='C'>
 553 An optional string specifying the security flags as defined in security-flags(5).
 554                                         </loctext>
 555                                 </description>
 556                                 <cardinality min='1' max='1'/>
 557                         </prop_pattern>
 558 
 559                         <!-- method_credential properties -->
 560                         <prop_pattern name='user' type='astring'
 561                             required='false'>
 562                                 <description>
 563                                         <loctext xml:lang='C'>
 564 The user ID in numeric or text form.
 565                                         </loctext>
 566                                 </description>
 567                                 <cardinality min='1' max='1'/>
 568                         </prop_pattern>
 569                         <prop_pattern name='group' type='astring'
 570                             required='false'>
 571                                 <description>
 572                                         <loctext xml:lang='C'>
 573 The group ID in numeric or text form.
 574                                         </loctext>
 575                                 </description>
 576                                 <cardinality min='1' max='1'/>
 577                         </prop_pattern>
 578                         <prop_pattern name='supp_groups' type='astring'
 579                             required='false'>
 580                                 <description>
 581                                         <loctext xml:lang='C'>
 582 An optional string that specifies the supplemental group memberships by ID,
 583 in numeric or text form.
 584                                         </loctext>
 585                                 </description>
 586                                 <cardinality min='1' max='1'/>
 587                         </prop_pattern>
 588                         <prop_pattern name='privileges' type='astring'
 589                             required='false'>
 590                                 <description>
 591                                         <loctext xml:lang='C'>
 592 An optional string specifying the privilege set as defined in privileges(5).
 593                                         </loctext>
 594                                 </description>
 595                                 <cardinality min='1' max='1'/>
 596                         </prop_pattern>
 597                         <prop_pattern name='limit_privileges' type='astring'
 598                             required='false'>
 599                                 <description>
 600                                         <loctext xml:lang='C'>
 601 An optional string specifying the limit privilege set as defined in
 602 privileges(5).
 603                                         </loctext>
 604                                 </description>
 605                                 <cardinality min='1' max='1'/>
 606                         </prop_pattern>
 607 
 608                         <!-- method_profile properties -->
 609                         <prop_pattern name='use_profile' type='boolean'
 610                             required='false'>
 611                                 <description>
 612                                         <loctext xml:lang='C'>
 613 A boolean that specifies whether the profile should be used instead of the
 614 user, group, privileges, and limit_privileges properties.
 615                                         </loctext>
 616                                 </description>
 617                                 <cardinality min='1' max='1'/>
 618                         </prop_pattern>
 619                         <prop_pattern name='profile' type='astring'
 620                             required='false'>
 621                                 <description>
 622                                         <loctext xml:lang='C'>
 623 The name of an RBAC (role-based access control) profile which, along with the
 624 method executable, identifies an entry in exec_attr(4).
 625                                         </loctext>
 626                                 </description>
 627                                 <cardinality min='1' max='1'/>
 628                         </prop_pattern>
 629                 </pg_pattern>
 630 
 631                 <pg_pattern name='firewall_context'
 632                     type='com.sun,fw_definition' target='all' required='false'>
 633                         <common_name>
 634                                 <loctext xml:lang='C'>
 635 Static definition
 636                                 </loctext>
 637                         </common_name>
 638                         <description>
 639                                 <loctext xml:lang='C'>
 640 Service static network and firewall definition.
 641                                 </loctext>
 642                         </description>
 643                         <prop_pattern name='name' type='astring'
 644                             required='false'>
 645                                 <common_name>
 646                                         <loctext xml:lang='C'>
 647 Service name
 648                                         </loctext>
 649                                 </common_name>
 650                                 <description>
 651                                         <loctext xml:lang='C'>
 652 IANA name or RPC name for non-inetd service, equivalent to inetd/name property. For RPC services, the value of this property is not an IANA name but is either an RPC program number or name, see rpc(4).
 653                                         </loctext>
 654                                 </description>
 655                         </prop_pattern>
 656                         <prop_pattern name='isrpc' type='boolean'
 657                             required='false'>
 658                                 <common_name>
 659                                         <loctext xml:lang='C'>
 660 RPC service
 661                                         </loctext>
 662                                 </common_name>
 663                                 <description>
 664                                         <loctext xml:lang='C'>
 665 A boolean property where a "true" value indicates an RPC service, equivalent to inetd/isrpc property.
 666                                         </loctext>
 667                                 </description>
 668                         </prop_pattern>
 669                         <prop_pattern name='ipf_method' type='astring'
 670                             required='false'>
 671                                 <common_name>
 672                                         <loctext xml:lang='C'>
 673 Custom firewall script
 674                                         </loctext>
 675                                 </common_name>
 676                                 <description>
 677                                         <loctext xml:lang='C'>
 678 A script that generates ipf rules for a service. Services that require custom IPfilter configuration can use this mechanism to generate and supply their own ipf rules.  The firewall framework does not generate rules for services that has this property definition but expect these services to provide their own rules.
 679                                         </loctext>
 680                                 </description>
 681                         </prop_pattern> </pg_pattern>
 682 
 683                 <pg_pattern name='firewall_config'
 684                     type='com.sun,fw_configuration' target='all'
 685                     required='false'>
 686                         <common_name>
 687                                 <loctext xml:lang='C'>
 688 Firewall configuration
 689                                 </loctext>
 690                         </common_name>
 691                         <description>
 692                                 <loctext xml:lang='C'>
 693 Service firewall configuration.
 694                                 </loctext>
 695                         </description>
 696                         <prop_pattern name='policy' type='astring'
 697                             required='true'>
 698                                 <common_name>
 699                                         <loctext xml:lang='C'>
 700 Firewall policy
 701                                         </loctext>
 702                                 </common_name>
 703                                 <description>
 704                                         <loctext xml:lang='C'>
 705 Service firewall policy.
 706                                         </loctext>
 707                                 </description>
 708                                 <visibility value='readwrite'/>
 709                                 <cardinality min='1' max='1'/>
 710                                 <values>
 711                                         <value name='use_global'>
 712                                                 <description>
 713                                                         <loctext xml:lang='C'>
 714 Apply Global Default policy, specified in network/ipfilter for the service. This is the default value.
 715                                                         </loctext>
 716                                                 </description>
 717                                         </value>
 718                                         <value name='none'>
 719                                                 <description>
 720                                                         <loctext xml:lang='C'>
 721 No firewall (allow all).
 722                                                         </loctext>
 723                                                 </description>
 724                                         </value>
 725                                         <value name='deny'>
 726                                                 <description>
 727                                                         <loctext xml:lang='C'>
 728 Deny access to entities specified in 'apply_to' property.
 729                                                         </loctext>
 730                                                 </description>
 731                                         </value>
 732                                         <value name='allow'>
 733                                                 <description>
 734                                                         <loctext xml:lang='C'>
 735 Allow access to entities specified in 'apply_to' property.
 736                                                         </loctext>
 737                                                 </description>
 738                                         </value>
 739                                 </values>
 740                                 <choices>
 741                                         <include_values type='values'/>
 742                                 </choices>
 743                         </prop_pattern>
 744                         <prop_pattern name='block_policy' type='astring'
 745                             required='false'>
 746                                 <common_name>
 747                                         <loctext xml:lang='C'>
 748 Firewall block policy
 749                                         </loctext>
 750                                 </common_name>
 751                                 <description>
 752                                         <loctext xml:lang='C'>
 753 Service firewall block policy.
 754                                         </loctext>
 755                                 </description>
 756                                 <visibility value='readwrite'/>
 757                                 <cardinality min='1' max='1'/>
 758                                 <values>
 759                                         <value name='use_global'>
 760                                                 <description>
 761                                                         <loctext xml:lang='C'>
 762 Apply Global Default block policy, specified in network/ipfilter for the service. This is the default value.
 763                                                         </loctext>
 764                                                 </description>
 765                                         </value>
 766                                         <value name='none'>
 767                                                 <description>
 768                                                         <loctext xml:lang='C'>
 769 Block by dropping packets.
 770                                                         </loctext>
 771                                                 </description>
 772                                         </value>
 773                                         <value name='return'>
 774                                                 <description>
 775                                                         <loctext xml:lang='C'>
 776 Block by returning RST or ICMP messages.
 777                                                         </loctext>
 778                                                 </description>
 779                                         </value>
 780                                 </values>
 781                                 <choices>
 782                                         <include_values type='values'/>
 783                                 </choices>
 784                         </prop_pattern>
 785                         <prop_pattern name="apply_to" type="astring"
 786                             required="false">
 787                                 <common_name>
 788                                         <loctext xml:lang='C'>
 789 Apply policy to
 790                                         </loctext>
 791                                 </common_name>
 792                                 <description>
 793                                         <loctext xml:lang="C">
 794 The source host and network IPv4 addresses, incoming network interfaces, and ippools to deny if the policy is set to deny, or accept if the policy is set to accept.
 795                                         </loctext>
 796                                 </description>
 797                         </prop_pattern>
 798                         <prop_pattern name="apply_to_6" type="astring"
 799                             required="false">
 800                                 <common_name>
 801                                         <loctext xml:lang='C'>
 802 Apply policy to
 803                                         </loctext>
 804                                 </common_name>
 805                                 <description>
 806                                         <loctext xml:lang="C">
 807 The source host and network IPv6 addresses, incoming network interfaces, and ippools to deny if the policy is set to deny, or accept if the policy is set to accept.
 808                                         </loctext>
 809                                 </description>
 810                         </prop_pattern>
 811                         <prop_pattern name="exceptions" type="astring"
 812                             required="false">
 813                                 <common_name>
 814                                         <loctext xml:lang='C'>
 815 Make exceptions to
 816                                         </loctext>
 817                                 </common_name>
 818                                 <description>
 819                                         <loctext xml:lang="C">
 820 The source host and network IPv4 addresses, incoming network interfaces, and ippools to exempt from the set policy. That is, those to accept if the policy is set to deny, or to deny if the policy is set to accept.
 821                                         </loctext>
 822                                 </description>
 823                         </prop_pattern>
 824                         <prop_pattern name="exceptions_6" type="astring"
 825                             required="false">
 826                                 <common_name>
 827                                         <loctext xml:lang='C'>
 828 Make exceptions to
 829                                         </loctext>
 830                                 </common_name>
 831                                 <description>
 832                                         <loctext xml:lang="C">
 833 The source host and network IPv6 addressess, incoming network interfaces, and ippools to exempt from the set policy. That is, those to accept if the policy is set to deny, or to deny if the policy is set to accept.
 834                                         </loctext>
 835                                 </description>
 836                         </prop_pattern>
 837                         <prop_pattern name="target" type="astring"
 838                             required="false">
 839                                 <common_name>
 840                                         <loctext xml:lang='C'>
 841 Apply policy to
 842                                         </loctext>
 843                                 </common_name>
 844                                 <description>
 845                                         <loctext xml:lang="C">
 846 The destination host and network IPv4 addresses, and ippools to deny if the policy is set to deny, or accept if the policy is set to accept.
 847                                         </loctext>
 848                                 </description>
 849                         </prop_pattern>
 850                         <prop_pattern name="target6" type="astring"
 851                             required="false">
 852                                 <common_name>
 853                                         <loctext xml:lang='C'>
 854 Apply policy to
 855                                         </loctext>
 856                                 </common_name>
 857                                 <description>
 858                                         <loctext xml:lang="C">
 859 The destination host and network IPv6 addresses, and ippools to deny if the policy is set to deny, or accept if the policy is set to accept.
 860                                         </loctext>
 861                                 </description>
 862                         </prop_pattern>
 863                 </pg_pattern>
 864                 <pg_pattern type='notify_params' target='all' required='false'>
 865                         <common_name>
 866                                 <loctext xml:lang='C'>
 867 FMA and SMF notification parameters
 868                                 </loctext>
 869                         </common_name>
 870                         <description>
 871                                 <loctext xml:lang='C'>
 872 Parameters for notification of FMA events and SMF state transitions.
 873                                 </loctext>
 874                         </description>
 875                         <prop_pattern name='smtp,active' type='boolean'
 876                             required='false'>
 877                                 <common_name>
 878                                         <loctext xml:lang='C'>
 879 smtp notification active
 880                                         </loctext>
 881                                 </common_name>
 882                                 <description>
 883                                         <loctext xml:lang='C'>
 884 Notifcation mechanism smtp active status.
 885                                         </loctext>
 886                                 </description>
 887                         </prop_pattern>
 888                         <prop_pattern name='smtp,to' type='astring'
 889                             required='false'>
 890                                 <common_name>
 891                                         <loctext xml:lang='C'>
 892 smtp notification recipient
 893                                         </loctext>
 894                                 </common_name>
 895                                 <description>
 896                                         <loctext xml:lang='C'>
 897 Recipient for smtp notification mechanism.
 898                                         </loctext>
 899                                 </description>
 900                         </prop_pattern>
 901                         <prop_pattern name='smtp,reply-to' type='astring'
 902                             required='false'>
 903                                 <common_name>
 904                                         <loctext xml:lang='C'>
 905 smtp notification reply-to
 906                                         </loctext>
 907                                 </common_name>
 908                                 <description>
 909                                         <loctext xml:lang='C'>
 910 Header reply-to for smtp notification mechanism.
 911                                         </loctext>
 912                                 </description>
 913                         </prop_pattern>
 914                         <prop_pattern name='snmp,active' type='boolean'
 915                             required='false'>
 916                                 <common_name>
 917                                         <loctext xml:lang='C'>
 918 snmp notification active
 919                                         </loctext>
 920                                 </common_name>
 921                                 <description>
 922                                         <loctext xml:lang='C'>
 923 Notifcation mechanism snmp active status.
 924                                         </loctext>
 925                                 </description>
 926                         </prop_pattern>
 927                         <prop_pattern name='syslog,active' type='boolean'
 928                             required='false'>
 929                                 <common_name>
 930                                         <loctext xml:lang='C'>
 931 syslog notification active
 932                                         </loctext>
 933                                 </common_name>
 934                                 <description>
 935                                         <loctext xml:lang='C'>
 936 Notifcation mechanism syslog active status.
 937                                         </loctext>
 938                                 </description>
 939                         </prop_pattern>
 940                 </pg_pattern>
 941         </template>
 942 </service>
 943 
 944 </service_bundle>