docs: def sanitize(self):
          '''
          Check if the current settings conform to the LISP specifications and
          fix them where possible.
          '''
          super(MapReferralMessage, self).sanitize()
  
          # WARNING: http://tools.ietf.org/html/draft-ietf-lisp-ddt-00
          # does not define this field so the description is taken from
          # http://tools.ietf.org/html/draft-ietf-lisp-24
          #
          # Nonce: An 8-octet random value created by the sender of the Map-
          # Request.  This nonce will be returned in the Map-Reply.  The
          # security of the LISP mapping protocol depends critically on the
          # strength of the nonce in the Map-Request message.  The nonce
          # SHOULD be generated by a properly seeded pseudo-random (or strong
          # random) source.  See [RFC4086] for advice on generating security-
          # sensitive random data.
          if len(bytes(self.nonce)) != 8:
              raise ValueError('Invalid nonce')
  
          # Map-Referral Records:  When the M bit is set, this field is the size
          # of a single "Record" in the Map-Reply format.  This Map-Reply record
          # contains the EID-to-RLOC mapping entry associated with the Source
          # EID.  This allows the ETR which will receive this Map-Request to
          # cache the data if it chooses to do so.
          for record in self.records:
              if not isinstance(record, MapReferralRecord):
                  raise ValueError('Invalid record')
  
              record.sanitize()