gentoo: use /var/run for new /run compatibility
[util-vserver.git] / doc / configuration.xml
index 35d34aa..fc7416f 100644 (file)
@@ -37,14 +37,20 @@ the 'barrier' attribute. Else, common chroot(2) exploits are possible.
       </description>
     </boolean>
 
-    <boolean id="global-namespace-cleanup" name="namespace-cleanup">
+    <boolean id="global-nonamespace-cleanup" name="nonamespace-cleanup">
       <description>
-Enable namespace cleanup globally. It can be overridden for a single vserver
-by setting the <optionref ref="global-nonamespace-cleanup">nonamespace-cleanup</optionref> flag
+Disable namespace cleanup globally. It can be overridden for a single vserver
+by setting the <optionref ref="namespace-cleanup">namespace-cleanup</optionref> flag
 there.
       </description>
     </boolean>
 
+    <list id="global-namespace-cleanup-skip" name="namespace-cleanup-skip">
+      <description>
+List of paths to skip during namespace cleanup.
+      </description>
+    </list>
+
     <link name="run.rev">
       <description>
 Path of the vserver run reverse directory. This directory contains
@@ -56,12 +62,40 @@ NOTE: this link exists in 0.30.202+ only; in previous versions it was
 a vserver specific setting.
       </description>
     </link>
+
+    <scalar name="shell">
+      <description>
+Contains the pathname of the shell which will be used by the "vserver
+... enter" command. Can be overridden by the
+<optionref ref="shell">per-guest shell</optionref>.
+      </description>
+    </scalar>
+
+    <data name="fstab">
+      <description>
+The default fstab file to put in newly built guests.
+      </description>
+    </data>
+
+    <boolean name="context.dynamic">
+      <description>
+If this file exists, kernel-side dynamic contexts will be used by the "vserver
+... build" command. Otherwise a context will be generated, based on the
+contents of <optionref>context.next</optionref>.
+      </description>
+    </boolean>
+
+    <scalar id="context.next" name="context.next">
+      <description>
+The context id to use for the next guest created by "vserver ... build".
+      </description>
+    </scalar>
     
     <collection name="apps">
       <collection name="pkgmgmt">
        <link name="base">
          <default>/vservers/.pkg</default>
-       </link> 
+       </link>
        <data name="apt.conf">
          <description>The default apt.conf which is going to be used. It is overridden by
 distribution specific configuration file.
@@ -83,6 +117,33 @@ from this uri and install it at a temporary place.
        </scalar>
       </collection>
 
+      <collection name="vdevmap">
+        <collection name="x" type="sybmolic">
+          <description>'x' is an arbitrary name, replace it with e.g. device names</description>
+          <boolean name="open">
+            <description>When this file exists, the device can be opened</description>
+          </boolean>
+          <boolean name="create">
+            <description>When this file exists, the device can be created (if the guest has <optionref ref="bcapabilities">CAP_MKNOD</optionref>)</description>
+          </boolean>
+          <boolean id="vdevmap-remap" name="remap">
+            <description>
+When this file exists, <optionref ref="vdevmap-target">target</optionref> will
+have to exist as well and opening the device will in fact open the target device
+            </description>
+          </boolean>
+          <scalar name="flags">
+            <description>This file will let you specify unimplemented flags manually</description>
+          </scalar>
+          <scalar name="device">
+            <description>Contains the name of a device node</description>
+          </scalar>
+          <scalar id="vdevmap-target" name="target">
+            <description>Contains the device node of the target node to open instead of the device when <optionref ref="vdevmap-remap">remap</optionref> is set</description>
+          </scalar>
+        </collection>
+      </collection>
+
       <collection name="vshelper">
        <link name="logfile">
          <description>
@@ -95,7 +156,7 @@ is invoked from the kernel. This should point somewhere e.g. into
        <collection name="vshelper-methods">
          <program name="handler" type="symbolic">
            <description>
-See vshelper/action.
+See <optionref ref="vshelper-action">vshelper/action</optionref>.
             </description>
          </program>
        </collection>
@@ -125,7 +186,7 @@ skipped.
       <collection name="vprocunhide">
        <list name="files">
          <description>
-A list of files which will be made visibly by vprocunhide. Wildcards are
+A list of files which will be made visible by vprocunhide. Wildcards are
 allowed and anything ending in '/' will be processed recursively. When this file exists,
 it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
 absolute filenames inclusive the leading '/proc'.
@@ -141,12 +202,12 @@ at startup via initscript.
           </description>
        </link>
 
-       <list id="global-environment" name="environment">
+       <hash id="global-environment" name="environment" since="0.30.211">
          <description>
 The environment to set when starting guests. Contains one VAR=VAL
 pair per line.
          </description>
-       </list>
+       </hash>
       </collection>
       
       <collection name="vunify">
@@ -190,6 +251,104 @@ operation will fail. Most tools assume 'on' as the default value.
        </boolean>
 
       </collection>
+
+      <collection name="vlogin">
+       <boolean id="vlogin-disable" name="disable" since="0.30.212">
+         <description>
+When this file exists, vlogin isn't used on vserver &lt;guest&gt; enter.
+         </description>
+       </boolean>
+      </collection>
+
+      <collection name="build">
+        <list name="options">
+          <description>
+A list of default options to supply to vserver ... build, one option per line.
+          </description>
+        </list>
+      </collection>
+    </collection>
+
+    <collection name="interfaces" use="optional">
+      <boolean id="global-vlandev" name="vlandev" since="0.30.211">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+       </description>
+      </boolean>
+    </collection>
+
+    <collection name="files">
+      <description>This directory contains some files which will be copied to the guests during build.</description>
+      <data name="hosts">
+        <description>The default /etc/hosts file.</description>
+      </data>
+      <data name="nsswitch.conf">
+        <description>The default /etc/nsswitch.conf file.</description>
+      </data>
+      <data name="krb5.conf">
+        <description>The default /etc/krb5.conf file.</description>
+      </data>
+      <data name="krb.conf">
+        <description>The default /etc/krb.conf file.</description>
+      </data>
+      <data name="krb.realms">
+        <description>The default /etc/krb.realms file.</description>
+      </data>
+      <data name="ldap.conf">
+        <description>The default /etc/ldap.conf file.</description>
+      </data>
+      <data name="localtime">
+        <description>The default /etc/localtime file.</description>
+      </data>
+      <data name="resolv.conf">
+        <description>The default /etc/resolv.conf file.</description>
+      </data>
+    </collection>
+
+    <collection name="cgroup" use="optional" since="0.30.216" id="global-cgroup">
+      <description>
+This directory contains cgroup settings which should be applied to all guests.
+See your kernel documentation for what settings are valid with your
+configuration.
+      </description>
+      <scalar name="mnt">
+        <description>
+The directory to mount the cgroup hierarchy at. The default is /dev/cgroup.
+        </description>
+      </scalar>
+      <list name="subsys">
+        <description>
+List of subsystems to enable on the cgroup mount point. The default is "all".
+        </description>
+      </list>
+      <list name="inherit">
+        <description>
+Some subsystems start out with clean slates, making it impossible to use the
+cgroup before certain things have been set. This is true for e.g. the cpuset
+subsystem. This file contains a list of filenames which should be explicitly
+inherited from the parent (root) cgroup, if not overridden elsewhere.
+The default is cpuset.cpus and cpuset.mems.
+        </description>
+      </list>
+      <scalar name="name" id="global-cgroup-name">
+        <description>
+If this file exists, all guests will be put in one cgroup named after the
+contents of this file. The default is to put each guest in a cgroup named the
+same thing as the guest.
+        </description>
+      </scalar>
+      <scalar name="base">
+       <description>
+If this file exists, all cgroups will be created underneath this directory
+in the cgroup mount point.
+        </description>
+      </scalar>
+      <boolean name="per-ss">
+        <description>
+If this file exists, each subsystem will have its own mount point.
+        </description>
+      </boolean>
     </collection>
   </collection>
     
@@ -230,9 +389,9 @@ Script which will be executed before packages will be installed.
 The configuration directory of the vserver which is going to be set up.
             </description>
          </parameter>
-         <parameter name="vserver">
+         <parameter name="util-vserver-vars">
            <description>
-The pathname of the vserver binary.
+The pathname of the util-vserver-vars file.
             </description>
          </parameter>
        </parameterList>
@@ -249,7 +408,7 @@ The configuration directory of the vserver which is going to be set up.
          </parameter>
          <parameter name="vserver">
            <description>
-The pathname of the vserver binary.
+The pathname of the util-vserver-vars file.
             </description>
          </parameter>
        </parameterList>
@@ -298,6 +457,11 @@ this distribution.
         </description>
       </link>
     </collection>
+    <link name="template">
+      <description>
+Symlink to the default template for this distribution.
+      </description>
+    </link>
   </collection>
   
   <!-- Vserver configuration -->
@@ -316,7 +480,7 @@ Path of the storage area for cached information about this vserver.
     <link name="vdir">
       <default>../.defaults/vdirbase/VSERVERNAME</default>
       <description>
-Path of the vserver root directory
+Path of the vserver root directory.
       </description>
     </link>
 
@@ -329,16 +493,29 @@ the vserver is stopped, this can be a dangling symlink.
 
     <list id="bcapabilities" name="bcapabilities">
       <description>
-[experimental; name is subject of possible change] Contains the system capabilities. See
-<ulink url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/bcaps-v13.c?rev=HEAD">lib/bcaps-v13.c</ulink>
+Contains the system capabilities. See
+<ulink url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/bcaps-v13.c">lib/bcaps-v13.c</ulink>
 for possible values.
       </description>
     </list>
     <list name="ccapabilities">
       <description>
-[experimental; name is subject of possible change] Contains the
-context capabilities. See <ulink
-url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/ccaps-v13.c?rev=HEAD">lib/ccaps-v13.c</ulink>
+Contains the context capabilities. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ccaps-v13.c">lib/ccaps-v13.c</ulink>
+for possible values.
+      </description>
+    </list>
+    <list name="ncapabilities" since="0.30.212">
+      <description>
+Contains the network capabilities. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ncaps-net.c">lib/ncaps-net.c</ulink>
+for possible values.
+      </description>
+    </list>
+    <list name="umask" since="0.30.216">
+      <description>
+Contains the namespaces allowed to be unshared. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/umask-v23.c">lib/umask-v23.c</ulink>
 for possible values.
       </description>
     </list>
@@ -359,22 +536,24 @@ the 'barrier' attribute. Else, common chroot(2) exploits are possible.
       </description>
     </boolean>
 
-    <boolean id="global-nonamespace-cleanup" name="nonamespace-cleanup">
+    <boolean id="namespace-cleanup" name="namespace-cleanup">
       <description>
-Overrides the global <optionref ref="global-namespace-cleanup">namespace-cleanup</optionref> flag and disables
+Overrides the global <optionref ref="global-nonamespace-cleanup">nonamespace-cleanup</optionref> flag and enables
 namespace cleanup for the current vserver.
       </description>
     </boolean>
 
-    <boolean name="namespace-cleanup">
+    <list name="namespace-cleanup-skip">
       <description>
-Enable namespace cleanup for the current vserver.
+List of paths to skip during namespace cleanup. This overrides the global
+<optionref ref="global-namespace-cleanup-skip">namespace-cleanup-skip</optionref>
+file.
       </description>
-    </boolean>
+    </list>
 
     <hash name="schedule">
       <description>
-[experimental; name is subject of possible change] Contains the
+[deprecated; use <optionref ref="sched">sched</optionref> instead] Contains the
 scheduler parameters, one per line.
 
 The Hard CPU limit uses a mechanism called a Token Bucket.  the
@@ -440,7 +619,7 @@ Contains per line a capability. This file is used for the 2.4 kernel
 only; for 2.6 use <optionref>bcapabilities</optionref>.
       </description>
     </list>
-    <scalar name="shell">
+    <scalar id="shell" name="shell">
       <description>
 Contains the pathname of the shell which will be used by the "vserver
 ... enter" command.
@@ -454,57 +633,40 @@ is the personality-type followed by flags (one item per line). See
 values.
       </description>
     </list>
-    <list name="flags">
+    <list name="cflags" id="cflags" since="0.30.216">
       <description>
 Contains per line a flag. See <ulink
-url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/cflags-v13.c?rev=HEAD">lib/cflags-v13.c</ulink>
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/cflags-v13.c">lib/cflags-v13.c</ulink>
+for possible values.
+      </description>
+    </list>
+    <list name="flags">
+      <description>
+Old name for <optionref>cflags</optionref>. Deprecated.
+      </description>
+    </list>
+    <list name="nflags" since="0.30.212">
+      <description>
+Contains a network flag per line. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/nflags-net.c">lib/nflags-net.c</ulink>
 for possible values.
       </description>
-      <!--
-      <elements>
-       <element name="fakeinit">
-         <description>
-The new process will believe it is process number 1. Useful to run a
-real /sbin/init in a vserver. Warning: this flag should not be used
-unless you know what you are doing. Often, it is better to use the
-'plain' initstyle.
-          </description>
-       </element>
-       <element name="lock">
-         <description>
-The new process is trapped and can't use chcontext anymore.
-          </description>
-       </element>
-       <element name="sched">
-         <description>
-The new process and its children will share a common
-          </description>
-       </element>
-       <element name="nproc">
-         <description>
-Limit the number of process in the vserver according to
-ulimit setting. Normally, ulimit is a per user thing.
-With this flag, it becomes a per vserver thing.  
-          </description>
-       </element>
-       <element name="private">
-         <description>
-No one can join this security context once created.
-          </description>
-       </element>
-       <element name="ulimit">
-         <description>
-Apply the current ulimit to the whole context
-          </description>
-       </element>
-      </elements>
-      -->
     </list>
     <scalar name="context">
       <description>
-Contains the context which shall be used for the vserver.
+Contains the context id which shall be used for the vserver. Valid range is 2 through 49151.
         </description>
     </scalar>
+    <scalar name="ncontext">
+      <description>
+Contains the network context id which shall be used for the vserver. Valid range is 2 through 49151.
+      </description>
+    </scalar>
+    <scalar name="tag">
+      <description>
+Contains the filesystem tag which shall be used for the vserver. Valid range is 2 through 49151.
+      </description>
+    </scalar>
     <data id="fstab" name="fstab">
       <description>
 The fstab file for the vserver. Entries in this file will be mounted
@@ -517,11 +679,16 @@ the 'fstab' file should be used.
     <data id="fstab.remote" name="fstab.remote">
       <description>
 The fstab file for the vserver. Entries in this file will be mounted
-within the network context of the host; this means that mount will be
+within the network context of the guest; this means that mount will be
 called as <command>chbind &lt;options&gt; mount ...</command>. See
 <optionref>fstab</optionref> also.
       </description>
     </data>
+    <scalar name="badness">
+      <description>
+Contains the bias to be applied to processes in this guest when the OOM-killer strikes.
+      </description>
+    </scalar>
     
     <collection name="apps">
       <collection name="init">
@@ -539,7 +706,6 @@ Contains the init-style.
            <enumeration value="sysv"/>
            <enumeration value="plain"/>
            <enumeration value="minit"/>
-           <enumeration value="gento"/>
          </restriction>
        </scalar>
        
@@ -630,25 +796,52 @@ vserver ids (one name per line).
           </description>
        </list>
 
-       <list name="environment">
+       <hash name="environment" since="0.30.211">
          <description>
 The environment to set when starting the guest. Contains one VAR=VAL
 pair per line.
          </description>
-       </list>
+       </hash>
       </collection>
-      
+
+      <collection name="vdevmap">
+        <collection name="x" type="sybmolic">
+          <description>'x' is an arbitrary name, replace it with e.g. device names</description>
+          <boolean name="open">
+            <description>When this file exists, the device can be opened</description>
+          </boolean>
+          <boolean name="create">
+            <description>When this file exists, the device can be created (if the guest has <optionref ref="bcapabilities">CAP_MKNOD</optionref>)</description>
+          </boolean>
+          <boolean id="guest-vdevmap-remap" name="remap">
+            <description>
+When this file exists, <optionref ref="guest-vdevmap-target">target</optionref> will
+have to exist as well and opening the device will in fact open the target device
+            </description>
+          </boolean>
+          <scalar name="flags">
+            <description>This file will let you specify unimplemented flags manually</description>
+          </scalar>
+          <scalar name="device">
+            <description>Contains the name of a device node</description>
+          </scalar>
+          <scalar id="guest-vdevmap-target" name="target">
+            <description>Contains the device node of the target node to open instead of the device when <optionref ref="guest-vdevmap-remap">remap</optionref> is set</description>
+          </scalar>
+        </collection>
+      </collection>
+  
       <collection name="vshelper">
        <scalar name="sync-timeout">
          <default>30</default>
          <description>
 The timeout in seconds which is used when synchronising vserver
-startup/shutdown with the vshelper. When no set, 30 seconds will be
+startup/shutdown with the vshelper. When not set, 30 seconds will be
 assumed.
          </description>
        </scalar>
        
-       <scalar name="action">
+       <scalar id="vshelper-action" name="action">
          <default>restart</default>
          <description>
 The action which is going to be executed when a vshelper event
@@ -705,7 +898,7 @@ skipped.
       <collection id="vshelper-methods" name="vshelper-methods">
        <program name="handler" type="symbolic">
          <description>
-See vshelper/action.
+See <optionref ref="vshelper-action">vshelper/action</optionref>.
           </description>
        </program>
       </collection>
@@ -784,16 +977,16 @@ environment variable must be set by one of the in-shellcontext scripts
 (the non-executable ones).
       </description>
       
-      <program name="initialize">
+      <program name="initialize" since="0.30.211">
        <description>
 The scriptlet which will be executed before the root filesystem is mounted and
 the configuration has been loaded. Before executing the script, the
 configuration directory will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
+         <parameter name="action">
            <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
          <parameter name="vserver-name">
@@ -801,24 +994,19 @@ The configuration directory of the current vserver.
 The name of the current vserver.
             </description>
          </parameter>
-         <parameter name="action">
-           <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-            </description>
-         </parameter>
        </parameterList>
       </program>
-      <collection name="initialize.d">
+      <collection name="initialize.d" since="0.30.211">
        <description>
 Repository of initialize like scripts.  Before executing the script,
 the configuration directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See initialize.</description>
          <parameterList>
-           <parameter name="vserver-dir">
+           <parameter name="action">
              <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
            <parameter name="vserver-name">
@@ -826,11 +1014,6 @@ The configuration directory of the current vserver.
 The name of the current vserver.
               </description>
            </parameter>
-           <parameter name="action">
-             <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-              </description>
-           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -842,9 +1025,9 @@ enabled and the directories are mounted. Before executing the script,
 the configuration directory will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
+         <parameter name="action">
            <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
          <parameter name="vserver-name">
@@ -852,24 +1035,19 @@ The configuration directory of the current vserver.
 The name of the current vserver.
             </description>
          </parameter>
-         <parameter name="action">
-           <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-            </description>
-         </parameter>
        </parameterList>
       </program>
       <collection name="prepre-start.d">
        <description>
 Repository of prepre-start like scripts.  Before executing the script,
 the configuration directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See prepre-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
+           <parameter name="action">
              <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
            <parameter name="vserver-name">
@@ -877,11 +1055,6 @@ The configuration directory of the current vserver.
 The name of the current vserver.
               </description>
            </parameter>
-           <parameter name="action">
-             <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-              </description>
-           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -894,9 +1067,9 @@ been started.  Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
+         <parameter name="action">
            <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
          <parameter name="vserver-name">
@@ -904,32 +1077,24 @@ The configuration directory of the current vserver.
 The name of the current vserver.
             </description>
          </parameter>
-         <parameter name="action">
-           <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-            </description>
-         </parameter>
        </parameterList>
       </program>
       <collection name="pre-start.d">
        <description>
 Repository of pre-start like scripts. Before executing these scripts,
 the vserver root directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See pre-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
+           <parameter name="action">
              <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
            <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
-           <parameter name="action">
              <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+The name of the current vserver.
               </description>
            </parameter>
          </parameterList>
@@ -944,17 +1109,16 @@ started. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="post-start.d">
@@ -965,17 +1129,16 @@ the vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See post-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -988,38 +1151,36 @@ stopped. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="pre-stop.d">
        <description>
 Repository of pre-stop like scripts. Before executing the script, the
 vserver root directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See pre-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -1032,17 +1193,16 @@ interfaces disabled. Before executing the script, the vserver root
 directory will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="post-stop.d">
@@ -1053,17 +1213,16 @@ vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See post-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -1075,17 +1234,16 @@ completely. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="postpost-stop.d">
@@ -1096,17 +1254,16 @@ the vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See postpost-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -1114,10 +1271,13 @@ The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
     
     <collection name="interfaces">
       <scalar name="bcast">
-       <description>The default broadcast address.</description>
+       <description>The guest's broadcast address.</description>
+      </scalar>
+      <scalar name="lback">
+        <description>The guest's loopback address.</description>
       </scalar>
       <scalar name="dev">
-       <description>The default network device.</description>
+       <description>The default network device. See <optionref ref="per-if-dev">iface/dev</optionref> for more information.</description>
       </scalar>
       <scalar name="prefix">
        <description>The default network prefix-length.</description>
@@ -1128,6 +1288,20 @@ The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
       <scalar name="scope">
        <description>The default scope of the network interfaces.</description>
       </scalar>
+      <boolean id="local-vlandev" name="vlandev" since="0.30.211">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed for all interfaces of this vserver.
+       </description>
+      </boolean>
+      <boolean id="local-novlandev" name="novlandev">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be skipped. This overrides the global
+<optionref ref="global-vlandev">vlandev</optionref> setting for
+this vserver.
+       </description>
+      </boolean>
       
       <collection name="iface" type="symbolic">
        <description>
@@ -1142,13 +1316,10 @@ numbers like '00' are good names for these directories.
        </boolean>
        
        <scalar name="ip">
-         <description>The ip which will be assigned to this interface.</description>
-       </scalar>
-       <scalar name="bcast">
-         <description>The broadcast address.</description>
+         <description>The IP address which will be assigned to this interface.</description>
        </scalar>
-       <scalar name="dev">
-         <description>The network device.</description>
+       <scalar name="dev" id="per-if-dev">
+         <description>The network device. When this is specified, the IP address will be assigned and removed when starting and stopping the guest.</description>
        </scalar>
        <scalar name="prefix">
          <description>The network prefix-length.</description>
@@ -1177,34 +1348,86 @@ created by the host or another vserver.
        <boolean name="novlandev">
          <description>
 When this file exists, the steps which setup and destroy a VLAN
-interface will be skipped. This flag should be set when a VLAN
-interface is used by multiple vservers or by the host.
+interface will be skipped. This will override the global
+<optionref ref="global-vlandev">vlandev</optionref> and the per-guest
+<optionref ref="local-vlandev">vlandev</optionref>.
+         </description>
+       </boolean>
+       <boolean name="vlandev" since="0.30.211">
+         <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
          </description>
        </boolean>
+       <boolean name="tun" since="0.30.215">
+         <description>
+When this file exists, a tun interface will be created when the guest
+starts, and removed when the guest stops.
+         </description>
+       </boolean>
+       <boolean name="tap" since="0.30.215">
+         <description>
+When this file exists, a tap interface will be created when the guest
+starts, and removed when the guest stops.
+         </description>
+       </boolean>
+       <boolean name="nocsum" since="0.30.215">
+         <description>
+If a tun or tap interface is created, the presence of this file will
+disable checksumming on it.
+         </description>
+       </boolean>
+       <boolean name="shared" since="0.30.215">
+         <description>
+When this file exists, the tun/tap interface created will not be
+owned by this particular guest.
+         </description>
+       </boolean>
+       <scalar name="uid" since="0.30.215">
+         <description>
+Sets the ownership of tun/tap interfaces. Requires a user id, not a
+username.
+         </description>
+       </scalar>
+       <scalar name="gid" since="0.30.215">
+         <description>
+Sets the group ownership of tun/tap interfaces. Requires a group id,
+not a group name.
+         </description>
+       </scalar>
+       <scalar name="linktype" since="0.30.215">
+         <description>
+Sets the link type of tun/tap interfaces.
+         </description>
+       </scalar>
+       <scalar name="peer" since="0.30.216">
+         <description>
+Sets the peer for a point-to-point link, such as a tun interface.
+         </description>
+       </scalar>
       </collection>
     </collection>
     
     <collection name="ulimits">
       <description>
 A directory with ulimits. Possible resources are cpu, data, fsize,
-locks, memlock, nofile, nproc, rss and/or stack. This configuration
-will be honored for kernel 2.4 only.
-      </description>                                                                                                                 
+locks, memlock, nofile, nproc, rss and/or stack.
+      </description>
       <scalar name="resource" type="symbolic">
        <description>
 A file which contains the hard- and soft-limit of the given resource
 in the first line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                            
+      </scalar>
       <scalar name="resource.hard" type="symbolic">
        <description>
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                                             
+      </scalar>
       <scalar name="resource.soft" type="symbolic">
        <description>
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
       </scalar>
@@ -1213,30 +1436,31 @@ line. The special keyword 'inf' is recognized.
     <collection name="rlimits">
       <description>
 A directory with resource limits. Possible resources are cpu, fsize,
-data, stack, core, rss, nproc, nofile, memlock, as and locks. This
+data, stack, core, rss, nproc, nofile, memlock, as, locks, msgqueue,
+nsock, openfd, anon, shmem, semary, nsems and dentry. This
 configuration will be honored for kernel 2.6 only.
-      </description>                                                                                                                 
+      </description>
       <scalar name="resource" type="symbolic">
        <description>
 A file which contains the hard- and soft-limit of the given resource
 in the first line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                            
+      </scalar>
       <scalar name="resource.hard" type="symbolic">
        <description>
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                                             
+      </scalar>
       <scalar name="resource.soft" type="symbolic">
        <description>
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
       </scalar>
       <scalar name="resource.min" type="symbolic">
        <description>
-A file which contains the guaranted minimum of the given resource in
+A file which contains the guaranteed minimum of the given resource in
 the first line. The special keyword 'inf' is recognized.
         </description>
       </scalar>
@@ -1270,8 +1494,12 @@ tools and can *not* be modified.
       </scalar>
     </collection>
 
-    <collection name="dlimits">
-      <collection name="dlimit" type="symbolic">
+    <collection name="dlimits" since="0.30.210">
+      <description>
+Note that all entries are required for the disk limit to be applied.
+      </description>
+      <collection name="x" type="symbolic">
+        <description>'x' is an arbitrary name, replace it with e.g. integers</description>
         <scalar name="directory">
           <description>The directory to which the limit should be applied</description>
         </scalar>
@@ -1287,7 +1515,22 @@ tools and can *not* be modified.
       </collection>
     </collection>
 
-    <collection name="cpuset">
+    <collection name="sysctl" since="0.30.213">
+      <collection name="x" type="symbolic">
+        <description>'x' is an arbitrary name, replace it with e.g. integers</description>
+        <scalar name="setting">
+          <description>The sysctl setting</description>
+        </scalar>
+        <scalar name="value">
+          <description>The value</description>
+        </scalar>
+      </collection>
+    </collection>
+
+    <collection name="cpuset" since="0.30.211">
+      <description>
+Puts the guest in a cpuset. Required entries are name, cpus and mems.
+      </description>
       <scalar name="name">
         <description>The name of the cpuset for this vserver</description>
       </scalar>
@@ -1307,5 +1550,116 @@ tools and can *not* be modified.
         <description>When this file exists, the cpuset will be assumed to exist already</description>
       </scalar>
     </collection>
+
+    <collection id="sched" name="sched" since="0.30.212">
+      <scalar id="global-tokens" name="tokens">
+        <description>The initial amount of tokens to put in the bucket</description>
+      </scalar>
+      <scalar id="global-tokens-min" name="tokens-min">
+        <description>The minimum amount of tokens required to unhold the context</description>
+      </scalar>
+      <scalar id="global-tokens-max" name="tokens-max">
+        <description>The bucket's size</description>
+      </scalar>
+      <scalar id="global-fill-rate" name="fill-rate">
+        <description>Amount of tokens to add each <optionref ref="global-interval">interval</optionref></description>
+      </scalar>
+      <scalar id="global-interval" name="interval">
+        <description>The interval between refills of the bucket</description>
+      </scalar>
+      <scalar id="global-priority-bias" name="priority-bias">
+        <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
+      </scalar>
+      <scalar id="global-fill-rate2" name="fill-rate2">
+        <description>Amount of tokens to add each <optionref ref="global-interval2">interval2</optionref> when advancing idle time</description>
+      </scalar>
+      <scalar id="global-interval2" name="interval2">
+        <description>The interval between refills of the bucket when advancing idle time</description>
+      </scalar>
+      <boolean id="global-idle-time" name="idle-time">
+        <description>When this file exists, advancing idle time is activated</description>
+      </boolean>
+      <collection name="cpu-id" type="symbolic">
+        <description>This directory contains per-CPU and/or per-bucket specific settings. Remember to set the <optionref ref="cpu-id">cpu-id</optionref> file. All CPUs inherit the global settings.</description>
+        <scalar name="tokens">
+          <description>The initial amount of tokens to put in the bucket</description>
+        </scalar>
+        <scalar name="tokens-min">
+          <description>The minimum amount of tokens required to unhold the context</description>
+        </scalar>
+        <scalar name="tokens-max">
+          <description>The bucket's size</description>
+        </scalar>
+        <scalar name="fill-rate">
+          <description>Amount of tokens to add each <optionref ref="local-interval">interval</optionref></description>
+        </scalar>
+        <scalar id="local-interval" name="interval">
+          <description>The interval between refills of the bucket</description>
+        </scalar>
+        <scalar name="priority-bias">
+          <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
+        </scalar>
+        <scalar name="fill-rate2">
+          <description>Amount of tokens to add each <optionref ref="local-interval2">interval2</optionref> when advancing idle time</description>
+        </scalar>
+        <scalar id="local-interval2" name="interval2">
+          <description>The interval between refills of the bucket when advancing idle time</description>
+        </scalar>
+        <boolean name="idle-time">
+          <description>When this file exists, advancing idle time is activated</description>
+        </boolean>
+        <scalar id="cpu-id" name="cpu-id">
+          <description>The CPU to apply these settings to</description>
+        </scalar>
+        <scalar name="bucket-id">
+          <description>The bucket to apply these settings to</description>
+        </scalar>
+      </collection>
+    </collection>
+
+    <collection name="spaces" since="0.30.215">
+      <boolean name="pid">
+        <description>Enables pid virtualization for this guest</description>
+      </boolean>
+      <boolean name="net">
+        <description>Enable network virtualization for this guest</description>
+      </boolean>
+      <scalar name="mask">
+        <description>Contains a mask of spaces to clone/enter</description>
+      </scalar>
+    </collection>
+
+    <collection name="ionice" since="0.30.216">
+      <scalar name="class">
+        <description>The IO scheduling class to use for this guest (see ionice(1)).</description>
+      </scalar>
+      <scalar name="priority">
+        <description>The IO scheduling priority to use for this guest (see ionice(1)).</description>
+      </scalar>
+    </collection>
+
+    <collection name="cgroup" use="optional" since="0.30.216" id="guest-cgroup">
+      <description>
+This directory contains cgroup settings to be applied to this guest.
+See your kernel documentation for what settings are valid with your
+configuration.
+      </description>
+      <scalar name="name">
+        <description>
+If this file exists, the guest will be put in a cgroup named after the
+contents of this file. The default is to name the cgroup the same thing as the
+guest, unless
+<optionref ref="global-cgroup-name">.defaults/cgroup/name</optionref> says
+otherwise.
+        </description>
+      </scalar>
+    </collection>
+    <scalar name="nocgroup" since="0.30.216">
+      <description>
+If this file exists,
+<optionref ref="global-cgroup">.defaults/cgroup</optionref> will be ignored
+for this guest.
+      </description>
+    </scalar>
   </collection>
   </database>