+
+ case TAG_SZTP_REDIRECT:
+ /* as per https://datatracker.ietf.org/doc/html/rfc8572#section-8.3
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
+ | uri-length | URI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
+
+ * uri-length: 2 octets long; specifies the length of the URI data.
+ * URI: URI of the SZTP bootstrap server.
+ */
+ while (len >= 2) {
+ uint16_t suboptlen2;
+
+ suboptlen2 = GET_BE_U_2(bp);
+ bp += 2;
+ len -= 2;
+ ND_PRINT("\n\t ");
+ ND_PRINT("length %u: ", suboptlen2);
+ if (len < suboptlen2) {
+ ND_PRINT("length goes past end of option");
+ bp += len;
+ len = 0;
+ break;
+ }
+ ND_PRINT("\"");
+ nd_printjn(ndo, bp, suboptlen2);
+ ND_PRINT("\"");
+ len -= suboptlen2;
+ bp += suboptlen2;
+ }
+ if (len != 0) {
+ ND_PRINT("[length < 2 bytes]");
+ nd_print_invalid(ndo);
+ }
+ break;
+
+ case TAG_IPV6_ONLY_PREFERRED:
+ /* this option should be 4 bytes long */
+ if (len != 4) {
+ ND_PRINT("[length != 4 bytes]");
+ nd_print_invalid(ndo);
+ bp += len;
+ len = 0;
+ }
+ ND_PRINT("%u", GET_BE_U_4(bp));
+ bp += 4;
+ len -= 4;
+ break;
+