def _read_mode_rsralt(self, size, kind):
if size != <NUM_LIT:4>:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>')<EOL><DEDENT>_code = self._read_unpack(<NUM_LIT:2>)<EOL>data = dict(<EOL>kind=kind,<EOL>type=self._read_opt_type(kind),<EOL>length=size,<EOL>alert=_ROUTER_ALERT.get(_code, '<STR_LIT>'),<EOL>code=_code,<EOL>)<EOL>return data<EOL>
Read Router Alert option.

        Positional arguments:
            size - int, length of option
            kind - int, 148 (RTRALT)

        Returns:
            * dict -- extracted Router Alert (RTRALT) option

        Structure of Router Alert (RTRALT) option [RFC 2113]:
            +--------+--------+--------+--------+
            |10010100|00000100|  2 octet value  |
            +--------+--------+--------+--------+

            Octets      Bits        Name                    Description
              0           0     ip.rsralt.kind          Kind (148)
              0           0     ip.rsralt.type.copy     Copied Flag (1)
              0           1     ip.rsralt.type.class    Option Class (0)
              0           3     ip.rsralt.type.number   Option Number (20)
              1           8     ip.rsralt.length        Length (4)
              2          16     ip.rsralt.alert         Alert
              2          16     ip.rsralt.code          Alert Code