u_int
ether_print(netdissect_options *ndo,
const u_char *p, u_int length, u_int caplen,
- void (*print_encap_header)(netdissect_options *ndo, const u_char *), const u_char *encap_header_arg)
+ void (*print_encap_header)(netdissect_options *ndo, const u_char *),
+ const u_char *encap_header_arg)
{
const struct ether_header *ehp;
u_int orig_length;
ndo->ndo_protocol = "ether";
if (caplen < ETHER_HDRLEN) {
- ND_PRINT("[|ether]");
+ nd_print_trunc(ndo);
return (caplen);
}
- if (length < ETHER_HDRLEN) {
- ND_PRINT("[|ether]");
- return (length);
- }
if (ndo->ndo_eflag) {
if (print_encap_header != NULL)
ND_PRINT("[|vlan]");
return (hdrlen + caplen);
}
- if (length < 4) {
- ND_PRINT("[|vlan]");
- return (hdrlen + length);
- }
if (ndo->ndo_eflag) {
uint16_t tag = EXTRACT_BE_U_2(p);
* Fail if we don't have enough data for the Hilscher pseudo-header.
*/
ndo->ndo_protocol = "netanalyzer_if";
- if (h->len < 4 || h->caplen < 4) {
- ND_PRINT("[|netanalyzer]");
+ if (h->caplen < 4) {
+ nd_print_trunc(ndo);
return (h->caplen);
}
* preamble, and SOF.
*/
ndo->ndo_protocol = "netanalyzer_transparent_if";
- if (h->len < 12 || h->caplen < 12) {
- ND_PRINT("[|netanalyzer-transparent]");
+ if (h->caplen < 12) {
+ nd_print_trunc(ndo);
return (h->caplen);
}