total_length = 0;
/* Source address length, encoded in bits */
- ND_TCHECK_8BITS(pptr);
+ ND_TCHECK_1(pptr);
addr_length = EXTRACT_8BITS(pptr);
pptr++;
}
/* Group address length, encoded in bits */
- ND_TCHECK_8BITS(pptr);
+ ND_TCHECK_1(pptr);
addr_length = EXTRACT_8BITS(pptr);
pptr++;
return -1;
/* With at least "origin AS", possibly with "route target". */
- ND_TCHECK_32BITS(pptr + 1);
+ ND_TCHECK_4(pptr + 1);
as_printf(ndo, asbuf, sizeof(asbuf), EXTRACT_BE_32BITS(pptr + 1));
plen-=32; /* adjust prefix length */
{
int plen,tlen,stringlen,tlv_type,tlv_len,ttlv_len;
- ND_TCHECK_16BITS(pptr);
+ ND_TCHECK_2(pptr);
plen=EXTRACT_BE_16BITS(pptr);
tlen=plen;
pptr+=2;
if (len != 4)
ND_PRINT((ndo, "invalid len"));
else {
- ND_TCHECK_32BITS(tptr);
+ ND_TCHECK_4(tptr);
ND_PRINT((ndo, "%u", EXTRACT_BE_32BITS(tptr)));
}
break;
}
while (tlen>0) {
uint32_t comm;
- ND_TCHECK_32BITS(tptr);
+ ND_TCHECK_4(tptr);
comm = EXTRACT_BE_32BITS(tptr);
switch (comm) {
case BGP_COMMUNITY_NO_EXPORT:
while (tlen>0) {
uint16_t extd_comm;
- ND_TCHECK_16BITS(tptr);
+ ND_TCHECK_2(tptr);
extd_comm=EXTRACT_BE_16BITS(tptr);
ND_PRINT((ndo, "\n\t %s (0x%04x), Flags [%s]",
break;
}
case BGPTYPE_ATTR_SET:
- ND_TCHECK_32BITS(tptr);
+ ND_TCHECK_4(tptr);
if (len < 4)
goto trunc;
ND_PRINT((ndo, "\n\t Origin AS: %s",
length -= BGP_SIZE;
/* Unfeasible routes */
- ND_TCHECK_16BITS(p);
+ ND_TCHECK_2(p);
if (length < 2)
goto trunc;
withdrawn_routes_len = EXTRACT_BE_16BITS(p);
length -= withdrawn_routes_len;
}
- ND_TCHECK_16BITS(p);
+ ND_TCHECK_2(p);
if (length < 2)
goto trunc;
len = EXTRACT_BE_16BITS(p);
bgpn.bgpn_minor == BGP_NOTIFY_MINOR_CEASE_RESET) &&
length >= BGP_NOTIFICATION_SIZE + 1) {
tptr = dat + BGP_NOTIFICATION_SIZE;
- ND_TCHECK_8BITS(tptr);
+ ND_TCHECK_1(tptr);
shutdown_comm_length = EXTRACT_8BITS(tptr);
remainder_offset = 0;
/* garbage, hexdump it all */