- ND_PRINT((ndo, "%s (%s/%d, %s", njoin ? "Join" : "Prune",
- ipaddr_string(ndo, &bp[26]), bp[25] & 0x3f,
- ipaddr_string(ndo, &bp[12])));
- if (EXTRACT_32BITS(&bp[16]) != 0xffffffff)
- ND_PRINT((ndo, "/%s", ipaddr_string(ndo, &bp[16])));
- ND_PRINT((ndo, ") %s%s %s",
- (bp[24] & 0x01) ? "Sparse" : "Dense",
- (bp[25] & 0x80) ? " WC" : "",
- (bp[25] & 0x40) ? "RP" : "SPT"));
+ ND_PRINT("%s (%s/%u, %s", njoin ? "Join" : "Prune",
+ ipaddr_string(ndo, bp + 26), EXTRACT_U_1(bp + 25) & 0x3f,
+ ipaddr_string(ndo, bp + 12));
+ if (EXTRACT_BE_U_4(bp + 16) != 0xffffffff)
+ ND_PRINT("/%s", ipaddr_string(ndo, bp + 16));
+ ND_PRINT(") %s%s %s",
+ (EXTRACT_U_1(bp + 24) & 0x01) ? "Sparse" : "Dense",
+ (EXTRACT_U_1(bp + 25) & 0x80) ? " WC" : "",
+ (EXTRACT_U_1(bp + 25) & 0x40) ? "RP" : "SPT");