--- a/Makefile.in +++ b/Makefile.in @@ -73,6 +73,85 @@ DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@ CSRC = fptype.c tcpdump.c +ifdef TCPDUMP_MINI + +LIBNETDISSECT_SRC=\ + netdissect.c \ + netdissect-alloc.c \ + addrtoname.c \ + addrtostr.c \ + af.c \ + ascii_strcasecmp.c \ + checksum.c \ + cpack.c \ + gmpls.c \ + in_cksum.c \ + ipproto.c \ + l2vpn.c \ + machdep.c \ + ntp.c \ + nlpid.c \ + oui.c \ + parsenfsfh.c \ + print.c \ + print-802_11.c \ + print-aodv.c \ + print-arista.c \ + print-arp.c \ + print-ascii.c \ + print-bootp.c \ + print-dhcp6.c \ + print-domain.c \ + print-eap.c \ + print-ether.c \ + print-ftp.c \ + print-gre.c \ + print-http.c \ + print-icmp.c \ + print-icmp6.c \ + print-igmp.c \ + print-ip-demux.c \ + print-ip.c \ + print-ip6.c \ + print-ip6opts.c \ + print-ipnet.c \ + print-l2tp.c \ + print-llc.c \ + print-lldp.c \ + print-loopback.c \ + print-macsec.c \ + print-nfs.c \ + print-ntp.c \ + print-null.c \ + print-olsr.c \ + print-ospf.c \ + print-ospf6.c \ + print-ppp.c \ + print-pppoe.c \ + print-pptp.c \ + print-radius.c \ + print-raw.c \ + print-rsvp.c \ + print-rt6.c \ + print-rtsp.c \ + print-sip.c \ + print-sll.c \ + print-smtp.c \ + print-snmp.c \ + print-stp.c \ + print-sunrpc.c \ + print-syslog.c \ + print-tcp.c \ + print-telnet.c \ + print-tftp.c \ + print-udp.c \ + print-unsupported.c \ + signature.c \ + strtoaddr.c \ + util-print.c + +else + LIBNETDISSECT_SRC=\ addrtoname.c \ addrtostr.c \ @@ -252,6 +331,8 @@ LIBNETDISSECT_SRC=\ strtoaddr.c \ util-print.c +endif + LOCALSRC = @LOCALSRC@ LIBOBJS = @LIBOBJS@ --- a/addrtoname.c +++ b/addrtoname.c @@ -683,8 +683,10 @@ linkaddr_string(netdissect_options *ndo, if (type == LINKADDR_ETHER && len == MAC_ADDR_LEN) return (etheraddr_string(ndo, ep)); +#ifndef TCPDUMP_MINI if (type == LINKADDR_FRELAY) return (q922_string(ndo, ep, len)); +#endif tp = lookup_bytestring(ndo, ep, len); if (tp->bs_name) @@ -1263,6 +1265,7 @@ init_addrtoname(netdissect_options *ndo, init_ipxsaparray(ndo); } +#ifndef TCPDUMP_MINI const char * dnaddr_string(netdissect_options *ndo, u_short dnaddr) { @@ -1279,6 +1282,7 @@ dnaddr_string(netdissect_options *ndo, u return(tp->name); } +#endif /* Return a zero'ed hnamemem struct and cuts down on calloc() overhead */ struct hnamemem * --- a/print-ether.c +++ b/print-ether.c @@ -539,6 +539,7 @@ ethertype_print(netdissect_options *ndo, arp_print(ndo, p, length, caplen); return (1); +#ifndef TCPDUMP_MINI case ETHERTYPE_DN: decnet_print(ndo, p, length, caplen); return (1); @@ -569,6 +570,7 @@ ethertype_print(netdissect_options *ndo, ND_TCHECK_LEN(p, 1); isoclns_print(ndo, p + 1, length - 1); return(1); +#endif case ETHERTYPE_PPPOED: case ETHERTYPE_PPPOES: @@ -581,9 +583,11 @@ ethertype_print(netdissect_options *ndo, eapol_print(ndo, p); return (1); +#ifndef TCPDUMP_MINI case ETHERTYPE_RRCP: rrcp_print(ndo, p, length, src, dst); return (1); +#endif case ETHERTYPE_PPP: if (length) { @@ -592,6 +596,7 @@ ethertype_print(netdissect_options *ndo, } return (1); +#ifndef TCPDUMP_MINI case ETHERTYPE_MPCP: mpcp_print(ndo, p, length); return (1); @@ -604,19 +609,23 @@ ethertype_print(netdissect_options *ndo, case ETHERTYPE_CFM_OLD: cfm_print(ndo, p, length); return (1); +#endif case ETHERTYPE_LLDP: lldp_print(ndo, p, length); return (1); +#ifndef TCPDUMP_MINI case ETHERTYPE_NSH: nsh_print(ndo, p, length); return (1); +#endif case ETHERTYPE_LOOPBACK: loopback_print(ndo, p, length); return (1); +#ifndef TCPDUMP_MINI case ETHERTYPE_MPLS: case ETHERTYPE_MPLS_MULTI: mpls_print(ndo, p, length); @@ -646,6 +655,7 @@ ethertype_print(netdissect_options *ndo, case ETHERTYPE_PTP: ptp_print(ndo, p, length); return (1); +#endif case ETHERTYPE_LAT: case ETHERTYPE_SCA: --- a/print-gre.c +++ b/print-gre.c @@ -207,6 +207,7 @@ gre_print_0(netdissect_options *ndo, con case ETHERTYPE_IPV6: ip6_print(ndo, bp, len); break; +#ifndef TCPDUMP_MINI case ETHERTYPE_MPLS: mpls_print(ndo, bp, len); break; @@ -219,6 +220,7 @@ gre_print_0(netdissect_options *ndo, con case ETHERTYPE_GRE_ISO: isoclns_print(ndo, bp, len); break; +#endif case ETHERTYPE_TEB: ether_print(ndo, bp, len, ND_BYTES_AVAILABLE_AFTER(bp), NULL, NULL); break; --- a/print-icmp6.c +++ b/print-icmp6.c @@ -1384,7 +1384,7 @@ get_upperlayer(netdissect_options *ndo, nh = GET_U_1(fragh->ip6f_nxt); hlen = sizeof(struct ip6_frag); break; - +#ifndef TCPDUMP_MINI case IPPROTO_AH: ah = (const struct ah *)bp; if (!ND_TTEST_1(ah->ah_len)) @@ -1392,7 +1392,7 @@ get_upperlayer(netdissect_options *ndo, nh = GET_U_1(ah->ah_nxt); hlen = (GET_U_1(ah->ah_len) + 2) << 2; break; - +#endif default: /* unknown or undecodable header */ *prot = nh; /* meaningless, but set here anyway */ return(NULL); --- a/print-igmp.c +++ b/print-igmp.c @@ -269,6 +269,7 @@ igmp_print(netdissect_options *ndo, case 0x17: ND_PRINT("igmp leave %s", GET_IPADDR_STRING(bp + 4)); break; +#ifndef TCPDUMP_MINI case 0x13: ND_PRINT("igmp dvmrp"); if (len < 8) @@ -280,6 +281,7 @@ igmp_print(netdissect_options *ndo, ND_PRINT("igmp pimv1"); pimv1_print(ndo, bp, len); break; +#endif case 0x1e: print_mtrace(ndo, "mresp", bp, len); break; --- a/print-ip-demux.c +++ b/print-ip-demux.c @@ -48,6 +48,7 @@ ip_demux_print(netdissect_options *ndo, again: switch (nh) { +#ifndef TCPDUMP_MINI case IPPROTO_AH: if (!ND_TTEST_1(bp)) { ndo->ndo_protocol = "ah"; @@ -85,7 +86,9 @@ again: */ break; } +#endif +#ifndef TCPDUMP_MINI case IPPROTO_SCTP: sctp_print(ndo, bp, iph, length); break; @@ -93,7 +96,7 @@ again: case IPPROTO_DCCP: dccp_print(ndo, bp, iph, length); break; - +#endif case IPPROTO_TCP: tcp_print(ndo, bp, length, iph, fragmented); break; @@ -122,6 +125,7 @@ again: } break; +#ifndef TCPDUMP_MINI case IPPROTO_PIGP: /* * XXX - the current IANA protocol number assignments @@ -142,14 +146,17 @@ again: case IPPROTO_EIGRP: eigrp_print(ndo, bp, length); break; +#endif case IPPROTO_ND: ND_PRINT(" nd %u", length); break; +#ifndef TCPDUMP_MINI case IPPROTO_EGP: egp_print(ndo, bp, length); break; +#endif case IPPROTO_OSPF: if (ver == 6) @@ -186,6 +193,7 @@ again: gre_print(ndo, bp, length); break; +#ifndef TCPDUMP_MINI case IPPROTO_MOBILE: mobile_print(ndo, bp, length); break; @@ -205,6 +213,7 @@ again: case IPPROTO_PGM: pgm_print(ndo, bp, length, iph); break; +#endif case IPPROTO_ETHERNET: if (ver == 6) --- a/print-ip6.c +++ b/print-ip6.c @@ -135,10 +135,11 @@ ip6_finddst(netdissect_options *ndo, nd_ * Only one routing header to a customer. */ goto done; - +#ifndef TCPDUMP_MINI case IPPROTO_AH: case IPPROTO_ESP: case IPPROTO_IPCOMP: +#endif default: /* * AH and ESP are, in the RFCs that describe them, @@ -357,6 +358,7 @@ ip6_print(netdissect_options *ndo, const nh = GET_U_1(cp); break; +#ifndef TCPDUMP_MINI case IPPROTO_FRAGMENT: advance = frag6_print(ndo, cp, (const u_char *)ip6); if (advance < 0 || ndo->ndo_snapend <= cp + advance) { @@ -387,7 +389,7 @@ ip6_print(netdissect_options *ndo, const nh = GET_U_1(cp); nd_pop_packet_info(ndo); return; - +#endif case IPPROTO_ROUTING: ND_TCHECK_1(cp); advance = rt6_print(ndo, cp, (const u_char *)ip6); --- a/print-llc.c +++ b/print-llc.c @@ -207,6 +207,7 @@ llc_print(netdissect_options *ndo, const hdrlen = 4; /* DSAP, SSAP, 2-byte control field */ } +#ifndef TCPDUMP_MINI if (ssap_field == LLCSAP_GLOBAL && dsap_field == LLCSAP_GLOBAL) { /* * This is an Ethernet_802.3 IPX frame; it has an @@ -229,6 +230,7 @@ llc_print(netdissect_options *ndo, const ipx_print(ndo, p, length); return (0); /* no LLC header */ } +#endif dsap = dsap_field & ~LLC_IG; ssap = ssap_field & ~LLC_GSAP; @@ -292,6 +294,7 @@ llc_print(netdissect_options *ndo, const return (hdrlen); } +#ifndef TCPDUMP_MINI if (ssap == LLCSAP_IPX && dsap == LLCSAP_IPX && control == LLC_UI) { /* @@ -305,6 +308,7 @@ llc_print(netdissect_options *ndo, const ipx_print(ndo, p, length); return (hdrlen); } +#endif #ifdef ENABLE_SMB if (ssap == LLCSAP_NETBEUI && dsap == LLCSAP_NETBEUI @@ -323,12 +327,13 @@ llc_print(netdissect_options *ndo, const return (hdrlen); } #endif +#ifndef TCPDUMP_MINI if (ssap == LLCSAP_ISONS && dsap == LLCSAP_ISONS && control == LLC_UI) { isoclns_print(ndo, p, length); return (hdrlen); } - +#endif if (!ndo->ndo_eflag) { if (ssap == dsap) { if (src == NULL || dst == NULL) @@ -484,6 +489,7 @@ snap_print(netdissect_options *ndo, cons case OUI_CISCO: switch (et) { +#ifndef TCPDUMP_MINI case PID_CISCO_CDP: cdp_print(ndo, p, length); return (1); @@ -496,6 +502,7 @@ snap_print(netdissect_options *ndo, cons case PID_CISCO_VTP: vtp_print(ndo, p, length); return (1); +#endif case PID_CISCO_PVST: case PID_CISCO_VLANBRIDGE: stp_print(ndo, p, length); @@ -508,6 +515,7 @@ snap_print(netdissect_options *ndo, cons case OUI_RFC2684: switch (et) { +#ifndef TCPDUMP_MINI case PID_RFC2684_ETH_FCS: case PID_RFC2684_ETH_NOFCS: /* @@ -569,6 +577,7 @@ snap_print(netdissect_options *ndo, cons */ fddi_print(ndo, p, length, caplen); return (1); +#endif case PID_RFC2684_BPDU: stp_print(ndo, p, length); --- a/print-null.c +++ b/print-null.c @@ -116,6 +116,7 @@ null_if_print(netdissect_options *ndo, c ip6_print(ndo, p, length); break; +#ifndef TCPDUMP_MINI case BSD_AFNUM_ISO: isoclns_print(ndo, p, length); break; @@ -127,6 +128,7 @@ null_if_print(netdissect_options *ndo, c case BSD_AFNUM_IPX: ipx_print(ndo, p, length); break; +#endif default: /* unknown AF_ value */ --- a/print-ppp.c +++ b/print-ppp.c @@ -1355,6 +1355,7 @@ trunc: * The length argument is the on-the-wire length, not the captured * length; we can only un-escape the captured part. */ +#ifndef TCPDUMP_MINI static void ppp_hdlc(netdissect_options *ndo, const u_char *p, u_int length) @@ -1440,17 +1441,19 @@ trunc: ndo->ndo_snapend = se; nd_print_trunc(ndo); } - +#endif /* PPP */ static void handle_ppp(netdissect_options *ndo, u_int proto, const u_char *p, u_int length) { +#ifndef TCPDUMP_MINI if ((proto & 0xff00) == 0x7e00) { /* is this an escape code ? */ ppp_hdlc(ndo, p - 1, length); return; } +#endif switch (proto) { case PPP_LCP: /* fall through */ @@ -1483,6 +1486,7 @@ handle_ppp(netdissect_options *ndo, case PPP_IPV6: ip6_print(ndo, p, length); break; +#ifndef TCPDUMP_MINI case ETHERTYPE_IPX: /*XXX*/ case PPP_IPX: ipx_print(ndo, p, length); @@ -1494,6 +1498,7 @@ handle_ppp(netdissect_options *ndo, case PPP_MPLS_MCAST: mpls_print(ndo, p, length); break; +#endif case PPP_COMP: ND_PRINT("compressed PPP data"); break; @@ -1634,6 +1639,7 @@ ppp_if_print(netdissect_options *ndo, ppp_print(ndo, p, length); } +#ifndef TCPDUMP_MINI /* * PPP I/F printer to use if we know that RFC 1662-style PPP in HDLC-like * framing, or Cisco PPP with HDLC framing as per section 4.3.1 of RFC 1547, @@ -1877,3 +1883,4 @@ printx: #endif /* __bsdi__ */ ndo->ndo_ll_hdr_len += hdrlength; } +#endif --- a/print-sll.c +++ b/print-sll.c @@ -460,12 +460,14 @@ recurse: */ switch (ether_type) { +#ifndef TCPDUMP_MINI case LINUX_SLL_P_802_3: /* * Ethernet_802.3 IPX frame. */ ipx_print(ndo, p, length); break; +#endif case LINUX_SLL_P_802_2: /* --- a/print-tcp.c +++ b/print-tcp.c @@ -612,6 +612,7 @@ tcp_print(netdissect_options *ndo, ND_PRINT(" %u", utoval); break; +#ifndef TCPDUMP_MINI case TCPOPT_MPTCP: { const u_char *snapend_save; @@ -635,7 +636,7 @@ tcp_print(netdissect_options *ndo, goto bad; break; } - +#endif case TCPOPT_FASTOPEN: datalen = len - 2; LENCHECK(datalen); @@ -720,6 +721,7 @@ tcp_print(netdissect_options *ndo, return; } +#ifndef TCPDUMP_MINI if (ndo->ndo_packettype) { switch (ndo->ndo_packettype) { case PT_ZMTP1: @@ -735,6 +737,7 @@ tcp_print(netdissect_options *ndo, } return; } +#endif if (IS_SRC_OR_DST_PORT(TELNET_PORT)) { telnet_print(ndo, bp, length); @@ -745,24 +748,31 @@ tcp_print(netdissect_options *ndo, ND_PRINT(": "); ndo->ndo_protocol = "whois"; /* needed by txtproto_print() */ txtproto_print(ndo, bp, length, NULL, 0); /* RFC 3912 */ - } else if (IS_SRC_OR_DST_PORT(BGP_PORT)) + } +#ifndef TCPDUMP_MINI + else if (IS_SRC_OR_DST_PORT(BGP_PORT)) bgp_print(ndo, bp, length); +#endif else if (IS_SRC_OR_DST_PORT(PPTP_PORT)) pptp_print(ndo, bp); +#ifndef TCPDUMP_MINI else if (IS_SRC_OR_DST_PORT(REDIS_PORT)) resp_print(ndo, bp, length); else if (IS_SRC_OR_DST_PORT(SSH_PORT)) ssh_print(ndo, bp, length); +#endif #ifdef ENABLE_SMB else if (IS_SRC_OR_DST_PORT(NETBIOS_SSN_PORT)) nbt_tcp_print(ndo, bp, length); else if (IS_SRC_OR_DST_PORT(SMB_PORT)) smb_tcp_print(ndo, bp, length); #endif +#ifndef TCPDUMP_MINI else if (IS_SRC_OR_DST_PORT(BEEP_PORT)) beep_print(ndo, bp, length); else if (IS_SRC_OR_DST_PORT(OPENFLOW_PORT_OLD) || IS_SRC_OR_DST_PORT(OPENFLOW_PORT_IANA)) openflow_print(ndo, bp, length); +#endif else if (IS_SRC_OR_DST_PORT(FTP_PORT)) { ND_PRINT(": "); ftp_print(ndo, bp, length); @@ -775,12 +785,14 @@ tcp_print(netdissect_options *ndo, } else if (IS_SRC_OR_DST_PORT(NAMESERVER_PORT)) { /* over_tcp: TRUE, is_mdns: FALSE */ domain_print(ndo, bp, length, TRUE, FALSE); +#ifndef TCPDUMP_MINI } else if (IS_SRC_OR_DST_PORT(MSDP_PORT)) { msdp_print(ndo, bp, length); } else if (IS_SRC_OR_DST_PORT(RPKI_RTR_PORT)) { rpki_rtr_print(ndo, bp, length); } else if (IS_SRC_OR_DST_PORT(LDP_PORT)) { ldp_print(ndo, bp, length); +#endif } else if ((IS_SRC_OR_DST_PORT(NFS_PORT)) && length >= 4 && ND_TTEST_4(bp)) { /* --- a/print-udp.c +++ b/print-udp.c @@ -435,10 +435,12 @@ udp_print(netdissect_options *ndo, const vat_print(ndo, cp, length); break; +#ifndef TCPDUMP_MINI case PT_WB: udpipaddr_print(ndo, ip, sport, dport); wb_print(ndo, cp, length); break; +#endif case PT_RPC: rp = (const struct sunrpc_msg *)cp; @@ -467,10 +469,12 @@ udp_print(netdissect_options *ndo, const snmp_print(ndo, cp, length); break; +#ifndef TCPDUMP_MINI case PT_CNFP: udpipaddr_print(ndo, ip, sport, dport); cnfp_print(ndo, cp); break; +#endif case PT_TFTP: udpipaddr_print(ndo, ip, sport, dport); @@ -488,6 +492,7 @@ udp_print(netdissect_options *ndo, const radius_print(ndo, cp, length); break; +#ifndef TCPDUMP_MINI case PT_VXLAN: udpipaddr_print(ndo, ip, sport, dport); vxlan_print(ndo, cp, length); @@ -510,6 +515,7 @@ udp_print(netdissect_options *ndo, const udpipaddr_print(ndo, ip, sport, dport); someip_print(ndo, cp, length); break; +#endif case PT_DOMAIN: udpipaddr_print(ndo, ip, sport, dport); /* over_tcp: FALSE, is_mdns: FALSE */ @@ -596,29 +602,37 @@ udp_print(netdissect_options *ndo, const else if (IS_SRC_OR_DST_PORT(MULTICASTDNS_PORT)) /* over_tcp: FALSE, is_mdns: TRUE */ domain_print(ndo, cp, length, FALSE, TRUE); +#ifndef TCPDUMP_MINI else if (IS_SRC_OR_DST_PORT(TIMED_PORT)) timed_print(ndo, (const u_char *)cp); +#endif else if (IS_SRC_OR_DST_PORT(TFTP_PORT)) tftp_print(ndo, cp, length); else if (IS_SRC_OR_DST_PORT(BOOTPC_PORT) || IS_SRC_OR_DST_PORT(BOOTPS_PORT)) bootp_print(ndo, cp, length); +#ifndef TCPDUMP_MINI else if (IS_SRC_OR_DST_PORT(RIP_PORT)) rip_print(ndo, cp, length); +#endif else if (IS_SRC_OR_DST_PORT(AODV_PORT)) aodv_print(ndo, cp, length, ip6 != NULL); +#ifndef TCPDUMP_MINI else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT)) isakmp_print(ndo, cp, length, bp2); else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT_NATT)) isakmp_rfc3948_print(ndo, cp, length, bp2, IP_V(ip), fragmented, ttl_hl); else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT_USER1) || IS_SRC_OR_DST_PORT(ISAKMP_PORT_USER2)) isakmp_print(ndo, cp, length, bp2); +#endif else if (IS_SRC_OR_DST_PORT(SNMP_PORT) || IS_SRC_OR_DST_PORT(SNMPTRAP_PORT)) snmp_print(ndo, cp, length); else if (IS_SRC_OR_DST_PORT(NTP_PORT)) ntp_print(ndo, cp, length); +#ifndef TCPDUMP_MINI else if (IS_SRC_OR_DST_PORT(KERBEROS_PORT) || IS_SRC_OR_DST_PORT(KERBEROS_SEC_PORT)) krb_print(ndo, (const u_char *)cp); +#endif else if (IS_SRC_OR_DST_PORT(L2TP_PORT)) l2tp_print(ndo, cp, length); #ifdef ENABLE_SMB @@ -629,6 +643,7 @@ udp_print(netdissect_options *ndo, const #endif else if (dport == VAT_PORT) vat_print(ndo, cp, length); +#ifndef TCPDUMP_MINI else if (IS_SRC_OR_DST_PORT(ZEPHYR_SRV_PORT) || IS_SRC_OR_DST_PORT(ZEPHYR_CLT_PORT)) zephyr_print(ndo, cp, length); /* @@ -641,8 +656,11 @@ udp_print(netdissect_options *ndo, const (const u_char *) ip); else if (IS_SRC_OR_DST_PORT(RIPNG_PORT)) ripng_print(ndo, cp, length); +#endif + else if (IS_SRC_OR_DST_PORT(DHCP6_SERV_PORT) || IS_SRC_OR_DST_PORT(DHCP6_CLI_PORT)) dhcp6_print(ndo, cp, length); +#ifndef TCPDUMP_MINI else if (IS_SRC_OR_DST_PORT(AHCP_PORT)) ahcp_print(ndo, cp, length); else if (IS_SRC_OR_DST_PORT(BABEL_PORT) || IS_SRC_OR_DST_PORT(BABEL_PORT_OLD)) @@ -656,6 +674,7 @@ udp_print(netdissect_options *ndo, const wb_print(ndo, cp, length); else if (IS_SRC_OR_DST_PORT(CISCO_AUTORP_PORT)) cisco_autorp_print(ndo, cp, length); +#endif else if (IS_SRC_OR_DST_PORT(RADIUS_PORT) || IS_SRC_OR_DST_PORT(RADIUS_NEW_PORT) || IS_SRC_OR_DST_PORT(RADIUS_ACCOUNTING_PORT) || @@ -663,15 +682,18 @@ udp_print(netdissect_options *ndo, const IS_SRC_OR_DST_PORT(RADIUS_CISCO_COA_PORT) || IS_SRC_OR_DST_PORT(RADIUS_COA_PORT) ) radius_print(ndo, cp, length); +#ifndef TCPDUMP_MINI else if (dport == HSRP_PORT) hsrp_print(ndo, cp, length); else if (IS_SRC_OR_DST_PORT(LWRES_PORT)) lwres_print(ndo, cp, length); else if (IS_SRC_OR_DST_PORT(LDP_PORT)) ldp_print(ndo, cp, length); +#endif else if (IS_SRC_OR_DST_PORT(OLSR_PORT)) olsr_print(ndo, cp, length, (IP_V(ip) == 6) ? 1 : 0); +#ifndef TCPDUMP_MINI else if (IS_SRC_OR_DST_PORT(MPLS_LSP_PING_PORT)) lspping_print(ndo, cp, length); else if (sport == BCM_LI_PORT) @@ -693,10 +715,12 @@ udp_print(netdissect_options *ndo, const lwapp_control_print(ndo, cp, length, 0); else if (IS_SRC_OR_DST_PORT(LWAPP_DATA_PORT)) lwapp_data_print(ndo, cp, length); +#endif else if (IS_SRC_OR_DST_PORT(SIP_PORT)) sip_print(ndo, cp, length); else if (IS_SRC_OR_DST_PORT(SYSLOG_PORT)) syslog_print(ndo, cp, length); +#ifndef TCPDUMP_MINI else if (IS_SRC_OR_DST_PORT(OTV_PORT)) otv_print(ndo, cp, length); else if (IS_SRC_OR_DST_PORT(VXLAN_PORT)) @@ -722,6 +746,7 @@ udp_print(netdissect_options *ndo, const ptp_print(ndo, cp, length); } else if (IS_SRC_OR_DST_PORT(SOMEIP_PORT)) someip_print(ndo, cp, length); +#endif else { if (ulen > length && !fragmented) ND_PRINT("UDP, bad length %u > %u", --- a/print.c +++ b/print.c @@ -48,6 +48,7 @@ struct printer { }; static const struct printer printers[] = { +#ifndef TCPDUMP_MINI #ifdef DLT_APPLE_IP_OVER_IEEE1394 { ap1394_if_print, DLT_APPLE_IP_OVER_IEEE1394 }, #endif @@ -86,7 +87,9 @@ static const struct printer printers[] = #ifdef DLT_ENC { enc_if_print, DLT_ENC }, #endif +#endif { ether_if_print, DLT_EN10MB }, +#ifndef TCPDUMP_MINI { fddi_if_print, DLT_FDDI }, #ifdef DLT_FR { fr_if_print, DLT_FR }, @@ -94,6 +97,7 @@ static const struct printer printers[] = #ifdef DLT_FRELAY { fr_if_print, DLT_FRELAY }, #endif +#endif #ifdef DLT_IEEE802_11 { ieee802_11_if_print, DLT_IEEE802_11}, #endif @@ -103,6 +107,7 @@ static const struct printer printers[] = #ifdef DLT_IEEE802_11_RADIO { ieee802_11_radio_if_print, DLT_IEEE802_11_RADIO }, #endif +#ifndef TCPDUMP_MINI #ifdef DLT_IEEE802_15_4 { ieee802_15_4_if_print, DLT_IEEE802_15_4 }, #endif @@ -115,9 +120,11 @@ static const struct printer printers[] = #ifdef DLT_IP_OVER_FC { ipfc_if_print, DLT_IP_OVER_FC }, #endif +#endif #ifdef DLT_IPNET { ipnet_if_print, DLT_IPNET }, #endif +#ifndef TCPDUMP_MINI #ifdef DLT_IPOIB { ipoib_if_print, DLT_IPOIB }, #endif @@ -172,19 +179,23 @@ static const struct printer printers[] = #ifdef DLT_MFR { mfr_if_print, DLT_MFR }, #endif +#endif #ifdef DLT_NETANALYZER { netanalyzer_if_print, DLT_NETANALYZER }, #endif #ifdef DLT_NETANALYZER_TRANSPARENT { netanalyzer_transparent_if_print, DLT_NETANALYZER_TRANSPARENT }, #endif +#ifndef TCPDUMP_MINI #ifdef DLT_NFLOG { nflog_if_print, DLT_NFLOG}, #endif +#endif { null_if_print, DLT_NULL }, #ifdef DLT_LOOP { null_if_print, DLT_LOOP }, #endif +#ifndef TCPDUMP_MINI #if defined(DLT_PFLOG) && defined(HAVE_NET_IF_PFLOG_H) { pflog_if_print, DLT_PFLOG }, #endif @@ -200,6 +211,7 @@ static const struct printer printers[] = #ifdef DLT_PPP_SERIAL { ppp_hdlc_if_print, DLT_PPP_SERIAL }, #endif +#endif { ppp_if_print, DLT_PPP }, #ifdef DLT_PPP_PPPD { ppp_if_print, DLT_PPP_PPPD }, @@ -211,6 +223,7 @@ static const struct printer printers[] = { prism_if_print, DLT_PRISM_HEADER }, #endif { raw_if_print, DLT_RAW }, +#ifndef TCPDUMP_MINI #ifdef DLT_IPV4 { raw_if_print, DLT_IPV4 }, #endif @@ -243,6 +256,7 @@ static const struct printer printers[] = #ifdef DLT_VSOCK { vsock_if_print, DLT_VSOCK }, #endif +#endif { NULL, 0 }, };