- printf(" %u/%s:%u (max %u/%s:%u) ",
- (u_int32_t)ntohl(id->pi_ps.slot),
- ipaddr_string(&id->pi_ps.page.p_sid),
- (u_int32_t)ntohl(id->pi_ps.page.p_uid),
- (u_int32_t)ntohl(id->pi_mslot),
- ipaddr_string(&id->pi_mpage.p_sid),
- (u_int32_t)ntohl(id->pi_mpage.p_uid));
-
- nid = ntohs(id->pi_ps.nid);
+ ND_PRINT(" %u/%s:%u (max %u/%s:%u) ",
+ GET_BE_U_4(id->pi_ps.slot),
+ GET_IPADDR_STRING(id->pi_ps.page.p_sid),
+ GET_BE_U_4(id->pi_ps.page.p_uid),
+ GET_BE_U_4(id->pi_mslot),
+ GET_IPADDR_STRING(id->pi_mpage.p_sid),
+ GET_BE_U_4(id->pi_mpage.p_uid));
+ /* now the rest of the fixed-size part of struct pkt_id */
+ ND_TCHECK_SIZE(id);
+
+ nid = GET_BE_U_2(id->pi_ps.nid);
+ if (len < sizeof(*io) * nid)
+ return (-1);