+ RPL_DIO_GROUNDED(dio->rpl_mopprf) ? "grounded,":"",
+ rpl_mop_name[RPL_DIO_MOP(dio->rpl_mopprf)],
+ RPL_DIO_PRF(dio->rpl_mopprf)));
+
+ if(ndo->ndo_vflag > 1) {
+ struct nd_rpl_option *opt = (struct nd_rpl_option *)&dio[1];
+ char optname_buf[64];
+ ND_TCHECK(opt->rpl_dio_len);
+ while(opt->rpl_dio_type == RPL_OPT_PAD0 || ND_TTEST2(opt,(opt->rpl_dio_len+2))) {
+ unsigned int len = opt->rpl_dio_len+2;
+ if(opt->rpl_dio_type == RPL_OPT_PAD0) {
+ len = 1;
+ }
+ ND_PRINT((ndo, " opt:%s len:%u ",
+ rpl_subopt_name(opt->rpl_dio_type, optname_buf, sizeof(optname_buf)),
+ len));
+ opt = (struct nd_rpl_option *)((char *)opt) + len;
+ }
+ }