u_int length)
{
const struct ip *ip;
- const u_char *ipend;
u_int off;
u_int hlen;
u_int len;
/*
* Cut off the snapshot length to the end of the IP payload.
*/
- ipend = bp + len;
- if (ipend < ndo->ndo_snapend)
- ndo->ndo_snapend = ipend;
+ nd_push_snapend(ndo, bp + len);
len -= hlen;
ND_PRINT("%s > %s: ",
ipaddr_string(ndo, ip->ip_src),
ipaddr_string(ndo, ip->ip_dst));
- goto trunc;
+ nd_print_trunc(ndo);
+ nd_pop_packet_info(ndo);
+ return;
}
}
* Ultra quiet now means that all this stuff should be
* suppressed.
*/
- if (ndo->ndo_qflag > 1)
+ if (ndo->ndo_qflag > 1) {
+ nd_pop_packet_info(ndo);
return;
+ }
/*
* This isn't the first frag, so we're missing the
else
ND_PRINT(" ip-proto-%u", ip_proto);
}
+ nd_pop_packet_info(ndo);
return;
trunc:
void
ipN_print(netdissect_options *ndo, const u_char *bp, u_int length)
{
- ndo->ndo_protocol = "ipN";
+ ndo->ndo_protocol = "ipn";
if (length < 1) {
ND_PRINT("truncated-ip %u", length);
return;