zonecfg(8) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

zonecfg(8)

System Administration Commands                                      zonecfg(8)



NAME
       zonecfg - set up zone configuration

SYNOPSIS
       zonecfg [-z zonename [-r]]


       zonecfg [-z zonename [-r]] subcommand


       zonecfg [-z zonename [-r]] -f command_file


       zonecfg help [subcommand]

DESCRIPTION
       The zonecfg utility creates, modifies, and lists the configuration of a
       zone. The creation and modification functions  are  only  available  to
       authorized  users  and  require  that  the  process is executed with an
       effective user ID of root. Otherwise the zone configuration  cannot  be
       modified.


       A  zone's  configuration  consists of a number of resources and proper‐
       ties.


       To simplify the user interface, zonecfg uses the concept  of  a  scope.
       The default scope is global.


       The  following  synopsis  of the zonecfg command is for non-interactive
       usage:


         zonecfg -z [-r] zonename subcommand




       The zonecfg utility can run in two edit modes:

       default

           Allows to create, modify and list the persistent zone configuration
           stored on the stable storage. Parameters changed through zonecfg in
           the default mode do not affect a running zone.  The  zone  must  be
           reconfigured using zoneadm(8)  apply subcommand or rebooted for the
           changes to take effect.

           If no -z  zonename option is supplied, then a configuration session
           is  started without any zone. This can be used to create a configu‐
           ration that can be exported, but not persisted or applied.

           The authorization solaris.zone.config/zonename is required to allow
           changes in the persistent configuration.


       live

           Allows  to  retrieve,  modify  and list the live configuration of a
           running zone. Parameters changed through zonecfg in the  live  mode
           take  effect immediately after they are committed and remain active
           until the next zone reboot. The live mode is available only  for  a
           running  zone  and requires the authorization solaris.zone.livecon‐
           fig/zonename.

           See the respective brand manual page for details on resources  sup‐
           ported by the live zone reconfiguration.




       In  addition  to creating and modifying a zone, the zonecfg utility can
       also be used to persistently specify the resource  management  settings
       for  the  global  zone  or to configure the global zone as an immutable
       global zone by specifying a file-mac-profile in combination  with  set‐
       tings for fs-allowed, dataset, and devices.


       In  the following text, "rctl" is used as an abbreviation for "resource
       control". See resource-controls(7) man page.


       Every zone is configured with an associated brand. The brand determines
       the  user-level  environment  used  within the zone, as well as various
       behaviors for the zone when it is installed,  boots,  or  is  shutdown.
       Once a zone has been installed the brand cannot be changed. The default
       brand is determined by the installed distribution in the  global  zone.
       Some brands do not support all of the zonecfg properties and resources.
       See the brand-specific man page for more details on each brand. For  an
       overview of brands, see the brands(7) man page.

   Resources
       The following resource types are supported:


       attr

           Generic attribute.


       capped-cpu

           Limits for CPU usage.


       capped-memory

           Limits  for  physical,  swap, and locked memory. Optionally specify
           pagesize-policy or memory-reserve for physical memory of solaris-kz
           brand zone.


       dataset

           ZFS dataset.


       dedicated-cpu

           Subset  of  the system's processors dedicated to this zone while it
           is running.


       device

           Device.


       fs

           file-system


       ib-vhca

           Virtual InfiniBand device.


       port

           Port for virtual InfiniBand device. Port resource is only valid  in
           ib-vhca resource scope.


       keysource

           Encryption key


       net

           Network interface.


       anet

           Automatic network interface.


       mac

           Extra mac-address configured for a zone. Mac resource is only valid
           within an anet resource.


       vlan

           Extra VLAN ID configured for a zone. VLAN resource  is  only  valid
           within an anet resource.


       smf-dependency

           SMF dependencies for the zone SMF instance.


       admin

           Delegated administrator.


       rctl

           Resource control.


       suspend

           Suspend image


       rootzpool

           Dedicated ZFS zpool for zone installation.


       virtual-cpu

           Virtual CPUs configured for the zone.


       zpool

           ZFS zpool delegated to the zone.


       npiv

           Fibre Channel NPIV port.


       verified-boot

           Verified Boot settings for the zone.



       Multi-instance  resources  have an identifier which uniquely identifies
       each instance of a resource. The identifier is a number displayed  next
       to  the resource for every instance of all multi-instance resources, in
       the output of info subcommand. The identifiers are automatically gener‐
       ated  and  are  not  user modifiable, they are consistent only across a
       zonecfg session.

   Sparse and Whole Root Non-Global Zones
       Previous releases of Oracle Solaris offered the notion of   sparse root
       zones. This functionality was intimately associated with the SVr4 pack‐
       aging system and intended to save disk space and reduce  administrative
       effort.


       The  new packaging system, IPS, provides more flexibility when choosing
       which packages to install in a zone. This, along with advances in  file
       system  technology  (notable  among  which is ZFS deduplication), means
       that it was most sensible to remove sparse root zones. The benefits  of
       sparse  root  zones are provided for all zones by means of the combina‐
       tion of IPS packaging and file system advances.

   Properties
       Each resource type has one or more  properties.  There  are  also  some
       global properties, that is, properties of the configuration as a whole,
       rather than of some particular resource.


       The following properties are supported:

       (global)

           zonename


       (global)

           description


       (global)

           zonepath


       (global)

           autoboot


       (global)

           autoshutdown


       (global)

           global-time


       (global)

           bootargs


       (global)

           boot-priority


       (global)

           pool


       (global)

           limitpriv


       (global)

           brand


       (global)

           cpu-shares


       (global)

           hostid


       (global)

           max-adi-metadata-memory


       (global)

           max-lwps


       (global)

           max-msg-ids


       (global)

           max-processes


       (global)

           max-sem-ids


       (global)

           max-shm-ids


       (global)

           max-shm-memory


       (global)

           scheduling-class


       (global)

           fs-allowed


       (global)

           file-mac-profile


       (global)

           tenant


       (global)

           cpu-arch


       (global)

           host-compatible


       (global)

           boot-disk-protection


       (global)

           hwprovider


       fs

           dir, special, raw, type, options


       net

           address,  allowed-address,   configure-allowed-address,   physical,
           defrouter, id


       anet

           linkname, lower-link, allowed-address, auto-mac-address, configure-
           allowed-address, defrouter, mac-address, mac-slot, mac-prefix, mtu,
           maxbw, bwshare, priority, vlan-id, vsi-typeid, vsi-vers, vsi-mgrid,
           rxfanout,  rxrings,  txrings,  link-protection,  allowed-dhcp-cids,
           pkey,  linkmode,  etsbw-lcl,  cos, id, evs, vport, iov, vlan, ring-
           group, autopush


       mac

           auto-mac-address, mac-address, mac-prefix, allowed-mac-address, id


       vlan

           vlan-id, dynamic-vlan-id


       device

           match, storage, create-size, allow-partition, allow-raw-io,  allow-
           mhd, id, bootpri, removable


       ib-vhca

           over-hca, smi-enabled, id


       port

           pkey, id


       rctl

           name, value


       attr

           name, type, value


       dataset

           name, alias


       dedicated-cpu

           ncpus, importance

           cpus, cores, sockets


       virtual-cpu

           ncpus


       capped-memory

           physical, swap, locked, pagesize-policy, memory-reserve


       capped-cpu

           ncpus


       admin

           user, auths


       rootzpool

           storage


       zpool

           storage, name


       npiv

           virtual-port-wwn, over-hba


       verified-boot

           policy, cert


       hostkey

           raw


       suspend

           path, storage



       As  for  the property values that are paired with these names, they are
       either a string or a list of strings. The type allowed is property spe‐
       cific. Single values can be optionally enclosed within quotation marks.


       Lists have the syntax:


         [<value>,...]




       where  each  <value>  is a string property. A list of a single value is
       equivalent to specifying that value without the list syntax.  That  is,
       "foo" is equivalent to "[foo]". A list can be empty (denoted by "[]").


       The property types are described as follows:

       global: zonename

           The name of the zone.


       global: description

           An  optional  description of the zone. A string of up to 255 print‐
           able US-ASCII characters. Enclose the value in double quotes for  a
           description with spaces.


       global: zonepath

           Path  to zone's file system. The default value of zonepath is /sys‐
           tem/zones/%{zonename}.


       global: global-time

           Boolean indicating that a zone can change  global/system-wide  time
           (if true) or can change the zone-specific time (if false).


       global: autoboot

           Boolean  indicating  that  a zone should be booted automatically at
           system boot. Note that if the zones service is disabled,  the  zone
           will  not autoboot, regardless of the setting of this property. You
           enable the zones service with a svcadm command, such as:



             # svcadm enable svc:/system/zones:default


           Replace enable with disable to disable the zones service. For  more
           information, see the svcadm(8) man page.


       global: autoshutdown

           Action  to take for this zone on clean shutdown of the global zone.
           Can be shutdown (a clean zone shutdown; the default); halt; or sus‐
           pend.


       global: bootargs

           Arguments (options) to be passed to the zone bootup, unless options
           are supplied to the zoneadm boot command, in which case those  take
           precedence.  The  valid  arguments  are described in zoneadm(8) man
           page.


       global: pool

           Name of the resource pool that this zone  must  be  bound  to  when
           booted.  This  property  is  incompatible  with  the  dedicated-cpu
           resource.


       global: limitpriv

           The maximum set of privileges any process in this zone can  obtain.
           The  property  should  consist  of  a comma-separated privilege set
           specification as described in priv_str_to_set(3C) man page.  Privi‐
           leges  can  be  excluded  from the resulting set by preceding their
           names with a dash (-) or an  exclamation  point  (!).  The  special
           privilege  string  "zone"  is not supported in this context. If the
           special string "default" occurs as the first token in the property,
           it expands into a safe set of privileges that preserve the resource
           and security isolation described in zones(7) man page. A missing or
           empty property is equivalent to this same set of safe privileges.

           The  system  administrator  must take extreme care when configuring
           privileges for a zone. Some privileges cannot be  excluded  through
           this  mechanism  as  they  are required in order to boot a zone. In
           addition, there are certain privileges which cannot be given  to  a
           zone  as  doing  so  would  allow processes inside a zone to unduly
           affect processes in  other  zones.  zoneadm(8)  indicates  when  an
           invalid privilege has been added or removed from a zone's privilege
           set when an attempt is made to either "boot" or "ready" the zone.

           See privileges(7) man page for a  description  of  privileges.  The
           command  "ppriv  -l" (see ppriv(1) man page) produces a list of all
           Oracle Solaris privileges. You can specify privileges as  they  are
           displayed  by  ppriv.  In  privileges(7)  man  page, privileges are
           listed in the form PRIV_privilege_name. For example, the  privilege
           sys_time,  as  you  would specify it in this property, is listed in
           privileges(7) man page as PRIV_SYS_TIME.


       global: brand

           The brand type of the zone


       global: ip-type

           A zone can either have  its  own  exclusive  instance  of  IP  (the
           default)  or  share  the  IP  instance with the global zone. In the
           default zone template, SYSdefault, ip-type is set to exclusive.  In
           the  also-supplied SYSdefault-shared-ip template, ip-type is set to
           shared.

           This property takes the values exclusive and shared.

           The shared-IP feature might be removed  in  a  future  release.  We
           strongly   recommend  using  exclusive-IP.  Once  this  feature  is
           removed, zones configured to use this feature will no longer boot.

           To continue using your zones, please convert any zones  which  have
           ip-type  set  to  shared  to have ip-type set to exclusive. In most
           cases this will involve replacing zonecfg(8) "net"  resources  with
           "anet" resources. If you have shared IP zones that are using inter‐
           faces which are part of a global zone IPMP group, then  you  should
           switch to using DLMP aggregations. In the global zone create a DLMP
           aggregation  on  old  IPMP  interfaces  and  then  then  create   a
           zonecfg(8)  "anet" resource where the lower-link points to the DLMP
           aggregation. Limited shared-IP support will be retained for certain
           multilevel server Trusted Extensions configurations.


       global: hostid

           A zone can emulate a 32-bit host identifier to ease system consoli‐
           dation. A zone's hostid property is empty by default, meaning  that
           the  zone does not emulate a host identifier. Zone host identifiers
           must be hexadecimal values between 0 and FFFFFFFE. A 0x or 0X  pre‐
           fix  is  optional.  Both uppercase and lowercase hexadecimal digits
           are acceptable.


       global: fs-allowed

           A comma-separated list of  additional  file  systems  that  can  be
           mounted  within  the zone; for example, ufs, pcfs. By default, only
           hsfs(4FS) and network file systems can be mounted.

           This property does not apply to file systems mounted into the  zone
           by means of add fs or add dataset.

           Caution -



             Allowing filesystem mounts other than the default might allow the
             zone administrator to compromise the system with a bogus filesys‐
             tem image.



             Filesystems other than the default have not been audited for safe
             usage by non-global zones. Using  this  option  may  subvert  the
             security of the zone. This may include causing panics on the sys‐
             tem as a whole, or other problems, and hence this  option  should
             only be used with caution.



       global: file-mac-profile

           Define  which  parts  of the filesystem are exempted from the read-
           only policy, that is, which parts of the  filesystem  the  zone  is
           allowed to write to.

           There  are currently five supported values for this property: none,
           strict, dynamic-zones, fixed-configuration, and flexible-configura‐
           tion.

           none  makes  the  zone  exactly the same as a normal, read or write
           zone. Any other setting makes the zone an  immutable  zone.  strict
           allows  no  exceptions to the read-only policy. fixed-configuration
           allows the zone to write to files in and below /var, except  direc‐
           tories containing configuration files:



             /var/ld
             /var/lib/postrun
             /var/pkg
             /var/spool/cron
             /var/spool/postrun
             /var/svc/manifest


           dynamic-zones  is  equal to fixed-configuration but allows creating
           and destroying non-global zones and kernel zones. This  profile  is
           only  valid for global zones, including the global zone of a kernel
           zone.

           flexible-configuration is equal to dynamic-zones, but allows  writ‐
           ing to files in /etc in addition.


       global: tenant


           Note -



             To  use this property and anet resource's evs and vport property,
             install Elastic Virtual Switch (EVS) IPS packages  and  configure
             the  EVS controller as described in evsadm(8) man page and Manag‐
             ing  Network  Virtualization  and  Network  Resources  in  Oracle
             Solaris 11.4.

           Defines  the  name  of the tenant that owns the EVS to which a VNIC
           anet will be connected to. See evsadm(8) man page.


       global: cpu-arch

           Specify the migration class configured for a solaris-kz brand zone.

           A migration class is used to enable hardware features that are com‐
           patible  between  source  and  target  hosts to enable live or warm
           migration between them.

           For information on the possible values of this  property,  see  the
           solaris-kz(7) man page.


       global: host-compatible

           Specify  the  host  compatibility level configured for a solaris-kz
           brand zone.

           A compatibility level is used to enable features supported  by  the
           version  of Oracle Solaris running in global zone that are compati‐
           ble between source and target host to enable live or warm migration
           between them.

           Only  features enabled by both migration class and host compatibil‐
           ity level are visible to the kernel zone.

           Features included in a compatibility level can be extended by spec‐
           ifying  compatibility  level modifiers. A modifier can only be used
           with designated compatibility level as listed after each  modifier.
           For  now, this only works on SPARC platform and is not supported on
           x86 platform.

           The possible host compatibility levels are:


           native    All features  supported  in  current  version  of  Oracle
                     Solaris  are  enabled,  which  may  prevent it from being
                     migrated to other hosts running different version of Ora‐
                     cle Solaris.


           level1    The  level1 level includes the ADI, DAX, and VA Mask fea‐
                     tures.

           If no value is set, the default kernel  zone's  host  compatibility
           level will only include features supported in Oracle Solaris 11.2.

           The  following  virtinfo  command can be used to find out what host
           compatibility levels are supported by current version  of  Solaris,
           if kernel zones are supported:



             # virtinfo -c supported get host-compatible-levels kernel-zone


           The possible compatibility level modifiers are:


           adi    Enables  ADI  feature and can only be used with default com‐
                  patibility level.


           The generic syntax for this property is:



             host-compatible=<compatible-level-name>[,modifier-name]...


           While specifying modifiers for  default  compatibility  level,  the
           syntax is:



             host-compatible=<modifier-name>[,modifier-name]...


           Note that a modifier cannot be used to enable a feature that is not
           supported by the migration class.


       global: boot-disk-protection

           Enables or disables boot disk protection feature for  a  solaris-kz
           branded zone. It can be set to on or off. The default value is off.

           When  set to on, the boot disks will be reserved through PGR reser‐
           vation with host ID as the key and  SCSI3_RESV_WRITEEXCLUSIVEREGIS‐
           TRANTSONLY  as  the  reservation  type.  The  reservation  will  be
           removed, after the zone is detached or uninstalled.

           Since cluster software also uses PGR reservation on disks they man‐
           age, this feature cannot be used on disks also managed by any other
           cluster software. In that case, boot-disk-protection  needs  to  be
           set  as to off. You can also reconfigure your cluster software run‐
           ning in the global zone to not manage the boot disks.

           Note that this feature requires all boot disks  to  be  on  storage
           LUNs that support SCSI-3 PGR reservation. If any boot disk does not
           meet this requirement, the zone cannot be attached or installed.


       global: hwprovider

           Configure the hardware manufacturer string returned  by  sysinfo(2)
           with  the  SI_HW_PROVIDER command for a solaris10 branded zone. See
           sysinfo(2) man page.

           When set, the only valid property value is "Sun_Microsystems". When
           this  property  is  untouched or cleared, the hardware manufacturer
           string in the global zone is used.


       fs: dir, special, raw, type, options

           Values needed to determine how, where, and so forth to  mount  file
           systems. See mount(8), mount(2), fsck(8), and vfstab(5).


       net: address, allowed-address, configure-allowed-address, physical,
       defrouter, id

           The net resource represents the assignment of  a  physical  network
           resource  to  a  zone.  The resource must exists in the global zone
           prior to the assignment.

           The network address is one of:


               o      a valid IPv4 address, optionally followed by '/'  and  a
                      prefix length


               o      a  valid IPv6 address, which must be followed by '/' and
                      a prefix length


               o      a host name which resolves to an IPv4 address.

           Note that host names that resolve to IPv6 addresses  are  not  sup‐
           ported.

           The physical property represents the network interface name.

           The value for the optional default router is specified similarly to
           the network address except that it must not be followed  by  a  '/'
           (slash)  and  a network prefix length. To enable correct use of the
           defrouter functionality, the zones that use the property must be on
           a  different  subnet  from  the  subnet  on  which  the global zone
           resides. Also, each zone (or set of zones) that  uses  a  different
           defrouter setting must be on a different subnet.

           The  id  value  is  a positive integer used to identify the network
           interface; see solaris-kz(7) man page.

           A zone can be configured to be either  exclusive-IP  or  shared-IP.
           For  a  shared-IP  zone, you must set both the physical and address
           properties; setting the default router is optional.  The  interface
           specified  in  the  physical property must be plumbed in the global
           zone prior to booting the non-global zone. However, if  the  inter‐
           face  is  not used by the global zone, it should be configured down
           in the global zone, and the default router for the interface should
           be specified here. The allowed-address property cannot be set for a
           shared-IP zone.

           For an exclusive-IP zone, the physical property must be set and the
           address  property  must  not  be  set.  Optionally,  the  set of IP
           addresses that the exclusive-IP zone can use might  be  constrained
           by  specifying the allowed-address property. If allowed-address has
           not been specified, then the  exclusive-IP  zone  can  use  any  IP
           address  on the associated physical interface for the net resource.
           Otherwise, when allowed-address is specified, the exclusive-IP zone
           cannot  use  IP  addresses that are not in the allowed-address list
           for the physical address. If configure-allowed-address  is  set  to
           true,  the addresses specified by allowed-address are automatically
           configured on the interface each time the zone boots.  When  it  is
           set  to  false,  the allowed-address will not be configured on zone
           boot. By default, configure-allowed-address is set to true when  an
           allowed-address is specified. In addition, when the allowed-address
           list has been populated, the defrouter property can also be option‐
           ally  specified.  However,  if the defrouter value is specified and
           configure-allowed-address is set to false, the defrouter value will
           be  ignored  and  an appropriate warning message will be shown. The
           interface specified for the physical property must not be in use in
           the global zone. If an allowed-address and default router are spec‐
           ified by means of zonecfg, these will be applied to  the  interface
           when  it  is enabled by means of ipadm(8) in the non-global, exclu‐
           sive-IP zone, typically during zone boot. The non-global exclusive-
           IP  zone  will  not  be  able  to apply any other addresses to that
           interface, nor will it be able to transmit packets with a different
           source  address  for the specified IP version. A default router set
           up by means of zonecfg cannot be persistently deleted  from  within
           the non-global exclusive-IP zone using the -p flag with route(8).

           Note  that a single datalink cannot be shared among multiple exclu‐
           sive-IP zones.

           Assigning an IPoIB VNIC to a solaris-kz brand zone is not currently
           supported.


       anet: linkname, lower-link, allowed-address, auto-mac-address, config‐
       ure-allowed-address, defrouter, mac-address, mac-slot, mac-prefix, mtu,
       maxbw, bwshare, priority, vlan-id, vsi-typeid, vsi-vers, vsi-mgrid,
       rxfanout, rxrings, txrings, link-protection, allowed-dhcp-cids, pkey,
       linkmode, etsbw-lcl, cos, id, evs, vport, mac, iov, vlan, ring-group,
       autopush, lro

           The anet resource represents the automatic creation  of  a  network
           resource  for  an  exclusive-IP  zone.  When zonecfg creates a zone
           using the default SYSdefault template, an anet  resource  with  the
           following properties is automatically included in the zone configu‐
           ration:



             linkname=net0
             lower-link=auto
             mac-address=auto
             link-protection=mac-nospoof


           When such a zone boots, a temporary VNIC or IPoIB datalink is auto‐
           matically  created  for the zone. The VNIC or the IPoIB datalink is
           deleted when the zone halts.

           If there is an IP interface for the given anet resource  configured
           in  the  zone,  it must be disabled or deleted first before calling
           LZR to remove the anet  resource  from  the  zone.  Otherwise,  the
           removal of the anet resource will fail.


           Note -



             To  use  EVS  and  VPort install Elastic Virtual Switch (EVS) IPS
             packages, and then configure EVS controller as described  in  the
             evsadm(8)  man  page and Managing Network Virtualization and Net‐
             work Resources in Oracle Solaris 11.4.

           An EVS is a virtual switch that spans one or more servers (physical
           machines).  It represents an isolated L2 segment, and provides net‐
           work connectivity between the zones whose VNIC anets are  connected
           to  it.  A  VPort  is  uniquely identified by 3-tuple <tenant, evs,
           vport>, so a zone's configuration should include  this  information
           if a VNIC anet need to be connected to an EVS.


           Note -



             For  a VNIC anet connecting to an EVS, only allowed anet property
             is linkname, as it acquires other properties from the VPort.

           The supported properties are described below. All these  properties
           are  optional.  Only the global zone is allowed to modify the auto‐
           matically created VNIC or IPoIB datalink or its  properties.  If  a
           property  set  in  zonecfg  cannot be assigned to the VNIC or IPoIB
           datalink at its creation time, the zone will fail to boot.

           linkname

               Specify a name for the  automatically  created  VNIC  or  IPoIB
               datalink.  By  default, this property will be automatically set
               to the first available name (for the zone) of  the  form  netN,
               where  N  is  a non-negative integer. For example:  net0, net1,
               and so on.  The  info  subcommand  displays  the  automatically
               selected linkname.

               Multiple  zones, including the global zone, can have links with
               the same name at the same time.


           evs
           vport

               If EVS is specified and optionally a VPort is  specified,  then
               VNIC  anet  will  be  created by connecting to that EVS at that
               VPort. If the global tenant property  is  specified,  then  EVS
               will be searched in that tenant's namespace.

               If VPort is specified, then the SLA properties (maxbw, cos, and
               priority), IP address, and default router MAC  address  of  the
               VPort will be inherited by the VNIC. If VPort is not specified,
               then EVS controller will generate a system VPort, (it will have
               IP  address,  MAC address, and EVS' default SLA properties) and
               then the VNIC will be connected to this system VPort.

               The IP address anti-spoof will be enabled on the VNIC, by  set‐
               ting  the  allowed-ips  VNIC property to that of the VPort's IP
               address. VPort's IP address will be automatically configured on
               the  interface  each time the zone boots. The default router IP
               address associated with the VPort is also automatically config‐
               ured in the zone.

               See  the  evsadm(8)  man  page  for more information on EVS and
               VPorts.



           lower-link

               Specify the link over which the VNIC or IPoIB will be  created.
               This  property  has a default value of auto for Ethernet links.
               If pkey is specified, lower-link must be specified with a valid
               IPoIB  phys  class  datalink.  The administrator may explicitly
               specify a value upon adding an anet resource. The link  can  be
               any  link  accepted  as  an  argument to dladm create-vnic's -l
               option or to dladm create-part's -l option  (see  dladm(8)  man
               page).  If this property is set to a linkname (other than auto)
               and that link does not exist, then the zone will fail to  boot.
               When  set  to  auto,  the zoneadmd(8) daemon will automatically
               choose the link over which the VNIC will be created  each  time
               the  zone  boots.  All  IPoIB  datalinks  will  be skipped when
               selecting the default lower-link for creating the VNIC automat‐
               ically  during  boot. A link will be chosen using the following
               heuristic:


                   1.     A link aggregation that has a link state of up.


                   2.     Of the physical Ethernet links, choose the link with
                          the following:

                       a.     Link state of up


                       b.     Maximum   number   of  available  VFs  (only  if
                              iov=auto/on)


                       c.     Supports exclusive ring groups  (only  if  ring-
                              group=exclusive)


                       d.     Maximum number of free mac-slots


                       e.     The one with the alphabetically smallest name




                   3.     If none is up, the datalink named net0 is used if it
                          exists.


               If none of the above can be satisfied, the zone  will  fail  to
               boot.


           allowed-address

               See  the description of the allowed-address property for exclu‐
               sive-IP zones in the net resource.


           auto-mac-address

               Holds the list of the randomly generated MAC addresses when the
               mac-address property is set to random or auto (only if a random
               mac-address can be allocated), so that the zone reacquires  the
               same  addresses  on  a  persistent basis. To reset the randomly
               generated addresses, an administrator needs to clear this prop‐
               erty. For more information, see mac-address property below.


           bwshare

               Specify  the bandwidth share for the VNIC. See bwshare property
               in dladm(8) man page. This property is currently supported only
               on certain NICs.


           configure-allowed-address

               See  the  description of the configure-allowed-address property
               for exclusive-IP zones in the net resource.


           cos

               The 802.1p priority associated with the datalink. See  dladm(8)
               man page for details on this property.


           defrouter

               See  the description of the defrouter property for exclusive-IP
               zones in the net resource.


           etsbw-lcl

               Indicates the ETS bandwidth on the TX side.  See  dladm(8)  man
               page for details on this property.


           mac-address

               Set  the  VNIC's  list  of MAC addresses based on the specified
               values or keywords. If an element of the list is not a keyword,
               it  is  interpreted  as a unicast MAC address. This property is
               not supported on IPoIB datalinks. The supported keywords are:


                   o      factory: Assign a factory MAC address to the VNIC.


                   o      random: Assign a random MAC address to the VNIC. Use
                          the  mac-prefix property to specify a prefix. Other‐
                          wise, a default prefix consisting of  a  valid  IEEE
                          OUI with the local bit set will be used.


                   o      auto: Try to assign random mac-address first if pos‐
                          sible, if NIC supports it, else try to assign a fac‐
                          tory mac-address. This is the default value.

               If  any  random  MAC addresses are selected, then the addresses
               generated  will  be  preserved  across  zone  boots  and   zone
               detach/attach.  This  will  allow  zones  to  retain their DHCP
               leases by maintaining stable client  IDs,  and  otherwise  take
               advantage of other benefits of having stable MAC addresses.


           mac-prefix

               Specify  the  list of MAC address prefixes to use if random MAC
               address allocation is requested.  Otherwise  this  property  is
               ignored. This property is not valid over IPoIB datalinks.


           mac-slot

               Specify  the  list of MAC address slot identifiers used if fac‐
               tory MAC addresses are requested. Otherwise  this  property  is
               ignored. This property is not valid over IPoIB datalinks.

               This setting is deprecated, and should not be used if any zones
               have mac-address=factory or mac-address=auto settings, as those
               zones  may  boot earlier, and acquire the slot first. If a par‐
               ticular factory MAC address  is  needed,  specify  the  address
               explicitly in mac-address, and ensure that any other zones that
               may use the slot will not boot before this zone.


           allowed-mac-address

               Specify the list of 1 to 5 octet long MAC prefixes.  With  this
               set,  a  solaris-kz(7)  brand zone can create a VNIC as long as
               the MAC address of the VNIC begins with one of the MAC  address
               prefixes in the allowed-mac-address list.

               For certain use cases, one will not know ahead of time the val‐
               ues of MAC addresses that might be needed inside of a KZ.  This
               necessitates  the  need  for dynamic MAC address configuration.
               With this setting, guest would be able to push the MAC  address
               it  needs  to  the  host and let the creation of a VNIC succeed
               inside it as long as the MAC address begins  with  one  of  the
               entries in the list.

               Any  other  properties of anet mac resource cannot be specified
               when this property is specified.

               Setting allowed-mac-address to a special  keyword  'any',  will
               allow  the  guest  to  create a VNIC with any valid unicast MAC
               address.


           mtu

               The maximum transmission unit of the VNIC  in  bytes.  See  mtu
               property in dladm(8) man page.


           maxbw

               Specify the full duplex bandwidth for the VNIC. See maxbw prop‐
               erty in dladm(8) man page. By default, the VNIC  will  use  the
               maxbw set on the lower-link and if none is set then there is no
               bandwidth limit.


           priority

               Specify the relative priority for the VNIC.  See  the  priority
               property in dladm(8) man page for supported values and default.


           ring-group

               Setting  this  property  allows  a zone to make use of hardware
               ring group capability of the Ethernet link. The possible values
               of this property are:


               auto         The OS decides whether exclusive or shared used on
                            a particular lower-link (the default).


               shared       Do not use a dedicated hardware ring group.


               exclusive    Use a exclusive hardware ring group. If  a  exclu‐
                            sive  hardware  ring  group is not available, anet
                            creation fails.


               If this property is exclusive and lower-link is not  specified,
               the  lower-link  selection logic will take this into considera‐
               tion in addition to other criteria (see lower-link property for
               details).

               This property has the following limitation:

                   o      It is incompatible with anet iov property.



           vlan-id

               Enable VLAN or PVLAN tagging for this VNIC and specify a id for
               the VLAN tag. There is no default value  which  means  if  this
               property  is  not set then the VNIC does not participate in any
               VLAN. This property is not supported on  IPoIB  datalinks.  See
               the dladm(8) man page for supported VLAN ID format.


           vsi-typeid

               Specify  the  VSI  Type  ID  associated  with  a  VNIC. See the
               description in the dladm(8) man page.


           vsi-vers

               Specify the  VSI  Version  associated  with  a  VNIC.  See  the
               description in the dladm(8) man page.


           vsi-mgrid

               Specify  the  VSI  Manager  ID  associated with a VNIC. See the
               description in the dladm(8) man page.


           rxfanout

               Specify the number of  receive-side  fanout  threads.  See  the
               description in the dladm(8) man page.


           rxrings

               Specify  the  receive rings for the VNIC. See the rxrings prop‐
               erty in the dladm(8) man page for supported values and default.


           txrings

               Specify the transmit rings for the VNIC. See the txrings  prop‐
               erty in the dladm(8) man page for supported values and default.


           link-protection

               Enables  one or more types of link protection using comma-sepa‐
               rated values. See the protection property in dladm(8) man  page
               for supported values. It has a default value of mac-nospoof.

               To disable link-protection altogether on an anet, set the link-
               protection value to none. The assumption here  is  that  either
               anti-spoofing  is not required (zone is either trusted or wraps
               advanced network services) or is checked for elsewhere  in  the
               system or network.

               Note  that  adding  ip-nospoof  to  this  property will have no
               effect unless allowed-address is  also  set.  Setting  allowed-
               address  will implicitly add ip-nospoof to the set of link-pro‐
               tection (if link-protection is explicitly set to none, then ip-
               nospoof  will  not be added), and clearing allowed-address will
               remove it.


           allowed-dhcp-cids

               Setting this property will enable dhcp-nospoof on the VNIC. See
               dladm(8) man page for details.


           pkey

               Specifies  the  InfiniBand  Partition key value in hexadecimal.
               pkey is always treated as hexadecimal, whether it  has  the  0x
               prefix or not. This property is only valid for IPoIB datalinks.


           linkmode

               Sets  the  link  transport  service  type  on  an  IB partition
               datalink. The default value is cm. This property is valid  only
               for IPoIB datalinks. Valid values are:

               cm

                   Connected  Mode.  This mode uses a default MTU of 65520 and
                   supports a maximum MTU of 65535 bytes. If Connected Mode is
                   not  available  for a remote node, Unreliable Datagram mode
                   will automatically be used instead.


               ud

                   Unreliable Datagram Mode. This mode uses a default  MTU  of
                   2044 and supports a maximum MTU of 4092 bytes.




           iov

               Setting  this  property  allows a solaris-kz brand zone to make
               use of SR-IOV VFs for network devices. The possible  values  of
               this property are:


                   o      auto: Use a VF if one is available, if not, fallback
                          to using a para-virtual device.


                   o      on: Must use a VF. If a VF is  not  available,  cre‐
                          ation of anet fails.


                   o      off: Do not use a VF (the default).

               If  this  property  is auto/on and lower-link is not specified,
               the lower link selection logic will take this  into  considera‐
               tion in addition to other criteria (see lower-link property for
               details).

               Here are the limitations of this property:

                   o      It can only be used with the solaris-kz brand zone.


                   o      It is incompatible with all anet  properties  except
                          for  lower-link,  id,  mac-address, mac-prefix, mac-
                          slot, maxbw, bwshare, and priority.


                   o      iov can only be "off" or "auto" if lower-link  is  a
                          link aggregation.



           lro

               Large  receive  offload. Valid values are on, off, or auto. The
               value auto is set to inherit the lower link's  lro  disposition
               and  is  the  default. This property is valid only for Ethernet
               links. See the description in the dladm(8) man  page  for  more
               information.

               Here are the limitations of this property:

                   o      It can only be used with the solaris-kz brand zone.





       autopush

           The  set of STREAMS modules to push on the stream associated with a
           link when its DLPI device is opened.  This  property  is  a  comma-
           delimited  list  of  module  names.  It may be used on exclusive-ip
           zones only.


       id

           A positive integer used to identify the network interface; see  the
           solaris-kz(7) man page.


       vlan: vlan-id, dynamic-vlan-id

           The  vlan  resource  is  used  to  add  extra  VLAN IDs to the anet
           resource. The Port VLAN ID for the anet is given by the  anet:vlan-
           id property.


           vlan-id

               specifies  the  VLAN  ID  for which frames must be received and
               sent between the external network and the solaris-kz zone.


           dynamic-vlan-id

               Specify the list of VLAN IDs or VLAN IDs range. With this  set,
               a  solaris-kz(7)  brand  zone can create a VNIC on a particular
               VLAN as long as the VLAN ID is in the dynamic-vlan-id list.

               For certain use cases, one will not know ahead of time the val‐
               ues  of  VLAN  IDs  that  might  be needed inside of a KZ. This
               necessitates the need for dynamic VLAN ID  configuration.  With
               this  setting, guest would be able to push the VLAN ID it needs
               to the host and let the creation of a VNIC succeed inside it as
               long as the VLAN ID is one of the entries in the list.

               Any  other  properties of anet mac resource cannot be specified
               when this property is specified.

               Setting dynamic-vlan-id to a special keyword 'any', will  allow
               the guest to use any valid VLAN ID.

           Specifying  additional set of VLAN IDs provides an ability to place
           zones and VNICs created inside of solaris-kz brand  zone  in  their
           own VLAN. This resource makes solaris-kz brand zone VLAN aware. The
           host forwards the packets meant for these VLANs untouched (does not
           strip  the  VLAN  tag) to solaris-kz zone. The solaris-kz zone will
           then forward the packet to the right client.

           On the transmit side, packets on these  VLANs  will  be  tagged  by
           solaris-kz and passed onto the host. The host forwards the packets,
           without stripping the tag, based on the destination MAC.


       mac: auto-mac-address, mac-address, mac-prefix, id

           The mac resource is used to add extra  mac-addresses  to  the  anet
           resource,  the primary mac address is given by the anet:mac-address
           property.

           auto-mac-address

               Holds the list of the randomly generated MAC addresses when the
               mac-address  property  (see below) is set to random or auto, so
               that the zone re-acquires the same addresses  on  a  persistent
               basis.  To  reset the randomly generated addresses, an adminis‐
               trator needs to clear this property.


           mac-address

               Sets the VNIC's list of MAC addresses based  on  the  specified
               values or keywords. If an element of the list is not a keyword,
               it is interpreted as a uni-cast MAC address. This  property  is
               not supported on IPoIB datalinks. The supported keywords are:


               factory:

                   Assigns  a  factory MAC address to the VNIC. When a factory
                   MAC address is requested, the mac-slot property can be used
                   to  specify the MAC address slot identifier. Otherwise, the
                   next available factory MAC address will be used.


               random:

                   Assigns a random MAC address to the VNIC. Use the  mac-pre‐
                   fix property to specify a prefix. Otherwise, a default pre‐
                   fix consisting of a valid IEEE OUI with the local  bit  set
                   will be used.


               auto:

                   Assigns  random  mac-address,  if  NIC supports it, else it
                   tries to assign a factory mac-address. This is the  default
                   value.


               If  any  random  MAC addresses are selected, then the addresses
               generated  will  be  preserved  across  zone  boots  and   zone
               detach/attach.  This  will  allow  zones  to  retain their DHCP
               leases by maintaining stable client  IDs,  and  otherwise  take
               advantage of other benefits of having stable MAC addresses.


           mac-prefix

               Specifies the list of MAC address prefixes to use if random MAC
               address allocation is requested. Otherwise,  this  property  is
               ignored. This property is not valid over IPoIB datalinks.

               The  id value is a positive integer used to identify a resource
               uniquely.




       ib-vhca: over-hca, id, port

           An ib-vhca resource represents the automatic creation of a  virtual
           Infiniband  HCA device for a kernel zone. When such a zone boots, a
           temporary VHCA is created. It is destroyed when the zone halts.

           The supported properties are described below. All these  properties
           are optional. Only the host system's global zone is allowed to mod‐
           ify the automatically VHCAs. If a property set in zonecfg cannot be
           assigned  to  the  VHCA at its creation time, the zone will fail to
           boot.

           over-hca

               Sets the physical InfiniBand device to use for configuration of
               the  virtual InfiniBand device. The device name is as listed in
               the ibadm command. For more information, see the  ibadm(8)  man
               page.


           smi-enabled

               Specifies  whether  the  virtual  HCA can use Subnet Management
               Packets (SMPs). If the value of this  property  is  "on",  then
               SMPs  are  allowed  for  this  virtual HCA. If this property is
               "off" then SMPs cannot be used with this virtual  HCA.  If  the
               value  is  "readonly", then this virtual HCA can only use query
               SMP operations and not "set" operations. The default  value  is
               "off".  The  value  "on" is not recommended without considering
               the possible security impact on the fabric. When  running  with
               "on", M_Keys should be set on fabric components.


           id

               Uniquely identifies the ib-vhca resource.



       port: pkey, id


           pkey

               Specifies  the  InfiniBand  Partition key value. The pkey value
               can either be a keyword or a comma separated list of  hexadeci‐
               mal values. The 0x prefix should not be used for specifying the
               hexadecimal value. The keyword allowed for pkey is:

               auto    Assigns an automatically generated pkey value based  on
                       over-hca value specified. This is the default value.



           id

               Id is used to uniquely identify the port resource. Each id cor‐
               responds to the physical port number.

           The GUID assigned to each port on zone  boot  can  be  obtained  by
           inspecting the Live Configuration of the running zone.


       device: match, storage, create-size, allow-partition, allow-raw-io,
       allow-mhd, id, bootpri, removable

           Device name to match. This can be a glob pattern  to  match  or  an
           absolute  pathname. Note that device resources and aliased datasets
           can have namespace conflicts in /dev/zvol.  See  the  dev(4FS)  man
           page.

           Alternatively,  the  storage  property  can be set to a storage URI
           (see suri(7)). In this case, the  SURI  is  mapped  when  the  zone
           boots, and the matching device nodes are available inside the zone.
           The SURI is unmapped when the zone halts. In this case,  allow-par‐
           tition is automatically set to true.

           Note  that  only storage property can be used for kernel zones. The
           match property is not supported.  For  more  information,  see  the
           solaris-kz(7) man page.

           If  the  storage  URI supports creation of the device, then create-
           size may be set to describe the size of the device to  be  created.
           If  the storage URI exists and create-size is set, then create-size
           is ignored.

           allow-partition, allow-raw-io, and allow-mhd can be set to true  or
           false, and default to false. See NOTES.


           Note -



             In  general, adding devices to a zone can compromise the security
             of the system; see NOTES.

           The id value is a positive integer used  to  identify  the  virtual
           block device. For more information, see the solaris-kz(7) man page.

           The bootpri property specifies the relative boot priority of a boot
           disk. For more information, see the solaris-kz(7) man page.

           The removable property may be set to true or false. Only file stor‐
           age URIs support the true value. If set, the underlying lofi device
           is set up as removable and  read-only.  See  rmformat(1)  for  more
           information.


       rctl: name, value

           The  name  and  priv/limit/action triple of a resource control. See
           the prctl(1) and rctladm(8) man pages. The  preferred  way  to  set
           rctl  values  is  to use the global property name associated with a
           specific rctl.

           Multiple rctl values may be given, and are of the form:


             (priv=<value>,limit=<value>,action=<value>)




       virtual-cpus: ncpus

           Specify the number of virtual  CPUs  configured  for  a  solaris-kz
           brand zone. See the solaris-kz(7) man page.


       attr: name, type, value

           The  name,  type and value of a generic attribute. The type must be
           one of int, uint, boolean or string, and the value must be of  that
           type. uint means unsigned, that is, a non-negative integer.

           The  name  property of an attr resource is syntactically restricted
           in a fashion similar but not identical to zone names: it must begin
           with an alphanumeric, and can contain alphanumerics plus the hyphen
           (-), underscore (_), and dot (.) characters. Attribute names begin‐
           ning  with  "zone" are reserved for use by the system. Finally, the
           autoboot and global-time global  property  must  have  a  value  of
           "true" or "false".


       dataset: name, alias

           The  name of a ZFS dataset to be accessed from within the zone. See
           the zfs(8) man page. Each dataset is aliased such that  it  appears
           as a virtual ZFS pool in the zone.


           Note -



             The  only  supported  ZFS  dataset  type  for a delegated dataset
             resource is filesystem. Other dataset types, such as Volumes  and
             Snapshots cannot be added.

           The  alias  is  the name of this virtual pool. See the zpool(8) man
           page for name restrictions that apply to ZFS pool names  and  as  a
           result  also  apply  to  dataset  alias  values. The alias rpool is
           reserved from the zone's rpool dataset. Note that aliased  datasets
           and device resources can have namespace conflicts in /dev/zvol. See
           the dev(4FS) man page.

           Dataset to delegate must not be a descendant of any other delegated
           dataset, including the zone's top-level delegated dataset.


       global: cpu-shares

           The number of Fair Share Scheduler (FSS) shares to allocate to this
           zone.  This  property  is  incompatible  with   the   dedicated-cpu
           resource.  This  property is the preferred way to set the zone.cpu-
           shares rctl.


       global: max-adi-metadata-memory

           Total amount of memory for storing ADI metadata of pages  that  may
           be written to the backing store. This property is the preferred way
           to set the zone.max-adi-metadata-memory rctl.


       global: max-lwps

           The maximum number of LWPs simultaneously available to  this  zone.
           This property is the preferred way to set the zone.max-lwps rctl.


       global: max-msg-ids

           The maximum number of message queue IDs allowed for this zone. This
           property is the preferred way to set the zone.max-msg-ids rctl.


       global: max-processes

           The maximum number of process table slots simultaneously  available
           to  this  zone.  This  property  is  the  preferred  way to set the
           zone.max-processes rctl. Setting this property will implicitly  set
           the  value  of  the  max-lwps  property  to  10 times the number of
           process slots unless the max-lwps property has been set explicitly.


       global: max-sem-ids

           The maximum number of semaphore IDs allowed  for  this  zone.  This
           property is the preferred way to set the zone.max-sem-ids rctl.


       global: max-shm-ids

           The maximum number of shared memory IDs allowed for this zone. This
           property is the preferred way to set the zone.max-shm-ids rctl.


       global: max-shm-memory

           The maximum amount of shared memory allowed  for  this  zone.  This
           property  is the preferred way to set the zone.max-shm-memory rctl.
           A scale (K, M, G, T) can be applied to the value  for  this  number
           (for example, 1M is one megabyte).


       global: scheduling-class

           Specifies  the  scheduling  class  used  for processes running in a
           zone. When this property is not specified, the scheduling class  is
           established as follows:

               o      If  the  cpu-shares  property or equivalent rctl is set,
                      the scheduling class FSS is used.


               o      If neither cpu-shares nor the equivalent rctl is set and
                      the  zone's  pool  property references a pool that has a
                      default scheduling class, that class is used.


               o      Under any other conditions, the system default  schedul‐
                      ing class is used.



       dedicated-cpu: cpus, cores, sockets ncpus, importance

           This  resource  will  create a pool and processor set for exclusive
           use by the zone when it boots. These processors are  not  available
           for  use  by  other zones or the global zone while the zone is run‐
           ning. See the poolcfg(8) and pooladm(8) man pages for more informa‐
           tion on pools.

           The  CPUs  to dedicate can be specifically chosen, or automatically
           chosen:


           Choosing specific CPU resources

               Set one of cpus, cores, or sockets to a list of  CPU,  core  or
               socket IDs. Use psrinfo -t and pooladm to see which CPUs, cores
               and/or sockets are available.

               These properties can be set to id list strings as described  by
               the resource-management(7).

               If  any of the specified resources are assigned to another zone
               or pool, the zone will fail to boot. This includes  subsets  of
               the  assigned resources. For example, if an assigned socket has
               a core assigned elsewhere.

               If any of the specified CPU  resources  do  not  exist  or  are
               faulted  or  offline, a warning will be displayed when the zone
               boots. The zone will receive all of the specified CPU resources
               that are online.

               If a CPU resource is partially online, such as a core with some
               CPUs faulted, the zone will receive the remaining  online  CPUs
               from the core, and a warning will be displayed.

               If  none  of  the  specified CPU resources are online, the zone
               will fail to boot.


           Automatically chosen CPUs resources

               This can vary on each boot or live zone reconfiguration of  the
               zone.

               Set  ncpus  to  an  integer  range  or scalar value. A range is
               expressed using a -, such as 1-4 to represent one to four  pro‐
               cessors.  If  a  range is specified, the quantity of CPUs dedi‐
               cated to the zone may change while the zone is running.

               Optionally set importance to  configure  the  pool.  Importance
               value  of the resource pool associated with the dedicated CPUs.
               The importance value is an integer  value.  Pools  with  higher
               importance are favored for CPU allocation when ranges are used.
               See the libpool(3LIB) man page for a description of  importance
               based allocation.

               If  there  are  not sufficient available online CPUs to satisfy
               the minimum or integer value set, the zone will fail to boot or
               live reconfigure.

               When automatic CPUs are configured, the specific CPUs dedicated
               to the zone can change while it is running. For example,  if  a
               CPU  resource  in  use by an automatic running zone is assigned
               elsewhere, the CPU  resource  will  be  replaced  with  another
               available CPU resource. The quantity of CPU resources dedicated
               to a running automatic CPU zone can also change within the con‐
               straints the range specified.

               solaris-kz branded zones cannot change CPUs while running. They
               do not support a range value for ncpus. CPU resources in use by
               running  solaris-kz branded zones cannot be assigned elsewhere,
               even if they are chosen automatically. Due to this, it is  rec‐
               ommended that zones using specific CPUs should be booted before
               solaris-kz branded zones using automatic CPUs.


           This resource is incompatible with both  the  pool  and  cpu-shares
           properties. Only a single instance of this resource can be added to
           the zone.


       capped-memory: physical, swap, locked, pagesize-policy, memory-reserve

           The physical, swap, locked caps on the memory that can be  used  by
           this  zone.  A  scale  (K, M, G, T) can be applied to the value for
           each of these numbers (for example, 1M is one  megabyte).  Each  of
           these  three  properties is optional but at least one property must
           be set when adding this resource. Only a single  instance  of  this
           resource  can  be added to the zone. The physical property sets the
           max-rss for this zone. This will be enforced by rcapd(8) running in
           the  global zone. The swap property is the preferred way to set the
           zone.max-swap rctl. The locked property is the preferred way to set
           the zone.max-locked-memory rctl.

           The  pagesize-policy and memory-reserve properties for the solaris-
           kz brand are mutually exclusive. The  pagesize-policy  property  is
           used  to  specify a policy for using large page(s) for its physical
           memory. The memory-reserve property is used to specify which memory
           reserve  pool  service  to  allocate physical memory from. For more
           information, see the solaris-kz(7) man page.


       capped-cpu: ncpus

           Sets a limit on the amount of CPU time that can be used by a  zone.
           The unit used translates to the percentage of a single CPU that can
           be used by all user threads in a zone, expressed as a fraction (for
           example,  .75)  or  a  mixed number (whole number and fraction, for
           example, 1.25). An ncpu value of 1 means 100% of a CPU, a value  of
           1.25 means 125%, .75 mean 75%, and so forth. When projects within a
           capped zone have their own caps, the  minimum  value  takes  prece‐
           dence.

           The  capped-cpu property is an alias for zone.cpu-cap resource con‐
           trol and is related  to  the  zone.cpu-cap  resource  control.  See
           resource-controls(7).


       global: boot-priority

           Priority  used  by  the  zones  delegated restarter when performing
           autobooting of zones. The priority can be set to high, normal,  and
           low. For more information, see the svc.zones(8) man page.


       smf-dependency: fmri, grouping, name

           Defines  the SMF dependencies for zone SMF instance. All SMF depen‐
           dencies for a zone have restart_on  as  none.  Each  smf-dependency
           resource  must  have one FMRI property. If grouping is omitted, the
           default value require_all is used. Name is optional and  should  be
           used  only  when  grouping multiple FMRIs is required, such as in a
           require_any dependency.  Setting  an  existing  name  automatically
           fills  grouping.  Names with prefix 'SMF-DEP-' are reserved for the
           system and cannot be set. For  more  information  about  dependency
           type,  grouping,  and  restart_on  definitions,  see the smf(7) man
           page.


       admin: user, auths

           Delegates zone administrative authorizations to the specified  user
           or  role.  The  user  must correspond to a valid local account. The
           allowed values for auths are:

           clonefrom

               Allows the use of the specified zone as a source from which  to
               clone a new zone.


           config

               Allows to modify the persistent configuration of the zone.


           liveconfig

               Allows  to  inspect and to modify the live configuration of the
               running zone.


           login

               Allows authenticated use of zlogin(1) into this zone.


           manage

               Allows normal management of the configured zone.


           migrate

               Allows migration  of  the  zone  between  hosts.  Migration  is
               allowed for installed and running zones.


           migrate.cold

               Allows  cold  migration of the zone between hosts. Migration is
               only allowed for installed zones.



       rootzpool: storage

           Defines one or more storage resources to be used exclusively for  a
           dedicated  ZFS  pool  containing the zone installation. The allowed
           values for storage are defined in suri(7).


       zpool: storage, name

           Defines one or more storage resources to be used exclusively for  a
           zpool  delegated  to  the  zone. The allowed values for storage are
           defined in suri(7) man  page.  The  allowed  values  for  name  are
           defined in zpool(8) man page. The name rpool is not permitted.


       npiv: virtual-port-wwn, over-hba

           Sets  an unique 64bit port world wide name to an npiv with virtual-
           port-wwn, which is optional and will be set with  an  automatically
           generated wwn. users can still override this generated wwn.

           Property  over-hba  is  optional  as  well and it could be an empty
           string, which means physical HBA ports are chosen in a  round-robin
           policy  to spread them across the available ports. If this property
           is set the value for over-hba must be an unsigned  integer  leading
           by  'c'  for  one  physical NPIV capable FC HBA controller as shown
           under /dev/cfg/c*. Please refer to cfgadm_fp(8) man page  for  more
           detailed information.


       verified-boot: policy, cert


           policy    Controls  ELF  signature  verification  of bootloader and
                     kernel modules in the zones guest. Values can be  set  to
                     none, warning and enforce. none skips verification. warn‐
                     ing logs  a  message  on  verification  failure.  enforce
                     causes  the  module  to  not load on failure. By default,
                     policy is set to warning.


           cert      Adds customer-installed public key cert  for  third-party
                     and  self-signed  software. These cert files are used for
                     ELF signature verification in  addition  to  the  default
                     Oracle  cert.  The cert path can be added using file:///,
                     http:// or https:// URL.



       keysource: raw

           Provides administrative access to the cryptographic  key  used  for
           kernel  zone  suspend images and host data as described in solaris-
           kz(7) man page. The value of raw cannot  be  set  directly,  except
           with the command_file mode.


       suspend: path, storage

           Configures  the location of a kernel zone's suspend image. Only one
           suspend resource is allowed. If no  suspend  resource  is  present,
           suspend  and  resume are not supported by the kernel zone. The sus‐
           pend resource allows either path or storage to  be  specified,  and
           not  both.  If  path is specified, it is the full path to which the
           suspend file will be written and its parent directory  must  exist.
           If  storage is specified, it must be a device referenced by a stor‐
           age URI as described in suri(7) man page. Currently,  NFS  type  of
           URI is not yet supported.


   Using Kernel Statistics to Monitor CPU Caps
       Using  the  kernel  statistics  (kstat(3KSTAT)) module caps, the system
       maintains information for all capped projects and zones. You can access
       this information by reading kernel statistics (kstat(3KSTAT)), specify‐
       ing caps as the kstat module name. The following command displays  ker‐
       nel statistics for all active CPU caps:


         # kstat caps::'/cpucaps/'




       A  kstat(8)  command  running in a zone displays only CPU caps relevant
       for that zone and for projects in that zone. See EXAMPLES.


       The following are cap-related arguments for use with kstat(8):

       caps

           The kstat module.


       project_caps or zone_caps

           kstat class, for use with the kstat  -c option.


       cpucaps_project_id or cpucaps_zone_id

           kstat name, for use with the kstat  -n option. id is the project or
           zone identifier.




       The  following  fields  are displayed in response to a kstat(8) command
       requesting statistics for all CPU caps.

       module

           In this usage of kstat, this field will have the value caps.


       name

           As described above, cpucaps_project_id or cpucaps_zone_id


       above_sec

           Total time, in seconds, spent above the cap.


       below_sec

           Total time, in seconds, spent below the cap.


       maxusage

           Maximum observed CPU usage.


       nwait

           Number of threads on cap wait queue.


       usage

           Current aggregated CPU usage for all threads belonging to a  capped
           project or zone, in terms of a percentage of a single CPU.


       value

           The cap value, in terms of a percentage of a single CPU.


       zonename

           Name of the zone for which statistics are displayed.




       See EXAMPLES for sample output from a kstat command.

   Configuration From Unified Archives
       Unified  Archives,  created with archiveadm(8), provide a means for ar‐
       chiving Oracle Solaris instances. Each Unified Archive may contain data
       and  metadata  corresponding  to  one  or more global and/or non-global
       zones. By default, archiveadm(8) generates an archive that is  suitable
       for system or zone cloning. Optionally, archiveadm(8) may create an ar‐
       chive that is suitable for system recovery.


       If the zonecfg create -a archive [options] subcommand is used  to  con‐
       figure  a  zone  from  an Unified Archive, archive creation options can
       affect the degree to which the  archived  configuration  is  preserved:
       when  configuring from a clone archive, property values that are likely
       to cause problems if they are the same for multiple hosts will take  on
       a default value. These properties are:

       -           host id


       anet        allowed-address


       anet        mac-address


       anet:mac    mac-address


       net         allowed-address




       Additionally,  if the archived zone name and the name of the zone being
       installed do not match, some properties will be  automatically  updated
       to reflect the new zone name:

       zonepath         If  the  last  element  of  the  zonepath  matches the
                        archived zone name, the last element in  the  zonepath
                        is replaced with the new zone name.


       dataset/alias    For  dataset  resources,  if  the  alias  matches  the
                        archived zone name, the alias is replaced with the new
                        zone name.


       dataset/name     For dataset resources, if the last element of the name
                        property matches the archived zone name, the last ele‐
                        ment  in  the  name  property is replaced with the new
                        zone name.




       Configuration from a Unified Archive does not prevent the use of subse‐
       quent commands to modify resources and property values as required.

OPTIONS
       The following options are supported:

       -f command_file

           Specify  the  name  of zonecfg command file. command_file is a text
           file of zonecfg subcommands, one per line obtained from  output  of
           export subcommand.


       -r

           Enables the live edit mode. Instructs zonecfg to edit the live con‐
           figuration of a running zone instead of a persistent  configuration
           from  a  stable storage. When used, zonecfg retrieves a snapshot of
           the current live zone configuration. The full set of  zonecfg  sub‐
           commands  is  supported  in this mode. The live configuration takes
           effect immediately after it is committed and remains  active  until
           the  next  zone reboot. The live mode is only allowed for a running
           zone and requires the  authorization  solaris.zone.liveconfig/zone‐
           name.


       -z zonename

           Specify  the  name  of  a zone. Zone names are case sensitive. Zone
           names must begin with an alphanumeric  character  and  can  contain
           alphanumeric characters, the underscore (_) the hyphen (-), and the
           dot (.). The name global and  all  names  beginning  with  SYS  are
           reserved and cannot be used.



TOKENS
       The following tokens are supported for use in certain properties:

       %{zonename}            Evaluates to name of the zone.


       %{id}                  Evaluates   to   id  property  of  a  particular
                              resource. This token is used within  a  resource
                              scope which supports id property.


       %{global-rootzpool}    Evaluates to global zone's rootzpool name.


       %%                     Evaluates to %.




         -----------------------------------------------------------------
         |Resource  | Property | Supported Tokens                        |
         |---------------------------------------------------------------|
         |global    | zonepath | %{zonename}                             |
         |---------------------------------------------------------------|
         |dataset   | name     | %{zonename}                             |
         |---------------------------------------------------------------|
         |device    | match    | %{zonename}, %{id}, %{global-rootzpool} |
         |          | storage  | %{zonename}, %{id}, %{global-rootzpool} |
         |---------------------------------------------------------------|
         |fs        | raw      | %{zonename}                             |
         |          | special  | %{zonename}                             |
         |---------------------------------------------------------------|
         |net       | physical | %{id}                                   |
         |---------------------------------------------------------------|
         |anet      | linkname | %{id}                                   |
         |---------------------------------------------------------------|
         |suspend   | storage  | %{zonename}, %{global-rootzpool}        |
         |          | path     | %{zonename}                             |
         |---------------------------------------------------------------|
         |rootzpool | storage  | %{zonename}, %{global-rootzpool}        |
         |---------------------------------------------------------------|
         |zpool     | storage  | %{zonename}, %{global-rootzpool}        |
         -----------------------------------------------------------------



SUBCOMMANDS
       You  can  use  the  add  and  select  subcommands  to select a specific
       resource and change the scope to that resource. The  select  subcommand
       can  only  be  applied on resources that have been already added to the
       zone configuration. Some resources, like anet, are added automatically.
       The end and cancel subcommands are used to complete the resource speci‐
       fication and revert the scope back to global. Certain subcommands, such
       as add, remove and set, have different semantics in each scope.


       zonecfg  supports  a semicolon-separated list of subcommands. For exam‐
       ple:


         # zonecfg -z myzone "add net; set physical=myvnic; end"




       Subcommands which can result in destructive actions  or  loss  of  work
       have  an  -F  option  to  force the action. If input is from a terminal
       device, the user is prompted when appropriate  if  such  a  command  is
       given without the -F option otherwise, if such a command is given with‐
       out the -F option, the action is disallowed, with a diagnostic  message
       written to standard error.


       The following subcommands are supported:

       add resource-type
       add property-name property-value (resource scope)

           In the global scope or in a resource scope, begin the specification
           for a given resource type. The scope is changed  to  that  resource
           type.

           In  the  resource  scope, add a property of the given name with the
           given value. The syntax for property values varies  with  different
           property  types. In general, it is a simple value or a list of sim‐
           ple  values  enclosed  in  square  brackets,  separated  by  commas
           ([foo,bar,baz]). See PROPERTIES.



       cancel

           Ends the resource specification and reset scope to global. Abandons
           any partially specified resources. cancel is only applicable in the
           resource scope.


       clear property-name

           Clears the value for the property to a default value.


       commit [-n] [-q]


           Default mode

               Commits  the  current configuration from memory to stable stor‐
               age. The configuration must be committed to be used by zoneadm.
               Options -n and -q are not permitted in the default mode.


           Live mode

               Reconfigure  the  running  zone  to match the current in-memory
               live configuration and print  out  performed  actions.  Applied
               changes  take effect immediately and remain active until to the
               next zone reboot. If the live configuration externally  changes
               before  the commit subcommand is invoked, the operation returns
               an error. Such a case requires to reload the live configuration
               and reapply desired changes for the commit to succeed.

               The following options are supported:

               -n    Runs  the reconfiguration in a dry run mode that does not
                     change the configuration of a running zone. The  dry  run
                     mode  acts  the  same way as the real reconfiguration but
                     leaves the running zone intact. Use the dry run to review
                     actions  that would be performed by the real reconfigura‐
                     tion.


               -q    Quiet mode. Suppresses all messages related to  the  zone
                     reconfiguration.




           Until  the  in-memory  configuration  is  committed  you can remove
           changes  with  the  reload  subcommand.  The  commit  operation  is
           attempted automatically upon completion of a zonecfg session. Since
           a configuration must be correct to  be  committed,  this  operation
           automatically does a verify.


       create [-F] [-a directory | -b  | -t template]
       create [-F] -a archive [-z archived_zone] [-x <cert|ca-cert|key>=path]
       ...

           Create an in-memory configuration for the specified zone. Use  cre‐
           ate to begin to configure a new zone. See commit for saving this to
           stable storage.

           If you are overwriting an existing configuration,  specify  the  -F
           option  to  force the action. This can be used to re-import a whole
           zone configuration  by  using  zonecfg   -f   input.cfg  with  this
           option. For zones in certain states, additional verification checks
           are done. For example, an installed zone cannot change its brand.

           create uses a default template of SYSdefault. The default  template
           can  be  changed  on a system-wide basis using the default_template
           SMF property of the svc:/system/zones:default service. An  adminis‐
           trator can override the default for this zone using -t (with a spe‐
           cific template) or -b (to use a blank template).

           Use the -a  directory option to facilitate configuring  a  detached
           zone  on a new host. The path parameter is the zonepath location of
           a detached zone that has been moved on to this new host.  Once  the
           detached  zone  is  configured,  it  should  be installed using the
           "zoneadm attach" command (see zoneadm(8) man page). All  validation
           of  the new zone happens during the attach process, not during zone
           configuration.

           Use the -a archive option to facilitate configuring a zone  from  a
           Unified  Archive  created with archiveadm(8). The archive may be an
           absolute path or a file, http, or https URI. If the Unified Archive
           contains  multiple  zones, the -z archived_zone option must be used
           to specify which zone in the archive is to be used  for  configura‐
           tion.  If  archive  is accessed through an https URI, the -x option
           may be used to specify the location of a certificate,  CA  certifi‐
           cate, and/or key file. If specified, the cert, cacert, and key must
           be in PEM format. See "Configuration From Unified Archives" section
           above for more details.

           Use  the  -b  option to create a blank configuration. Without argu‐
           ments, create applies the Oracle Sun default settings.



       delete [-F]

           Delete the specified configuration from memory and stable  storage.
           This  action  is  instantaneous,  no commit is necessary. A deleted
           configuration cannot be reverted.

           Specify the -F option to force the action.


       end

           End the resource specification. This subcommand is only  applicable
           in  the  resource  scope.  zonecfg  checks to make sure the current
           resource is completely specified. If so, it is added to the in-mem‐
           ory  configuration  (see  commit for saving this to stable storage)
           and the scope reverts to global or a previous  resource  scope.  If
           the  specification  is  incomplete,  it issues an appropriate error
           message.


       export [-r] [-f output-file]

           Print configuration to standard output. Includes  only  non-default
           values  explicitly  set by the user. Use the -f option to print the
           configuration to the output-file. This option produces output in  a
           form suitable for use in a command file. If the -r option is speci‐
           fied, the output can be used for re-import when  the  zone  already
           exists.


       help [subcommand]

           Print general help or help about given topic.


       info zonename | zonepath | autoboot | autoshutdown | brand | pool |
       limitpriv | global-time
       info [-a] [-i | -I] [resource-type [identifier | [property-name=prop‐
       erty-value]*]]

           Display  information  about the current configuration. If resource-
           type is specified, it displays only information about resources  of
           the  relevant  type. If any identifier or property name value pairs
           are specified, displays only information  about  resources  meeting
           the  given  criteria. In the resource scope, info displays informa‐
           tion about the resource which is currently being added or modified.

           This subcommand only displays properties with  non-default  values.
           Use the -a option to print all the properties irrespective of their
           value being default or non-default. See the EXAMPLES section.

           Tokens may be displayed when a specific property or  resource  type
           is  requested  in  zonecfg  interactive mode, as property-name.tem‐
           plate: template-value. The evaluated output of this template  value
           is given by property-name: property-value. See EXAMPLES.

           The following options are supported:

           -i    Always include identifiers


           -I    Never include identifiers


           -a    Display all properties (with and without default values).




       remove [-F] resource-type [identifier | [property-name=property-value
       ... ]]

           Remove the specified resource. If you have to remove only a  single
           instance of the resource, you must specify either the identifier or
           enough property name-value pairs for the resource  to  be  uniquely
           identified. If no identifier or property name-value pairs are spec‐
           ified, all instances will be removed. If there  is  more  than  one
           instance of a resource-type, a confirmation is required, unless you
           use the -F option.


       select resource-type [identifier | [property-name=property-value ... ]]

           Select the resource of the given type which matches the  identifier
           specified or the given property-name  property-value pair criteria,
           for modification. The scope is changed to that resource  type.  You
           must  specify  enough  property-name  property-value  pairs for the
           resource to be uniquely identified.


       set property-name=property-value

           Set a given property name to the given value. Some properties  (for
           example,  zonename  and  zonepath)  are  global  while  others  are
           resource-specific. This subcommand is applicable in both the global
           and resource scopes.


       verify [-v]

           Verify the current configuration for correctness:


               o      All  resources  have  all  of  their required properties
                      specified.


               o      A zonepath is specified.

           If the -v option is specified, warnings will be issued if there  is
           a  potential  for devices specified in device resources to conflict
           with and hide ZFS volumes  created  within  aliased  datasets.  See
           dev(4FS) man page.


       reload [-F]

           Discard any uncommitted changes and reload the configuration from a
           stable storage (default mode) or retrieve an up-to-date  configura‐
           tion  of the running zone (live mode). The -F option can be used to
           force the action.


       exit [-F]

           Exit the zonecfg session. A commit is  automatically  attempted  if
           needed.  You  can also use an EOF character to exit zonecfg. The -F
           option can be used to force the action.



EXAMPLES
       Example 1 Creating the Environment for a New Zone



       In the following example, zonecfg creates the  environment  for  a  new
       zone.  /usr/local  is  loopback  mounted  from  the  global  zone  into
       /opt/local. /opt/sfw is loopback mounted from the global zone,  a  VNIC
       over nxge0 is added to the zone with three IP addresses, and a limit on
       the number of fair-share scheduler (FSS) CPU shares for a zone  is  set
       using  the  rctl  resource type. The example also shows how to select a
       given resource for modification; in this case, by  selecting  the  anet
       resource that is automatically created by zonecfg.



         example# zonecfg -z myzone
         my-zone3: No such zone configured
         Use 'create' to begin configuring a new zone.
         zonecfg:myzone> create
         zonecfg:myzone> info zonepath
         zonepath.template: /system/zones/%{zonename}
         zonepath: /system/zones/myzone
         zonecfg:myzone> set autoboot=true
         zonecfg:myzone> add fs
         zonecfg:myzone:fs> set dir=/opt/local
         zonecfg:myzone:fs> set special=/usr/local
         zonecfg:myzone:fs> set type=lofs
         zonecfg:myzone:fs> add options [ro,nodevices]
         zonecfg:myzone:fs> end
         zonecfg:myzone> add fs
         zonecfg:myzone:fs> set dir=/mnt
         zonecfg:myzone:fs> set special=/dev/dsk/c0t0d0s7
         zonecfg:myzone:fs> set raw=/dev/rdsk/c0t0d0s7
         zonecfg:myzone:fs> set type=ufs
         zonecfg:myzone:fs> end
         zonecfg:myzone> add fs
         zonecfg:myzone:fs> set dir=/opt/sfw
         zonecfg:myzone:fs> set special=/opt/sfw
         zonecfg:myzone:fs> set type=lofs
         zonecfg:myzone:fs> add options [ro,nodevices]
         zonecfg:myzone:fs> end
         zonecfg:myzone> select anet linkname=net0
         zonecfg:myzone:anet> set lower-link=nxge0
         zonecfg:myzone:anet> set allowed-address="192.168.0.1/24, \
           192.168.1.2/24,192.168.2.3/24"
         zonecfg:myzone:anet> end
         zonecfg:my-zone3> set cpu-shares=5
         zonecfg:my-zone3> add capped-memory
         zonecfg:my-zone3:capped-memory> set physical=50m
         zonecfg:my-zone3:capped-memory> set swap=100m
         zonecfg:my-zone3:capped-memory> end
         zonecfg:myzone> exit



       Example 2 Creating an Exclusive-IP Zone



       The  following  example  creates  a  zone that is assigned a VNIC named
       net0. The link over which the VNIC is created is  automatically  deter‐
       mined.  The IP addresses and routing are configured inside the new zone
       using ipadm(8).



         example# zonecfg -z excl-ip
         zonecfg:excl-ip> create
         zonecfg:excl-ip> exit



       Example 3 Creating a Shared-IP Zone



       The following example creates a zone that shares an IP stack  with  the
       global zone, and is assigned a single IP address and default router.



         example# zonecfg -z shared-ip
         zonecfg:shared-ip> create -b
         zonecfg:shared-ip> set ip-type=shared
         zonecfg:shared-ip> add net
         zonecfg:shared-ip:net> set physical=nge0
         zonecfg:shared-ip:net> set address=192.168.0.3/24
         zonecfg:shared-ip:net> set defrouter=192.168.0.1
         zonecfg:shared-ip:net> end
         zonecfg:shared-ip> exit



       Example 4 Associating a Zone with a Resource Pool



       The  following  example shows how to associate an existing zone with an
       existing resource pool:



         example# zonecfg -z myzone
         zonecfg:myzone> set pool=mypool
         zonecfg:myzone> exit





       For more information about resource pools, see pooladm(8), poolbind(8),
       and poolcfg(8) man pages.

       Example 5 Changing the Name of a Zone



       Changing  the  zonename property is permitted only for zones in config‐
       ured state. For zones in installed state, use  the  zoneadm(8)   rename
       subcommand.  The  following  example shows how to change the name of an
       existing zone:



         example# zonecfg -z myzone
         zonecfg:myzone> set zonename=myzone2
         zonecfg:myzone2> exit



       Example 6 Changing the Privilege Set of a Zone



       The following example shows how to change the  set  of  privileges.  An
       existing  zone's processes will be limited to the next time the zone is
       booted. In this particular case, the privilege set will be the standard
       safe  set  of privileges that a zone normally has along with the privi‐
       lege to use the profile and  syscall  providers  of  dtrace  with  some
       caveats:



         example# zonecfg -z myzone
         zonecfg:myzone> set limitpriv="default,dtrace_user"
         zonecfg:myzone2> exit



       Example 7 Changing global-time property to set systime-wide time



         example# zonecfg -z myzone
         zonecfg:myzone> set global-time="true"
         zonecfg:myzone2> exit



       Example 8 Setting the zone.cpu-shares Property for the Global Zone



       The  following command sets the zone.cpu-shares property for the global
       zone:



         example# zonecfg -z global
         zonecfg:global> set cpu-shares=5
         zonecfg:global> exit



       Example 9 Using Pattern Matching



       The following commands illustrate zonecfg support for pattern matching.
       In the zone flexlm, enter:



         zonecfg:flexlm> add device
         zonecfg:flexlm:device> set match="/dev/cua/a00[2-5]"
         zonecfg:flexlm:device> end





       In the global zone, enter:



         global# ls /dev/cua
         a     a000  a001  a002  a003  a004  a005  a006  a007  b





       In the zone flexlm, enter:



         flexlm# ls /dev/cua
         a002  a003  a004  a005



       Example 10 Setting a Cap for a Zone to Three CPUs



       The  following sequence uses the zonecfg command to set the CPU cap for
       a zone to three CPUs.



         zonecfg:myzone> add capped-cpu
         zonecfg:myzone>capped-cpu> set ncpus=3
         zonecfg:myzone>capped-cpu>capped-cpu> end





       The preceding sequence, which uses the capped-cpu property, is  equiva‐
       lent  to  the  following  sequence, which makes use of the zone.cpu-cap
       resource control.



         zonecfg:myzone> add rctl
         zonecfg:myzone:rctl> set name=zone.cpu-cap
         zonecfg:myzone:rctl> add value (priv=privileged,limit=300,action=none)
         zonecfg:myzone:rctl> end



       Example 11 Using kstat to Monitor CPU Caps



       The following command displays information about all CPU caps.



         # kstat -n /cpucaps/
         module: caps                            instance: 0
         name:   cpucaps_project_0               class:    project_caps
                 above_sec                       0
                 below_sec                       2157
                 crtime                          821.048183159
                 maxusage                        2
                 nwait                           0
                 snaptime                        235885.637253027
                 usage                           0
                 value                           18446743151372347932
                 zonename                        global

         module: caps                            instance: 0
         name:   cpucaps_project_1               class:    project_caps
                 above_sec                       0
                 below_sec                       0
                 crtime                          225339.192787265
                 maxusage                        5
                 nwait                           0
                 snaptime                        235885.637591677
                 usage                           5
                 value                           18446743151372347932
                 zonename                        global

         module: caps                            instance: 0
         name:   cpucaps_project_201             class:    project_caps
                 above_sec                       0
                 below_sec                       235105
                 crtime                          780.37961782
                 maxusage                        100
                 nwait                           0
                 snaptime                        235885.637789687
                 usage                           43
                 value                           100
                 zonename                        global

         module: caps                            instance: 0
         name:   cpucaps_project_202             class:    project_caps
                 above_sec                       0
                 below_sec                       235094
                 crtime                          791.72983782
                 maxusage                        100
                 nwait                           0
                 snaptime                        235885.637967512
                 usage                           48
                 value                           100
                 zonename                        global

         module: caps                            instance: 0
         name:   cpucaps_project_203             class:    project_caps
                 above_sec                       0
                 below_sec                       235034
                 crtime                          852.104401481
                 maxusage                        75
                 nwait                           0
                 snaptime                        235885.638144304
                 usage                           47
                 value                           100
                 zonename                        global

         module: caps                            instance: 0
         name:   cpucaps_project_86710           class:    project_caps
                 above_sec                       22
                 below_sec                       235166
                 crtime                          698.441717859
                 maxusage                        101
                 nwait                           0
                 snaptime                        235885.638319871
                 usage                           54
                 value                           100
                 zonename                        global

         module: caps                            instance: 0
         name:   cpucaps_zone_0                  class:    zone_caps
                 above_sec                       100733
                 below_sec                       134332
                 crtime                          821.048177123
                 maxusage                        207
                 nwait                           2
                 snaptime                        235885.638497731
                 usage                           199
                 value                           200
                 zonename                        global

         module: caps                            instance: 1
         name:   cpucaps_project_0               class:    project_caps
                 above_sec                       0
                 below_sec                       0
                 crtime                          225360.256448422
                 maxusage                        7
                 nwait                           0
                 snaptime                        235885.638714404
                 usage                           7
                 value                           18446743151372347932
                 zonename                        test_001

         module: caps                            instance: 1
         name:   cpucaps_zone_1                  class:    zone_caps
                 above_sec                       2
                 below_sec                       10524
                 crtime                          225360.256440278
                 maxusage                        106
                 nwait                           0
                 snaptime                        235885.638896443
                 usage                           7
                 value                           100
                 zonename                        test_001



       Example 12 Displaying CPU Caps for a Specific Zone or Project



       Using the kstat  -c and -i options, you can display CPU caps for a spe‐
       cific  zone  or project, as below. The first command produces a display
       for a specific project, the second for the same project within zone 1.



         # kstat -c project_caps

         # kstat -c project_caps -i 1



       Example 13 Delegating Zone Administrative Rights



       The following example shows how to assign administrative rights for the
       current zone to a role.



         example# zonecfg -z myzone
         zonecfg:myzone> add admin
         zonecfg:myzone:admin> set user=zadmin
         zonecfg:myzone:admin> set auths=login,manage
         zonecfg:myzone:admin> end
         zonecfg:myzone> commit





       The result of executing these commands would be an updated entry in the
       RBAC user_attr(5) database, similar to the following:



         zadmin::::type=role; \
           auths=solaris.zone.login/myzone,solaris.zone.manage/myzone; \
           profiles=Zone Management



       Example 14 Creating an Exclusive-IP Zone with Non-Default Properties



       The following example creates a zone with an automatically created VNIC
       over mylink0 with the given MAC address, maximum bandwidth of 100 Mbps,
       high priority, dedicated hardware rings for RX side, no dedicated hard‐
       ware rings for the TX side (that is, software-based) and with a VLAN id
       2.


         example# zonecfg -z excl-ip
         excl-ip: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:excl-ip> create -b
         zonecfg:excl-ip> add anet
         zonecfg:excl-ip:anet> set linkname=mynic0
         zonecfg:excl-ip:anet> set lower-link=mylink0
         zonecfg:excl-ip:anet> set mac-address=8:0:20:fe:4e:b8
         zonecfg:excl-ip:anet> set maxbw=100M
         zonecfg:excl-ip:anet> set priority=high
         zonecfg:excl-ip:anet> set vlan-id=2
         zonecfg:excl-ip:anet> set rxrings=hw
         zonecfg:excl-ip:anet> set txrings=sw
         zonecfg:excl-ip:anet> end
         zonecfg:excl-ip> exit



       Example 15 Creating a Read-Only Zone



       The following example creates a new zone that has its  root  filesystem
       protected against modifications by the zone. Files in /var are writable
       by virtue of the fixed-configuration profile that is applied.



         example# zonecfg -z rozone
         rozone: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:rozone> create
         zonecfg:rozone> set brand=solaris
         zonecfg:rozone> set autoboot=true
         zonecfg:rozone> set file-mac-profile=fixed-configuration
         zonecfg:rozone> add net
         zonecfg:rozone:net> set physical=vnic0
         zonecfg:rozone:net> end
         zonecfg:rozone> exit



       Example 16 Creating an Exclusive-IP Zone with an IB Partition



       The following example creates a zone with default properties. The  zone
       will  automatically  create  a  IPoIB  datalink when the zone boots and
       delete the datalink when the zone halts.



         example# zonecfg -z excl-ip
         excl-ip: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:excl-ip> create
         zonecfg:excl-ip> set ip-type=exclusive
         zonecfg:excl-ip> add anet
         zonecfg:excl-ip> set linkname=part0
         zonecfg:excl-ip> set lower-link=net4
         zonecfg:excl-ip> set pkey=ffff
         zonecfg:excl-ip:anet> end
         zonecfg:excl-ip> exit



       Example 17 Creating a Zone Installed into a Dedicated Storage  Resource
       and rootzpool



       The following example creates a new zone with a rootzpool resource com‐
       prised of one storage resource containing the entire zone installation.
       The  rootzpool  will be automatically created or a pre-created ZFS pool
       will be imported during zone installation. In this  case  with  a  zone
       name being zoss, the pool's name will be zoss_rpool.



         example# zonecfg -z zoss
         zoss: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:zoss> create
         zonecfg:zoss> add rootzpool
         zonecfg:zoss:rootzpool> add storage \
           iscsi://127.0.0.1/luname.naa.600144f03d70c80000004ea57da10001
         zonecfg:zoss:rootzpool> end
         zonecfg:zoss> exit



       Example 18 Creating a Zone with a Delegated zpool Resource



       The  following  example  creates a new zone with a zpool resource dele‐
       gated to the zone comprised of two storage resources. The zpool will be
       automatically  created  or  a pre-created zpool will be imported during
       zone installation. The name will be zoss_mypool.



         example# zonecfg -z zoss
         zoss: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:zoss> create
         zonecfg:zoss> set zonepath=/zoss
         zonecfg:zoss> add zpool
         zonecfg:zoss:zpool> set name=mypool
         zonecfg:zoss:zpool> add storage dev:/dev/dsk/c0t1d0
         zonecfg:zoss:zpool> add storage dev:/dev/dsk/c1t1d0
         zonecfg:zoss:zpool> end
         zonecfg:zoss> exit



       Example 19 Creating a Zone with an npiv Resource



       The following example creates a new zone with two npiv resources  dele‐
       gated  to  the  zone.  The two npiv ports will be automatically created
       during zone installation.



         example# zonecfg -z vzone
         vzone: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:vzone> create
         zonecfg:vzone> add npiv
         zonecfg:vzone:npiv> set virtual-port-wwn=2100000000000001
         zonecfg:vzone:npiv> set over-hba=c9
         zonecfg:vzone:npiv> end
         zonecfg:vzone> add npiv
         zonecfg:vzone:npiv> end
         zonecfg:vzone> exit



       Example 20 Inspecting the Live Configuration of the Running Zone



       The following example inspects the live configuration  of  the  running
       zone.



         example# zonecfg -z myzone -r
         zonecfg:myzone> info



       Example  21  Temporarily  adding a new anet to the Running Zone Without
       Rebooting the Zone



       The following example temporarily adds a new anet to the  running  zone
       without rebooting the zone.



         example# zonecfg -z myzone -r
         zonecfg:myzone> add anet
         zonecfg:myzone> set linkname=anet1
         zonecfg:myzone> set lower-link=net1
         zonecfg:myzone> end
         zonecfg:myzone> commit



       Example 22 Creating a Zone Configuration From a Unified Archive



       The  following  example creates a new zone configuration from a Unified
       Archive stored in /export/archives. The archive contains only one zone,
       named web with zonepath /zones/web. As is shown by the info subcommand,
       the zonepath was adjusted as described in the Configuration  From  Uni‐
       fied Archives section, above.



         example# zonecfg -z uar-zone
         uar-zone: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:uar-zone> create -a /export/archives/web.uar
         zonecfg:uar-zone> info zonepath
         zonepath: /zones/web
         zonecfg:uar-zone> set zonepath=/system/zones/uar-zone
         zonecfg:uar-zone> exit





       Equivalently, this could be done in non-interactive mode:



         example# zonecfg -z uar-zone \
           "create -a /export/archives/web.uar; set zonepath=/system/zones/uar-zone"



       Example  23  Creating  a Zone Configuration From a Unified Archive on a
       Secure Web Server



       This example shows a non-interactive command  that  configures  a  zone
       from  an archive on a secure web server. The -z option is used to spec‐
       ify that a specific archived zone is to be used  as  the  configuration
       source. The certificate, CA certificate, and key were first transferred
       to this machine.



         example# zonecfg -z uar-zone create \
           -a https://install.example.com/archives/combo.uar \
           -z database \
           -x cert=/root/install.pem \
           -x cacert=/root/example.com.pem  \
           -x key=/root/sslkey.pem \
           "set zonepath=/system/zones/uar-zone"



       Example 24 Creating a Zone Configuration for p2v of a Global Zone



       This example shows the creation of a zone configuration from a  Unified
       Archive using an archived global zone as the source. Note that the zone
       configuration found in the archive was generated with zonep2vchk(8) and
       as  such  may  include  notes  for further customization that is recom‐
       mended.



         example# zonecfg -z uar-gz
         uar-gz: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:uar-gz> create -a /export/p2v.uar -z global
         zonecfg:uar-gz> info attr
         attr:
              name: zonep2vchk-info
              type: string
              value: "p2v of host m4k"
         attr:
              name: zonep2vchk-net-blue0
              type: string
              value: "original system had NIC blue0 with MAC
                     address 0:8:20:9e:eb:8c and IP address
                     10.147.23.12: consider anet
                     (linkname=blue0
                     mac-address=0:8:20:9e:eb:8c
                     allowed-address=10.147.23.12)"
         attr:
              name: zonep2vchk-num-cpus
              type: string
              value: "original system had 4 CPUs: consider
                     capped-cpu (ncpus=4.0) or dedicated-cpu
                     (ncpus=4)"
         attr:
              name: zonep2vchk-physmem
              type: string
              value: "original system had 32 GB: consider
                     capped-memory (physical=32G)"
         attr:
              name: zonep2vchk-swap
              type: string
              value: "original system had 48 GB: consider
                     capped-memory (swap=48G)"
         zonecfg:uar-gz> select anet linkname=blue0
         zonecfg:uar-gz:anet> set allowed-address=10.147.23.12
         zonecfg:uar-gz:anet> set configure-allowed-address=true
         zonecfg:uar-gz:anet> end
         zonecfg:uar-gz> add capped-memory
         zonecfg:uar-gz:capped-memory> set swap=48G
         zonecfg:uar-gz:capped-memory> end
         zonecfg:uar-gz> exit



       Example 25 Creating a Zone That has an anet Resource That  Connects  to
       an Elastic Virtual Switch.



       The following example creates a zone that has a VNIC anet resource that
       connects to an EVS evsa and VPort vport0 for tenant tenantA.



         example# zonecfg -z evszone
         evszone: No such zone configured
         Use 'create' to begin configuring a new zone
         zonecfg:evszone> create
         zonecfg:evszone> set tenant=tenantA
         zonecfg:evszone> add anet
         zonecfg:evszone:anet> set evs=EVSA
         zonecfg:evszone:anet> set vport=vport0
         zonecfg:rozone:net> end
         zonecfg:rozone> exit

         example# zoneadm -z evszone install
         example# zoneadm -z evszone boot
         example# dladm show-vnic -c
         LINK           TENANT   EVS   VPORT   OVER  MACADDRESS        VIDS
         evszone/net0   tenantA  EVSA  vport0  net2  2:8:20:1a:c1:e4   0





       When the zone boots, evszone/net0 VNIC anet will have the MAC  address,
       IP address, and the SLA properties of the vport EVSA/vport0.

       Example 26 Changing Verified Boot Settings



         # zonecfg -z vbzone1
         zonecfg:vbzone1> add verified-boot
         zonecfg:vbzone1:verified-boot> set policy=enforce
         zonecfg:vbzone1:verified-boot> add cert \
           file:///etc/certs/elfsign/mycert.pem
         zonecfg:vbzone1:verified-boot> add cert \
           http://keyserv.hang10software.com/keydist/hang10se.pem
         zonecfg:vbzone1:verified-boot> end



       Example  27  Copying  a  Zone  Configuration to Another System for Zone
       Migration



       When manually migrating a zone from one global zone to  another  global
       zone, the zone configuration needs to migrate first. The export subcom‐
       mand exports all zone configuration such that it can be used  with  the
       zonecfg  -f option on the new global zone with exact preservation. If a
       procedure like the one shown in this example is not used, kernel  zones
       will  not  be able to access any suspend file or properly attach to the
       new global zone.



         global-1# zonecfg -z myzone export -f /net/scratch/export/myzone.cfg

         global-2# zonecfg -z myzone -f /net/scratch/export/myzone.cfg



       Example 28 Using the anet iov property for a kernel zone



       In this example, iov-kz is a kernel zone with a single anet.



         global# zonecfg -z iov-kz
         zonecfg:iov-kz> select anet id=0
         zonecfg:iov-kz:anet> set iov=auto
         zonecfg:iov-kz:anet> end
         zonecfg:iov-kz> exit





       If lower-link is not auto, the user must ensure that the lower-link has
       iov  turned  on  before booting the kernel zone. If lower-link is auto,
       the user must ensure that global zone has at least one  link  with  iov
       turned on.



       If iov is not on, it can be turned on by:



         # dladm set-linkprop -p iov=on net1





       If a VF is available, after booting the kernel zone, a VF should appear
       as a physical NIC device within the kernel zone:



         iov-kz# dladm show-phys





         LINK      MEDIA        STATE      SPEED    DUPLEX    DEVICE
         net0      Ethernet     up         10000    full      ixgbevf0



       Example 29 Using an NFS SURI for a Device Property in a Kernel Zone



         # zonecfg -z nfs-kz
         zonecfg:nfs-kz> add device
         zonecfg:nfs-kz> set \
           storage=nfs://user1:staff@testsys1/export/test/nfs-kz-dev1
         zonecfg:nfs-kz> set create-size=8g
         zonecfg:nfs-kz> end
         zonecfg:nfs-kz> exit



       Example 30 Creating a Zone with an anet Resource that has Multiple VLAN
       IDs Specified



         # zonecfg -z vlan-kz
         zonecfg:vlan-kz> create -t SYSsolaris-kz
         zonecfg:vlan-kz> select anet id=0
         zonecfg:vlan-kz> set mac-address=0:1:2:3:4:5
         zonecfg:vlan-kz:anet> set vlan-id=11
         zonecfg:vlan-kz:anet> add vlan
         zonecfg:vlan-kz:anet:vlan> set vlan-id=45
         zonecfg:vlan-kz:anet:vlan> end
         zonecfg:vlan-kz:anet> add vlan
         zonecfg:vlan-kz:anet:vlan> set vlan-id=46
         zonecfg:vlan-kz:anet:vlan> end
         zonecfg:vlan-kz:anet> info vlan
              vlan 0:
                   vlan-id: 45
              vlan 1:
                   vlan-id: 46
         zonecfg:vlan-kz:anet> end
         zonecfg:vlan-kz> commit
         zonecfg:vlan-kz> exit





       This  implies  that the virtual-switch on the host is now configured to
       handle frames with the following <mac-address, vlan-id> tuples:



         -- <0:1:2:3:4:5, 11>
         -- <0:1:2:3:4:5, 45>
         -- <0:1:2:3:4:5, 46>





       Frames arriving with  <0:1:2:3:4:5,  11>  tuple  will  have  their  VID
       stripped  and  passed  on  to  the solaris-kz. Guest will never see the
       packets tagged with VID 11. While the frames with <0:1:2:3:4:5, 45> and
       <0:1:2:3:4:5, 46> will be passed as is to solaris-kz.



       Inside  vlan-kz, if there is a VLAN datalink vlan45 with VID of 45, the
       virtual switch in the guest will strip VID 45 from the frame  and  pass
       the  frame  to  vlan45. All the frames originating from vlan45 datalink
       inside the guest will be tagged by the virtual-switch in the guest  and
       passed  onto  the  anet in the host. The host anet will pass the frames
       directly to the NIC to be sent out.

       Example 31 Setting boot-priority and SMF Dependencies of a Zone



       Set the high boot priority for the zone and its SMF instance  dependen‐
       cies, requiring



         svc:/application/frobnicate:default





       and any of



         svc:/system/zones/zone:appfirewall
         svc:/3rdparty/my-firewall:default





       and excluding the zone



         svc:/system/zones/zone:dataload





         example# zonecfg -z foo
         zonecfg:foo> set boot-priority=high
         zonecfg:foo> add smf-dependency
         zonecfg:foo:smf-dependency> set
           fmri=svc:/application/frobnicate:default
         zonecfg:foo:smf-dependency> end
         zonecfg:foo> add smf-dependency
         zonecfg:foo:smf-dependency> set name=firewall
         zonecfg:foo:smf-dependency> set fmri=svc:/system/zones/zone:appfirewall
         zonecfg:foo:smf-dependency> set grouping=require_any
         zonecfg:foo:smf-dependency> end
         zonecfg:foo> add smf-dependency
         zonecfg:foo:smf-dependency> set name=firewall
         zonecfg:foo:smf-dependency> set fmri=svc:/3rdparty/my-firewall:default
         zonecfg:foo:smf-dependency> end
         zonecfg:foo> add smf-dependency
         zonecfg:foo:smf-dependency> set fmri=svc:/system/zones/zone:dataload
         zonecfg:foo:smf-dependency> set grouping=exclude_all
         zonecfg:foo:smf-dependency> end
         zonecfg:foo> exit



       Example  32  Setting up solaris-kz Brand Zone for Dynamic Configuration
       of MAC Addresses and VLAN IDs



         # zonecfg -z dyn-vlan-kz
         zonecfg:dyn-vlan-kz> create -t SYSsolaris-kz
         zonecfg:dyn-vlan-kz> select anet id=0
         zonecfg:dyn-vlan-kz> set mac-address=0:1:2:3:4:5
         zonecfg:dyn-vlan-kz:anet> add mac
         zonecfg:dyn-vlan-kz:anet:mac> add allowed-mac-address fa:16:3f
         zonecfg:dyn-vlan-kz:anet:mac> add allowed-mac-address fa:80:20:21:22
         zonecfg:dyn-vlan-kz:anet:mac> end
         zonecfg:dyn-vlan-kz:anet> end
         zonecfg:dyn-vlan-kz:anet> info mac
              mac 0:
                   mac-address not specified
                   auto-mac-address not specified
                   mac-prefix not specified
                   allowed-mac-address: fa:16:3f
                   allowed-mac-address: fa:80:20:21:22
                   id: 0
         zonecfg:dyn-vlan-kz:anet> add vlan
         zonecfg:dyn-vlan-kz:anet:vlan> add dynamic-vlan-id 100-199
         zonecfg:dyn-vlan-kz:anet:vlan> add dynamic-vlan-id 400-498
         zonecfg:dyn-vlan-kz:anet:vlan> end
         zonecfg:dyn-vlan-kz:anet> info vlan
              vlan 0:
                   vlan-id: not specified
                   dynamic-vlan-id: 100-199
                   dynamic-vlan-id: 400-498
                   dynamic-vlan-id: 500
         zonecfg:dyn-vlan-kz:anet> end
         zonecfg:dyn-vlan-kz> commit
         zonecfg:dyn-vlan-kz> exit





       Therefore, running solaris-kz brand zone can create a VNIC with any MAC
       address  in fa:80:20:21:22:00 to fa:80:20:21:22:ff or fa:16:3f:00:00:00
       to fa:16:3f:ff:ff:ff and/or with any one of the 200 VLAN IDs  (100-199,
       400-498, and 500).

       Example 33 Using info -a to Display all Properties of a Zone



       In  the  following  example,  zonecfg creates the environment for a new
       zone. The zonepath is set to  /system/zones/%{zonename}.  This  matches
       the  default value. On using the info subcommand (without any options),
       this property gets excluded from the output along with any other  prop‐
       erty which matches its default value.



         example# zonecfg -z zone1
         zonecfg:zone1> info
         zonename: zone1
         brand: solaris
         anet 0:
         linkname: net0
         configure-allowed-address: true





       Here  the  -a  option can be used to display all the properties whether
       they match the default value or not.



         zonecfg:zone1> info -a
         zonename: zone1
         zonepath.template: /system/zones/%{zonename}
         zonepath: /system/zones/zone1
         brand: solaris
         autoboot: false
         autoshutdown: shutdown
         bootargs:
         file-mac-profile:
         pool:
         limitpriv:
         scheduling-class:
         ip-type: exclusive
         hostid:
         tenant:
         fs-allowed:
         anet 0:
         linkname: net0
         lower-link: auto
         allowed-address:
         configure-allowed-address: true
         defrouter:
         allowed-dhcp-cids:
         link-protection: mac-nospoof
         mac-address: auto
         auto-mac-address:
         mac-prefix:
         mac-slot:
         vlan-id:
         priority:
         rxrings:
         txrings:
         mtu:
         maxbw:
         bwshare:
         rxfanout:
         vsi-typeid:
         vsi-vers:
         vsi-mgrid:
         etsbw-lcl:
         cos:
         pkey:
         linkmode:
         evs:
         vport:



       Example 34 Setting up anets on solaris-kz Brand Zone  for  High  Avail‐
       ability



         # dladm set-linkprop -p iov=on net0
         # dladm set-linkprop -p iov=on net2
         # dladm create-aggr -l net0 -l net2 -m dlmp halink0

         # zonecfg -z ha-kz
         zonecfg:ha-kz> create -t SYSsolaris-kz
         zonecfg:ha-kz> add anet
         zonecfg:ha-kz:anet> set lower-link=halink0
         zonecfg:ha-kz:anet> set iov=off
         zonecfg:ha-kz:anet> set maxbw=500
         zonecfg:ha-kz:anet> set id=0
         zonecfg:ha-kz:anet> end
         zonecfg:ha-kz> add anet
         zonecfg:ha-kz:anet> set lower-link=halink0
         zonecfg:ha-kz:anet> set iov=auto
         zonecfg:ha-kz:anet> set bwshare=60
         zonecfg:ha-kz:anet> set id=1
         zonecfg:ha-kz:anet> end
         zonecfg:ha-kz> commit
         zonecfg:ha-kz> exit





       Therefore, the two anet datalinks running on solaris-kz brand zone will
       be reliably protected by DLMP aggregation against network failures.

       Example 35 Create a Configuration For Export



         # zonecfg
         Use 'create' to begin configuring a new zone.
         zonecfg> create -t SYSsolaris
         zonecfg> set autoboot=true
         zonecfg> export -r
         create -Fb
         set brand=solaris
         set autoboot=true
         add anet
         set linkname=net0
         set configure-allowed-address=true
         end



       Example 36 Re-import a Zone Configuration



         # zonecfg -z myzone info autoboot
         autoboot: false
         # zonecfg -z myzone <<EOF
         > create -Fb
         > set brand=solaris
         > add anet
         > set linkname=net0
         > end
         > set autoboot=true
         > EOF
         Zone myzone already exists; overwriting.
         # zonecfg -z myzone info autoboot
         autoboot: true



EXIT STATUS
       The following exit values are returned:

       0

           Successful completion.


       1

           An error occurred.


       2

           Invalid usage.



ATTRIBUTES
       See the attributes(7)  man  page  for  descriptions  of  the  following
       attributes:


       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Availabilitysystem/zones _ Interface StabilityVolatile


SEE ALSO
       lgrpinfo(1),    ppriv(1),    prctl(1),    zlogin(1),     kstat(3KSTAT),
       priv_str_to_set(3C),    hsfs(4FS),   uscsi(4I),   dev(4FS),   zfs(4FS),
       user_attr(5), vfstab(5), attributes(7), brands(7), fnmatch(7), mwac(7),
       privileges(7),  rbac(7),  resource-controls(7), resource-management(7),
       solaris(7),   solaris-kz(7),   suri(7),   tpd(7),   uar(7),   zones(7),
       archiveadm(8),  dladm(8),  evsadm(8),  format(8),  ipadm(8),  kstat(8),
       mount(8), pooladm(8), poolbind(8),  poolcfg(8),  poold(8),  psrinfo(8),
       rcapd(8),   rctladm(8),   route(8),   suriadm(8),   svcadm(8),  zfs(8),
       zoneadm(8), zonep2vchk(8), zpool(8)


       Resource Management and Oracle Solaris Zones Developer's Guide

NOTES
       All character data used by zonecfg must be in US-ASCII encoding.


       Adding a device to a zone, in general, can allow the zone to  adversely
       affect  the  security  and  stability of the system, as not all devices
       have been audited for secure use inside a zone.


       Storage devices using the sd or ssd target driver (this can be  checked
       using prtconf -D /dev/dsk/c2t40d3, for example) can be safely delegated
       to a zone. This will allow a zone admin to  label  and  partition  such
       devices.


       In  order  to  allow  disk  labeling  by  means of format(8), an entire
       disk/LUN should be delegated to a zone, and the  allow-partition  prop‐
       erty set. For example:


         zonecfg:myzone> add device
         zonecfg:myzone> set match=/dev/*dsk/c2t40d3*
         zonecfg:myzone> set allow-partition=true
         zonecfg:myzone> end




       While  it  is  not  recommended, it is also possible to delegate just a
       single slice (for example,  match=/dev/dsk/c2t40d3s0)  of  a  disk.  In
       order  for  this  to  be safe, the allow-partition property must not be
       true, and the slice or partition must not overlap the  disk  header  of
       disk  labels (these are located within the first two or last two blocks
       of the partition or disk).


       Raw access to storage devices can be enabled by setting the  allow-raw-
       io  property  to  true.  This is unsafe, as it allows raw SCSI commands
       (see uscsi(4I) man page) to be performed by zone processes.


       The allow-mhd property allows applications to use the mhd(4I) ioctls on
       the device.


       Inside  a  zone, device-in-use checking does not work, as the /devices/
       tree it relies upon is not present. A future project might address this
       limitation.


       The  mount  point  for  a lofs file system specified by an fs" resource
       must not lie within any filesystem that is mounted by the zone. In par‐
       ticular, such mountpoints must not lie beneath /var and /export.


       The  special property for a ZFS file system specified by an fs resource
       cannot be a descendant of any dataset delegated to the zone,  including
       the zone's top-level delegated dataset.



Oracle Solaris 11.4               13 Aug 2021                       zonecfg(8)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3