ip = (const struct ip *)bp2;
str = buf;
- ND_TCHECK_1(dp->icmp_code);
icmp_type = GET_U_1(dp->icmp_type);
icmp_code = GET_U_1(dp->icmp_code);
switch (icmp_type) {
case ICMP_ECHO:
case ICMP_ECHOREPLY:
- ND_TCHECK_2(dp->icmp_seq);
(void)snprintf(buf, sizeof(buf), "echo %s, id %u, seq %u",
icmp_type == ICMP_ECHO ?
"request" : "reply",
break;
case ICMP_UNREACH:
- ND_TCHECK_4(dp->icmp_ip.ip_dst);
switch (icmp_code) {
case ICMP_UNREACH_NET:
(void)snprintf(buf, sizeof(buf),
"net %s unreachable",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_HOST:
(void)snprintf(buf, sizeof(buf),
"host %s unreachable",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_PROTOCOL:
- ND_TCHECK_1(dp->icmp_ip.ip_p);
(void)snprintf(buf, sizeof(buf),
"%s protocol %u unreachable",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst),
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst),
GET_U_1(dp->icmp_ip.ip_p));
break;
oip = &dp->icmp_ip;
hlen = IP_HL(oip) * 4;
ouh = (const struct udphdr *)(((const u_char *)oip) + hlen);
- ND_TCHECK_2(ouh->uh_dport);
dport = GET_BE_U_2(ouh->uh_dport);
ip_proto = GET_U_1(oip->ip_p);
switch (ip_proto) {
case IPPROTO_TCP:
(void)snprintf(buf, sizeof(buf),
"%s tcp port %s unreachable",
- ipaddr_string(ndo, oip->ip_dst),
+ GET_IPADDR_STRING(oip->ip_dst),
tcpport_string(ndo, dport));
break;
case IPPROTO_UDP:
(void)snprintf(buf, sizeof(buf),
"%s udp port %s unreachable",
- ipaddr_string(ndo, oip->ip_dst),
+ GET_IPADDR_STRING(oip->ip_dst),
udpport_string(ndo, dport));
break;
default:
(void)snprintf(buf, sizeof(buf),
"%s protocol %u port %u unreachable",
- ipaddr_string(ndo, oip->ip_dst),
+ GET_IPADDR_STRING(oip->ip_dst),
ip_proto, dport);
break;
}
if (mtu) {
(void)snprintf(buf, sizeof(buf),
"%s unreachable - need to frag (mtu %u)",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst), mtu);
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst), mtu);
} else {
(void)snprintf(buf, sizeof(buf),
"%s unreachable - need to frag",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
}
}
break;
case ICMP_UNREACH_SRCFAIL:
(void)snprintf(buf, sizeof(buf),
"%s unreachable - source route failed",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_NET_UNKNOWN:
(void)snprintf(buf, sizeof(buf),
"net %s unreachable - unknown",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_HOST_UNKNOWN:
(void)snprintf(buf, sizeof(buf),
"host %s unreachable - unknown",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_ISOLATED:
(void)snprintf(buf, sizeof(buf),
"%s unreachable - source host isolated",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_NET_PROHIB:
(void)snprintf(buf, sizeof(buf),
"net %s unreachable - admin prohibited",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_HOST_PROHIB:
(void)snprintf(buf, sizeof(buf),
"host %s unreachable - admin prohibited",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_TOSNET:
(void)snprintf(buf, sizeof(buf),
"net %s unreachable - tos prohibited",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_TOSHOST:
(void)snprintf(buf, sizeof(buf),
"host %s unreachable - tos prohibited",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_FILTER_PROHIB:
(void)snprintf(buf, sizeof(buf),
"host %s unreachable - admin prohibited filter",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_HOST_PRECEDENCE:
(void)snprintf(buf, sizeof(buf),
"host %s unreachable - host precedence violation",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
case ICMP_UNREACH_PRECEDENCE_CUTOFF:
(void)snprintf(buf, sizeof(buf),
"host %s unreachable - precedence cutoff",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst));
break;
default:
(void)snprintf(buf, sizeof(buf),
"%s unreachable - #%u",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst),
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst),
icmp_code);
break;
}
break;
case ICMP_REDIRECT:
- ND_TCHECK_4(dp->icmp_ip.ip_dst);
switch (icmp_code) {
case ICMP_REDIRECT_NET:
(void)snprintf(buf, sizeof(buf),
"redirect %s to net %s",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst),
- ipaddr_string(ndo, dp->icmp_gwaddr));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst),
+ GET_IPADDR_STRING(dp->icmp_gwaddr));
break;
case ICMP_REDIRECT_HOST:
(void)snprintf(buf, sizeof(buf),
"redirect %s to host %s",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst),
- ipaddr_string(ndo, dp->icmp_gwaddr));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst),
+ GET_IPADDR_STRING(dp->icmp_gwaddr));
break;
case ICMP_REDIRECT_TOSNET:
(void)snprintf(buf, sizeof(buf),
"redirect-tos %s to net %s",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst),
- ipaddr_string(ndo, dp->icmp_gwaddr));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst),
+ GET_IPADDR_STRING(dp->icmp_gwaddr));
break;
case ICMP_REDIRECT_TOSHOST:
(void)snprintf(buf, sizeof(buf),
"redirect-tos %s to host %s",
- ipaddr_string(ndo, dp->icmp_ip.ip_dst),
- ipaddr_string(ndo, dp->icmp_gwaddr));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst),
+ GET_IPADDR_STRING(dp->icmp_gwaddr));
break;
default:
(void)snprintf(buf, sizeof(buf),
"redirect-#%u %s to %s", icmp_code,
- ipaddr_string(ndo, dp->icmp_ip.ip_dst),
- ipaddr_string(ndo, dp->icmp_gwaddr));
+ GET_IPADDR_STRING(dp->icmp_ip.ip_dst),
+ GET_IPADDR_STRING(dp->icmp_gwaddr));
break;
}
break;
while (num > 0) {
ND_TCHECK_SIZE(idp);
(void)snprintf(cp, sizeof(buf) - (cp - buf), " {%s %u}",
- ipaddr_string(ndo, idp->ird_addr),
+ GET_IPADDR_STRING(idp->ird_addr),
GET_BE_U_4(idp->ird_pref));
cp = buf + strlen(buf);
++idp;
(void)snprintf(buf, sizeof(buf),
"parameter problem - code %u", icmp_code);
else {
- ND_TCHECK_1(dp->icmp_pptr);
(void)snprintf(buf, sizeof(buf),
"parameter problem - octet %u",
GET_U_1(dp->icmp_pptr));
break;
case ICMP_MASKREPLY:
- ND_TCHECK_4(dp->icmp_mask);
(void)snprintf(buf, sizeof(buf), "address mask is 0x%08x",
GET_BE_U_4(dp->icmp_mask));
break;
case ICMP_TSTAMP:
- ND_TCHECK_2(dp->icmp_seq);
(void)snprintf(buf, sizeof(buf),
"time stamp query id %u seq %u",
GET_BE_U_2(dp->icmp_id),
ND_PRINT("\n\t");
ip = (const struct ip *)bp;
snapend_save = ndo->ndo_snapend;
- ND_TCHECK_2(ip->ip_len);
ip_print(ndo, bp, GET_BE_U_2(ip->ip_len));
ndo->ndo_snapend = snapend_save;
}
case 1:
switch(obj_ctype) {
case 1:
- ND_TCHECK_4(obj_tptr);
raw_label = GET_BE_U_4(obj_tptr);
ND_PRINT("\n\t label %u, exp %u", MPLS_LABEL(raw_label), MPLS_EXP(raw_label));
if (MPLS_STACK(raw_label))