- ND_PRINT("=");
- (void)nd_printn(ndo, tp, (u_int)optlen, NULL);
+ ND_PRINT(" ");
+ nd_printjnp(ndo, tp, optlen);
+ ND_PRINT(")");
+ break;
+
+ case DH6OPT_BOOTFILE_URL:
+ tp = (const u_char *)(dh6o + 1);
+ ND_PRINT(" ");
+ nd_printjn(ndo, tp, optlen);
+ ND_PRINT(")");
+ break;
+
+ case DH6OPT_SZTP_REDIRECT:
+ case DH6OPT_USER_CLASS:
+ ND_PRINT(" ");
+ tp = (const u_char *)(dh6o + 1);
+ first_list_value = TRUE;
+ remainder_len = optlen;
+ while (remainder_len >= 2) {
+ if (first_list_value == FALSE) {
+ ND_PRINT(",");
+ }
+ first_list_value = FALSE;
+ subopt_len = GET_BE_U_2(tp);
+ if (subopt_len > remainder_len-2) {
+ break;
+ }
+ tp += 2;
+ nd_printjn(ndo, tp, subopt_len);
+ tp += subopt_len;
+ remainder_len -= (subopt_len+2);
+ }
+ if (remainder_len != 0 ) {
+ ND_PRINT(" ?");
+ }