- if (is_interior)
- ND_PRINT((ndo, " *.%d.%d.%d", igr->igr_net[0],
- igr->igr_net[1], igr->igr_net[2]));
- else if (is_exterior)
- ND_PRINT((ndo, " X%d.%d.%d.0", igr->igr_net[0],
- igr->igr_net[1], igr->igr_net[2]));
- else
- ND_PRINT((ndo, " %d.%d.%d.0", igr->igr_net[0],
- igr->igr_net[1], igr->igr_net[2]));
-
- delay = EXTRACT_24BITS(igr->igr_dly);
- bandwidth = EXTRACT_24BITS(igr->igr_bw);
- metric = bandwidth + delay;
- if (metric > 0xffffff)
- metric = 0xffffff;
- mtu = EXTRACT_16BITS(igr->igr_mtu);
-
- ND_PRINT((ndo, " d=%d b=%d r=%d l=%d M=%d mtu=%d in %d hops",
+ delay = GET_BE_U_3(igr->igr_dly);
+ bandwidth = GET_BE_U_3(igr->igr_bw);
+ metric = ND_MIN(bandwidth + delay, 0xffffff);
+ mtu = GET_BE_U_2(igr->igr_mtu);
+
+ ND_PRINT(" d=%u b=%u r=%u l=%u M=%u mtu=%u in %u hops",