code: def _read_opt_ra(self, code, *, desc):
          
          _type = self._read_opt_type(code)
          _size = self._read_unpack(1)
          if _size != 2:
              raise ProtocolError(f'{self.alias}: [Optno {code}] invalid format')
          _rval = self._read_unpack(2)
  
          if 4 <= _rval <= 35:
              _dscp = f'Aggregated Reservation Nesting Level {_rval-4}'   # [RFC 3175]
          elif 36 <= _rval <= 67:
              _dscp = f'QoS NSLP Aggregation Level {_rval-36}'            # [RFC 5974]
          elif 65503 <= _rval <= 65534:
              _dscp = 'Reserved for experimental use'                     # [RFC 5350]
          else:
              _dscp = _ROUTER_ALERT.get(_rval, 'Unassigned')
  
          opt = dict(
              desc=desc,
              type=_type,
              length=_size + 2,
              value=_rval,
              alert=_dscp,
          )
  
          return opt
docs: Read HOPOPT Router Alert option.
  
          Structure of HOPOPT Router Alert option [RFC 2711]:
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |0 0 0|0 0 1 0 1|0 0 0 0 0 0 1 0|        Value (2 octets)       |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  
              Octets      Bits        Name                    Description
                0           0     hopopt.ra.type          Option Type
                0           0     hopopt.ra.type.value    Option Number
                0           0     hopopt.ra.type.action   Action (00)
                0           2     hopopt.ra.type.change   Change Flag (0)
                1           8     hopopt.opt.length       Length of Option Data
                2          16     hopopt.ra.value         Value