<?xml version="1.0"?>
<!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
  SPDX-License-Identifier: LGPL-2.1-or-later

-->
<refentry id="integritytab" conditional='HAVE_LIBCRYPTSETUP' xmlns:xi="http://www.w3.org/2001/XInclude">

  <refentryinfo>
    <title>integritytab</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>integritytab</refentrytitle>
    <manvolnum>5</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>integritytab</refname>
    <refpurpose>Configuration for integrity block devices</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>/etc/integritytab</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para>The <filename>/etc/integritytab</filename> file describes
    integrity protected block devices that are set up during
    system boot.</para>

    <para>Empty lines and lines starting with the <literal>#</literal>
    character are ignored. Each of the remaining lines describes one
    verity integrity protected block device. Fields are delimited by
    white space.</para>

    <para>Each line is in the form<programlisting><replaceable>volume-name</replaceable> <replaceable>block-device</replaceable>
    <replaceable>[keyfile|-]</replaceable> <replaceable>[options|-]</replaceable></programlisting>
    The first two fields are mandatory, the remaining two are optional and only required if user specified non-default options during integrity format.</para>

    <para>The first field contains the name of the resulting integrity volume; its block device is set up
    below <filename>/dev/mapper/</filename>.</para>

    <para>The second field contains a path to the underlying block device, or a specification of a block device via
    <literal>UUID=</literal> followed by the UUID,
    <literal>PARTUUID=</literal> followed by the partition UUID,
    <literal>LABEL=</literal> followed by the label,
    <literal>PARTLABEL=</literal> followed by the partition label.
    </para>

    <para>The third field if present contains an absolute filename path to a key file or a <literal>-</literal>
    to specify none.  When the filename is present, the "integrity-algorithm" defaults to <literal>hmac-sha256</literal>
    with the key length derived from the number of bytes in the key file.  At this time the only supported integrity algorithm
    when using key file is hmac-sha256.  The maximum size of the key file is 4096 bytes.
    </para>

     <para>The fourth field, if present, is a comma-delimited list of options or a <literal>-</literal> to specify none. The following options are
    recognized:</para>
      <variablelist>

      <varlistentry>
        <term><option>allow-discards</option></term>

        <listitem><para>
        Allow the use of discard (TRIM) requests for the device.
        This option is available since the Linux kernel version 5.7.
        </para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>journal-watermark=[0..100]%</option></term>

        <listitem><para>
        Journal watermark in percent. When the journal percentage exceeds this watermark, the journal flush will be started.  Setting a value of
        "0%" uses default value.
        </para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>journal-commit-time=[0..N]</option></term>

        <listitem><para>
        Commit time in milliseconds. When this time passes (and no explicit flush operation was issued), the journal is written.  Setting a value of
        zero uses default value.
        </para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>data-device=/dev/disk/by-...</option></term>

        <listitem><para>
        Specify a separate block device that contains existing data. The second field specified in the
        integritytab for block device then will contain calculated integrity tags and journal for data-device,
        but not the end user data.
        </para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>integrity-algorithm=[crc32c|crc32|sha1|sha256|hmac-sha256]</option></term>

        <listitem><para>
        The algorithm used for integrity checking.  The default is crc32c. Must match option used during format.
        </para></listitem>
      </varlistentry>
    </variablelist>

    <para>At early boot and when the system manager configuration is
    reloaded, this file is translated into native systemd units by
    <citerefentry><refentrytitle>systemd-integritysetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
  </refsect1>

  <refsect1>
    <title>Examples</title>
    <example>
      <title>/etc/integritytab</title>
      <para>Set up two integrity protected block devices. </para>

      <programlisting>home PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8 - journal-commit-time=10,allow-discards,journal-watermark=55%
data PARTUUID=5d4b1808-be76-774d-88af-03c4c3a41761 - allow-discards
</programlisting>
    </example>

    <example>
      <title>/etc/integritytab</title>
      <para>Set up 1 integrity protected block device using defaults </para>

      <programlisting>home PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8</programlisting>
    </example>

    <example>
      <title>/etc/integritytab</title>
      <para>Set up 1 integrity device using existing data block device which contains user data </para>

      <programlisting>home PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8 - data-device=/dev/disk/by-uuid/9276d9c0-d4e3-4297-b4ff-3307cd0d092f</programlisting>
    </example>

    <example>
      <title>/etc/integritytab</title>
      <para>Set up 1 integrity device using a HMAC key file using defaults </para>

      <programlisting>home PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8 /etc/hmac.key</programlisting>
    </example>

  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-integritysetup@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-integritysetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
      <citerefentry project='die-net'><refentrytitle>integritysetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
    </para>
  </refsect1>

</refentry>
