code: def _read_mode_tcpao(self, size, kind):
          
          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
docs: 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