def _read_mode_tcpao(self, size, kind):
        """Read Authentication option.

        Positional arguments:
            * size - int, length of option
            * kind - int, 29 (TCP Authentication Option)

        Returns:
            * dict -- extracted Authentication (AO) option

        Structure of TCP AOopt [RFC 5925]:
            +------------+------------+------------+------------+
            |  Kind=29   |   Length   |   KeyID    | RNextKeyID |
            +------------+------------+------------+------------+
            |                     MAC           ...
            +-----------------------------------...

            ...-----------------+
            ...  MAC (con't)    |
            ...-----------------+

            Octets      Bits        Name                    Description
              0           0     tcp.ao.kind             Kind (29)
              1           8     tcp.ao.length           Length
              2          16     tcp.ao.keyid            KeyID
              3          24     tcp.ao.rnextkeyid       RNextKeyID
              4          32     tcp.ao.mac              Message Authentication Code

        """
        key_ = self._read_unpack(1)
        rkey = self._read_unpack(1)
        mac_ = self._read_fileng(size - 2)

        data = dict(
            kind=kind,
            length=size,
            keyid=key_,
            rnextkeyid=rkey,
            mac=mac_,
        )

        return data
Read Authentication option.

        Positional arguments:
            * size - int, length of option
            * kind - int, 29 (TCP Authentication Option)

        Returns:
            * dict -- extracted Authentication (AO) option

        Structure of TCP AOopt [RFC 5925]:
            +------------+------------+------------+------------+
            |  Kind=29   |   Length   |   KeyID    | RNextKeyID |
            +------------+------------+------------+------------+
            |                     MAC           ...
            +-----------------------------------...

            ...-----------------+
            ...  MAC (con't)    |
            ...-----------------+

            Octets      Bits        Name                    Description
              0           0     tcp.ao.kind             Kind (29)
              1           8     tcp.ao.length           Length
              2          16     tcp.ao.keyid            KeyID
              3          24     tcp.ao.rnextkeyid       RNextKeyID
              4          32     tcp.ao.mac              Message Authentication Code