code: def _read_join_syn(self, bits, size, kind):
          
          adid = self._read_unpack(1)
          rtkn = self._read_fileng(4)
          srno = self._read_unpack(4)
  
          data = dict(
              kind=kind,
              length=size + 1,
              subtype='MP_JOIN-SYN',
              join=dict(
                  syn=dict(
                      backup=True if int(bits[3]) else False,
                      addrid=adid,
                      token=rtkn,
                      randnum=srno,
                  ),
              ),
          )
  
          return data
docs: Read Join Connection option for Initial SYN.
  
          Positional arguments:
              * bits - str, 4-bit data
              * size - int, length of option
              * kind - int, 30 (Multipath TCP)
  
          Returns:
              * dict -- extracted Join Connection (MP_JOIN-SYN) option for Initial SYN
  
          Structure of MP_JOIN-SYN [RFC 6824]:
                                   1                   2                   3
               0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
              +---------------+---------------+-------+-----+-+---------------+
              |     Kind      |  Length = 12  |Subtype|     |B|   Address ID  |
              +---------------+---------------+-------+-----+-+---------------+
              |                   Receiver's Token (32 bits)                  |
              +---------------------------------------------------------------+
              |                Sender's Random Number (32 bits)               |
              +---------------------------------------------------------------+
  
              Octets      Bits        Name                        Description
                0           0     tcp.mp.kind                 Kind (30)
                1           8     tcp.mp.length               Length (12)
                2          16     tcp.mp.subtype              Subtype (1|SYN)
                2          20     -                           Reserved (must be zero)
                2          23     tcp.mp.join.syn.backup      Backup Path (B)
                3          24     tcp.mp.join.syn.addrid      Address ID
                4          32     tcp.mp.join.syn.token       Receiver's Token
                8          64     tcp.mp.join.syn.randnum     Sender's Random Number