diff --git a/CHANGES b/CHANGES
index 7c4be17..eae4109 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,10 +1,16 @@
+Sunday July 23, 2017 denis@ovsienko.info
+  Summary for 4.9.1 tcpdump release
+    CVE-2017-11108/Fix bounds checking for STP.
+    Make assorted documentation updates and fix a few typos in tcpdump output.
+    Fixup -C for file size >2GB (GH #488).
+    Show AddressSanitizer presence in version output.
+    Fix a bug in test scripts (exposed in GH #613).
+    On FreeBSD adjust Capsicum capabilities for netmap.
+    On Linux fix a use-after-free when the requested interface does not exist.
+
 Wednesday January 18, 2017 devel.fx.lebail@orange.fr
   Summary for 4.9.0 tcpdump release
     General updates:
-    Improve separation frontend/backend (tcpdump/libnetdissect)
-    Don't require IPv6 library support in order to support IPv6 addresses
-    Introduce data types to use for integral values in packet structures
-    Fix display of timestamps with -tt, -ttt and -ttttt options
     Fix some heap overflows found with American Fuzzy Lop by Hanno Boeck and others
         (More information in the log with CVE-2016-* and CVE-2017-*)
     Change the way protocols print link-layer addresses (Fix heap overflows
@@ -35,14 +41,6 @@
     Don't drop CAP_SYS_CHROOT before chrooting
     Fixes issue where statistics not reported when -G and -W options used
 
-    New printers supporting:
-    Generic Protocol Extension for VXLAN (VXLAN-GPE)
-    Home Networking Control Protocol (HNCP), RFCs 7787 and 7788
-    Locator/Identifier Separation Protocol (LISP), type 3 and type 4 packets
-    Marvell Extended Distributed Switch Architecture header (MEDSA)
-    Network Service Header (NSH)
-    REdis Serialization Protocol (RESP)
-
     Updated printers:
     802.11: Beginnings of 11ac radiotap support
     802.11: Check the Protected bit for management frames
@@ -61,7 +59,6 @@
     ATM: Fix an incorrect bounds check
     BFD: Update specification from draft to RFC 5880
     BFD: Update to print optional authentication field
-    BGP: Add decoding of ADD-PATH capability
     BGP: Add support for the AIGP attribute (RFC7311)
     BGP: Print LARGE_COMMUNITY Path Attribute
     BGP: Update BGP numbers from IANA; Print minor values for FSM notification
@@ -78,7 +75,6 @@
     DTP: Improve packet integrity checks
     EGP: Fix bounds checks
     ESP: Don't use OpenSSL_add_all_algorithms() in OpenSSL 1.1.0 or later
-    ESP: Handle OpenSSL 1.1.x
     Ethernet: Add some bounds checking before calling isoclns_print (Fix a heap overflow)
     Ethernet: Print the Length/Type field as length when needed
     FDDI: Fix -e output for FDDI
@@ -87,7 +83,6 @@
     Geneve: Fix error message with invalid option length; Update list option classes
     HNCP: Fix incorrect time interval format. Fix handling of IPv4 prefixes
     ICMP6: Fetch a 32-bit big-endian quantity with EXTRACT_32BITS()
-    ICMP6: dagid is always an IPv6 address, not an opaque 128-bit string
     IGMP: Add a length check
     IP: Add a bounds check (Fix a heap overflow)
     IP: Check before fetching the protocol version (Fix a heap overflow)
@@ -115,7 +110,6 @@
     MPLS LSP ping: Update printing for RFC 4379, bug fixes, more bounds checks
     MPLS: "length" is now the *remaining* packet length
     MPLS: Add bounds and length checks (Fix a heap overflow)
-    NFS: Add a test that makes unaligned accesses
     NFS: Don't assume the ONC RPC header is nicely aligned
     NFS: Don't overflow the Opaque_Handle buffer (Fix a segmentation fault)
     NFS: Don't run past the end of an NFSv3 file handle
@@ -130,7 +124,6 @@
     PGM: Print the formatted IP address, not the raw binary address, as a string
     PIM: Add some bounds checking (Fix a heap overflow)
     PIMv2: Fix checksumming of Register messages
-    PPI: Pass an adjusted struct pcap_pkthdr to the sub-printer
     PPP: Add some bounds checks (Fix a heap overflow)
     PPP: Report invalid PAP AACK/ANAK packets
     Q.933: Add a missing bounds check
@@ -171,16 +164,46 @@
     UDLD: Fix an infinite loop
     UDP: Add a bounds check (Fix a heap overflow)
     UDP: Check against the packet length first
-    UDP: Don't do the DDP-over-UDP heuristic check up front
     VAT: Add some bounds checks
     VTP: Add a test on Mgmt Domain Name length
     VTP: Add bounds checks and filter out non-printable characters
     VXLAN: Add a bound check and a test case
     ZeroMQ: Fix an infinite loop
 
-Tuesday April 14, 2015 guy@alum.mit.edu
-  Summary for 4.8.0 tcpdump release
+Tuesday October 25, 2016 mcr@sandelman.ca
+  Summary for 4.8.1 tcpdump release
 	Fix "-x" for Apple PKTAP and PPI packets
+        Improve separation frontend/backend (tcpdump/libnetdissect)
+        Fix display of timestamps with -tt, -ttt and -ttttt options
+        Add support for the Marvell Extended Distributed Switch Architecture header
+        Use PRIx64 to print a 64-bit number in hex.
+        Printer for HNCP (RFCs 7787 and 7788).
+        dagid is always an IPv6 address, not an opaque 128-bit string, and other fixes to RPL printer.
+        RSVP: Add bounds and length checks
+        OSPF: Do more bounds checking
+        Handle OpenSSL 1.1.x.
+        Initial support for the REdis Serialization Protocol known as RESP.
+        Add printing function for Generic Protocol Extension for VXLAN
+            draft-ietf-nvo3-vxlan-gpe-01
+        Network Service Header: draft-ietf-sfc-nsh-01
+        Don't recompile the filter if the new file has the same DLT.
+        Pass an adjusted struct pcap_pkthdr to the sub-printer.
+        Add three test cases for already fixed CVEs
+           CVE-2014-8767: OLSR
+           CVE-2014-8768: Geonet
+           CVE-2014-8769: AODV
+        Don't do the DDP-over-UDP heuristic first: GitHub issue #499.
+        Use the new debugging routines in libpcap.
+        Harmonize TCP source or destination ports tests with UDP ones
+        Introduce data types to use for integral values in packet structures.
+        RSVP: Fix an infinite loop
+        Support of Type 3 and Type 4 LISP packets.
+        Don't require IPv6 library support in order to support IPv6 addresses.
+        Many many changes to support libnetdissect usage.
+        Add a test that makes unaligned accesses: GitHub issue #478.
+        add a DNSSEC test case: GH #445 and GH #467.
+        BGP: add decoding of ADD-PATH capability
+        fixes to LLC header printing, and RFC948-style IP packets
 
 Friday April 10, 2015 guy@alum.mit.edu
   Summary for 4.7.4 tcpdump release
diff --git a/CONTRIBUTING b/CONTRIBUTING
index 5d3b46e..186583e 100644
--- a/CONTRIBUTING
+++ b/CONTRIBUTING
@@ -3,6 +3,44 @@
 You want to contribute to Tcpdump, Thanks!
 Please, read these lines.
 
+
+How to report bugs and other problems
+-------------------------------------
+To report a security issue (segfault, buffer overflow, infinite loop, arbitrary
+code execution etc) please send an e-mail to security@tcpdump.org, do not use
+the bug tracker!
+
+To report a non-security problem (failure to compile, incorrect output in the
+protocol printout, missing support for a particular protocol etc) please check
+first that it reproduces with the latest stable release of tcpdump and the latest
+stable release of libpcap. If it does, please check that the problem reproduces
+with the current git master branch of tcpdump and the current git master branch of
+libpcap. If it does (and it is not a security-related problem, otherwise see
+above), please navigate to https://github.com/the-tcpdump-group/tcpdump/issues
+and check if the problem has already been reported. If it has not, please open
+a new issue and provide the following details:
+
+* tcpdump and libpcap version (tcpdump --version)
+* operating system name and version and any other details that may be relevant
+  (uname -a, compiler name and version, CPU type etc.)
+* configure flags if any were used
+* statement of the problem
+* steps to reproduce
+
+Please note that if you know exactly how to solve the problem and the solution
+would not be too intrusive, it would be best to contribute some development time
+and open a pull request instead as discussed below.
+
+Still not sure how to do? Feel free to [subscribe](http://www.tcpdump.org/#mailing-lists)
+to the mailing list tcpdump-workers@lists.tcpdump.org and ask!
+
+
+How to add new code and to update existing code
+-----------------------------------------------
+
+0) Check that there isn't a pull request already opened for the changes you
+   intend to make.
+
 1) Fork the Tcpdump repository on GitHub from
    https://github.com/the-tcpdump-group/tcpdump
    (See https://help.github.com/articles/fork-a-repo/)
@@ -12,8 +50,11 @@
    on Linux and OSX before sending pull requests.
    (See http://docs.travis-ci.com/user/getting-started/)
 
-3) Clone your repository
+3) Setup your git working copy
    git clone https://github.com/<username>/tcpdump.git
+   cd tcpdump
+   git remote add upstream https://github.com/the-tcpdump-group/tcpdump
+   git fetch upstream
 
 4) Do a 'touch .devel' in your working directory.
    Currently, the effect is
@@ -47,19 +88,26 @@
 7) Test with 'make check'
    Don't send a pull request if 'make check' gives failed tests.
 
-8) Rebase your commits against upstream/master
-   (To keep linearity)
+8) Try to rebase your commits to keep the history simple.
+   git rebase upstream/master
+   (If the rebase fails and you cannot resolve, issue "git rebase --abort"
+   and ask for help in the pull request comment.)
 
-9) Initiate and send a pull request
+9) Once 100% happy, put your work into your forked repository.
+   git push
+
+10) Initiate and send a pull request
    (See https://help.github.com/articles/using-pull-requests/)
 
-Some remarks
-------------
+
+Code style and generic remarks
+------------------------------
 a) A thorough reading of some other printers code is useful.
 
 b) Put the normative reference if any as comments (RFC, etc.).
 
-c) Put the format of packets/headers/options as comments.
+c) Put the format of packets/headers/options as comments if there is no
+   published normative reference.
 
 d) The printer may receive incomplete packet in the buffer, truncated at any
    random position, for example by capturing with '-s size' option.
diff --git a/CREDITS b/CREDITS
index 5242967..fc642a8 100644
--- a/CREDITS
+++ b/CREDITS
@@ -39,6 +39,7 @@
     Bjoern A. Zeeb                <bzeeb at Zabbadoz dot NeT>
     Bram                          <tcpdump at mail dot wizbit dot be>
     Brent L. Bates                <blbates at vigyan dot com>
+    Brian Carpenter               <brian dot carpenter at gmail dot com>
     Brian Ginsbach                <ginsbach at cray dot com>
     Bruce M. Simpson              <bms at spc dot org>
     Carles Kishimoto Bisbe        <ckishimo at ac dot upc dot es>
@@ -54,6 +55,7 @@
     Craig Rodrigues               <rodrigc at mediaone dot net>
     Crist J. Clark                <cjclark at alum dot mit dot edu>
     Daniel Hagerty                <hag at ai dot mit dot edu>
+    Daniel Lee                    <Longinus00 at gmail dot com>
     Darren Reed                   <darrenr at reed dot wattle dot id dot au>
     David Binderman               <d dot binderman at virgin dot net>
     David Horn                    <dhorn2000 at gmail dot com>
@@ -85,6 +87,7 @@
     Greg Stark                    <gsstark at mit dot edu>
     Hank Leininger                <tcpdump-workers at progressive-comp dot com>
     Hannes Viertel                <hviertel at juniper dot net>
+    Hanno Böck                    <hanno at hboeck dot de>
     Harry Raaymakers              <harryr at connect dot com dot au>
     Heinz-Ado Arnolds             <Ado dot Arnolds at dhm-systems dot de>
     Hendrik Scholz                <hendrik at scholz dot net>
@@ -111,6 +114,7 @@
     Juliusz Chroboczek            <jch at pps dot jussieu dot fr>
     Kaarthik Sivakumar            <kaarthik at torrentnet dot com>
     Kaladhar Musunuru             <kaladharm at sourceforge dot net>
+    Kamil Frankowicz              <kontakt at frankowicz dot me>
     Karl Norby                    <karl-norby at sourceforge dot net>
     Kazushi Sugyo                 <sugyo at pb dot jp dot nec dot com>
     Kelly Carmichael              <kcarmich at ipapp dot com>
@@ -123,7 +127,6 @@
     Larry Lile                    <lile at stdio dot com>
     Lennert Buytenhek             <buytenh at gnu dot org>
     Loganaden Velvindron          <logan at elandsys dot com>
-    Daniel Lee                    <Longinus00 at gmail dot com>
     Loris Degioanni               <loris at netgroup-serv dot polito dot it>
     Love Hörnquist-Åstrand        <lha at stacken dot kth dot se>
     Lucas C. Villa Real           <lucasvr at us dot ibm dot com>
@@ -166,6 +169,7 @@
     Paolo Abeni                   <paolo dot abeni at email dot it>
     Pascal Hennequin              <pascal dot hennequin at int-evry dot fr>
     Pasvorn Boonmark              <boonmark at juniper dot net>
+    Patrik Lundquist              <patrik dot lundquist at gmail dot com>
     Paul Ferrell                  <pflarr at sourceforge dot net>
     Paul Mundt                    <lethal at linux-sh dot org>
     Paul S. Traina                <pst at freebsd dot org>
diff --git a/INSTALL.txt b/INSTALL.txt
index f91d004..57d4a45 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -37,6 +37,7 @@
 FILES
 -----
 CHANGES		- description of differences between releases
+CONTRIBUTING	- guidelines for contributing
 CREDITS		- people that have helped tcpdump along
 INSTALL.txt	- this file
 LICENSE		- the license under which tcpdump is distributed
diff --git a/PLATFORMS b/PLATFORMS
index ec85e59..4f11c51 100644
--- a/PLATFORMS
+++ b/PLATFORMS
@@ -1,9 +1,16 @@
-== Tested platforms ==
-NetBSD 		  5.1/i386	(mcr - 2012/4/1)
-Debian Linux (squeeze/i386)	(mcr - 2012/4/1)
+In many operating systems tcpdump is available as a native package or port,
+which simplifies installation of updates and long-term maintenance. However,
+the native packages are sometimes a few versions behind and to try a more
+recent snapshot it will take to compile tcpdump from the source code.
 
----
-RedHat Linux 	6.1/i386	(assar)
-FreeBSD		2.2.8/i386	(itojun)
+tcpdump compiles and works on at least the following platforms:
 
-
+* AIX
+* FreeBSD
+* HP-UX 11i
+* Linux (any) with glibc (usually just works)
+* Linux (any) with musl libc (sometimes fails to compile, please report any bugs)
+* Mac OS X / macOS
+* NetBSD
+* OpenWrt
+* Solaris
diff --git a/README.md b/README.md
index c83ffab..a1fba9b 100644
--- a/README.md
+++ b/README.md
@@ -3,25 +3,21 @@
 [![Build
 Status](https://travis-ci.org/the-tcpdump-group/tcpdump.png)](https://travis-ci.org/the-tcpdump-group/tcpdump)
 
-TCPDUMP 4.x.y  
-Now maintained by "The Tcpdump Group"  
-See 		www.tcpdump.org  
+To report a security issue please send an e-mail to security@tcpdump.org.
 
-Please send inquiries/comments/reports to:
+To report bugs and other problems, contribute patches, request a
+feature, provide generic feedback etc please see the file
+CONTRIBUTING in the tcpdump source tree root.
 
-* tcpdump-workers@lists.tcpdump.org
+TCPDUMP 4.x.y
+Now maintained by "The Tcpdump Group"
+See 		www.tcpdump.org
 
 Anonymous Git is available via:
 
 	git clone git://bpf.tcpdump.org/tcpdump
 
-Please submit patches by forking the branch on GitHub at:
-
-*	http://github.com/the-tcpdump-group/tcpdump/tree/master
-
-and issuing a pull request.
-
-formerly from 	Lawrence Berkeley National Laboratory  
+formerly from 	Lawrence Berkeley National Laboratory
 		Network Research Group <tcpdump@ee.lbl.gov>  
 		ftp://ftp.ee.lbl.gov/old/tcpdump.tar.Z (3.4)
 
@@ -71,20 +67,6 @@
 trace files. See the above distribution for further details and
 documentation.
 
-Problems, bugs, questions, desirable enhancements, etc. should be sent
-to the address "tcpdump-workers@lists.tcpdump.org".  Bugs, support
-requests, and feature requests may also be submitted on the GitHub issue
-tracker for tcpdump at:
-
-* https://github.com/the-tcpdump-group/tcpdump/issues
-
-Source code contributions, etc. should be sent to the email address
-above or submitted by forking the branch on GitHub at:
-
-* http://github.com/the-tcpdump-group/tcpdump/tree/master
-
-and issuing a pull request.
-
 Current versions can be found at www.tcpdump.org.
 
  - The TCPdump team
diff --git a/README.version b/README.version
index 1e3229b..3fd562e 100644
--- a/README.version
+++ b/README.version
@@ -1,3 +1,3 @@
-URL: http://www.tcpdump.org/release/tcpdump-4.9.0.tar.gz
-Version: 4.9.0
+URL: http://www.tcpdump.org/release/tcpdump-4.9.1.tar.gz
+Version: 4.9.1
 BugComponent: 119452
diff --git a/VERSION b/VERSION
index 6ed7776..5b341fd 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.9.0
+4.9.1
diff --git a/aclocal.m4 b/aclocal.m4
index ea0f624..637054f 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -655,7 +655,7 @@
     AC_CHECK_FUNC(pcap_loop,,
 	[
 	    AC_MSG_ERROR(
-[Report this to tcpdump-workers@lists.tcpdump.org, and include the
+[This is a bug, please follow the guidelines in CONTRIBUTING and include the
 config.log file in your report.  If you have downloaded libpcap from
 tcpdump.org, and built it yourself, please also include the config.log
 file from the libpcap source directory, the Makefile from the libpcap
diff --git a/configure b/configure
index 03c69c5..d2c3eeb 100755
--- a/configure
+++ b/configure
@@ -5801,7 +5801,7 @@
 
 else
 
-	    as_fn_error $? "Report this to tcpdump-workers@lists.tcpdump.org, and include the
+	    as_fn_error $? "This is a bug, please follow the guidelines in CONTRIBUTING and include the
 config.log file in your report.  If you have downloaded libpcap from
 tcpdump.org, and built it yourself, please also include the config.log
 file from the libpcap source directory, the Makefile from the libpcap
diff --git a/print-m3ua.c b/print-m3ua.c
index 1f974b2..71a585f 100644
--- a/print-m3ua.c
+++ b/print-m3ua.c
@@ -67,7 +67,7 @@
 	{ M3UA_MSGC_SSNM,     "SS7"                   },
 	{ M3UA_MSGC_ASPSM,    "ASP"                   },
 	{ M3UA_MSGC_ASPTM,    "ASP"                   },
-	{ M3UA_MSGC_RKM,      "Routing Key Managment" },
+	{ M3UA_MSGC_RKM,      "Routing Key Management"},
 	{ 0, NULL }
 };
 
diff --git a/print-ppp.c b/print-ppp.c
index ee8239c..b30f224 100644
--- a/print-ppp.c
+++ b/print-ppp.c
@@ -1264,7 +1264,7 @@
 		ND_TCHECK2(*(p + 2), 1);
 		ND_PRINT((ndo, ": Window: %uK, Method: %s (0x%x), MBZ: %u, CHK: %u",
 			(p[2] & 0xf0) >> 4,
-			((p[2] & 0x0f) == 8) ? "zlib" : "unkown",
+			((p[2] & 0x0f) == 8) ? "zlib" : "unknown",
 			p[2] & 0x0f, (p[3] & 0xfc) >> 2, p[3] & 0x03));
 		break;
 
diff --git a/print-stp.c b/print-stp.c
index 2f5c917..ee0627c 100644
--- a/print-stp.c
+++ b/print-stp.c
@@ -256,6 +256,7 @@
         return 1;
     }
 
+    ND_TCHECK(stp_bpdu->flags);
     ND_PRINT((ndo, "\n\tport-role %s, ",
            tok2str(rstp_obj_port_role_values, "Unknown",
                    RSTP_EXTRACT_PORT_ROLE(stp_bpdu->flags))));
@@ -475,6 +476,7 @@
             if (stp_bpdu->protocol_version == STP_PROTO_SPB)
             {
               /* Validate v4 length */
+              ND_TCHECK_16BITS(p + MST_BPDU_VER3_LEN_OFFSET + mstp_len);
               spb_len = EXTRACT_16BITS (p + MST_BPDU_VER3_LEN_OFFSET + mstp_len);
               spb_len += 2;
               if (length < (sizeof(struct stp_bpdu_) + mstp_len + spb_len) ||
diff --git a/tcpdump.1.in b/tcpdump.1.in
index f04a579..081e5d1 100644
--- a/tcpdump.1.in
+++ b/tcpdump.1.in
@@ -20,7 +20,7 @@
 .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
 .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 .\"
-.TH TCPDUMP 1  "17 September 2015"
+.TH TCPDUMP 1  "2 February 2017"
 .SH NAME
 tcpdump \- dump traffic on a network
 .SH SYNOPSIS
@@ -985,6 +985,27 @@
 .B
 ..
 .HD
+Timestamps
+.LP
+By default, all output lines are preceded by a timestamp.
+The timestamp
+is the current clock time in the form
+.RS
+.nf
+\fIhh:mm:ss.frac\fP
+.fi
+.RE
+and is as accurate as the kernel's clock.
+The timestamp reflects the time the kernel applied a time stamp to the packet.
+No attempt is made to account for the time lag between when the network
+interface finished receiving the packet from the network and when the
+kernel applied a time stamp to the packet; that time lag could include a
+delay between the time when the network interface finished receiving a
+packet from the network and the time when an interrupt was delivered to
+the kernel to get it to read the packet and a delay between the time
+when the kernel serviced the `new packet' interrupt and the time when it
+applied a time stamp to the packet.
+.HD
 Link Level Headers
 .LP
 If the '-e' option is given, the link level header is printed out.
@@ -1094,39 +1115,84 @@
 destination is the Ethernet broadcast address, the type field
 contained hex 0806 (type ETHER_ARP) and the total length was 64 bytes.
 .HD
+IPv4 Packets
+.LP
+If the link-layer header is not being printed, for IPv4 packets,
+\fBIP\fP is printed after the time stamp.
+.LP
+If the
+.B \-v
+flag is specified, information from the IPv4 header is shown in
+parentheses after the \fBIP\fP or the link-layer header.
+The general format of this information is:
+.RS
+.nf
+.sp .5
+tos \fItos\fP, ttl \fIttl\fP, id \fIid\fP, offset \fIoffset\fP, flags [\fIflags\fP], proto \fIproto\fP, length \fIlength\fP, options (\fIoptions\fP)
+.sp .5
+.fi
+.RE
+\fItos\fP is the type of service field; if the ECN bits are non-zero,
+those are reported as \fBECT(1)\fP, \fBECT(0)\fP, or \fBCE\fP.
+\fIttl\fP is the time-to-live; it is not reported if it is zero.
+\fIid\fP is the IP identification field.
+\fIoffset\fP is the fragment offset field; it is printed whether this is
+part of a fragmented datagram or not.
+\fIflags\fP are the MF and DF flags; \fB+\fP is reported if MF is set,
+and \fBDF\P is reported if F is set.  If neither are set, \fB.\fP is
+reported.
+\fIproto\fP is the protocol ID field.
+\fIlength\fP is the total length field.
+\fIoptions\fP are the IP options, if any.
+.LP
+Next, for TCP and UDP packets, the source and destination IP addresses
+and TCP or UDP ports, with a dot between each IP address and its
+corresponding port, will be printed, with a > separating the source and
+destination.  For other protocols, the addresses will be printed, with
+a > separating the source and destination.  Higher level protocol
+information, if any, will be printed after that.
+.LP
+For fragmented IP datagrams, the first fragment contains the higher
+level protocol header; fragments after the first contain no higher level
+protocol header.  Fragmentation information will be printed only with
+the
+.B \-v
+flag, in the IP header information, as described above.
+.HD
 TCP Packets
 .LP
 \fI(N.B.:The following description assumes familiarity with
 the TCP protocol described in RFC-793.
 If you are not familiar
-with the protocol, neither this description nor \fItcpdump\fP will
+with the protocol, this description will not
 be of much use to you.)\fP
 .LP
-The general format of a tcp protocol line is:
+The general format of a TCP protocol line is:
 .RS
 .nf
 .sp .5
-\fIsrc > dst: flags data-seqno ack window urgent options\fP
+\fIsrc\fP > \fIdst\fP: Flags [\fItcpflags\fP], seq \fIdata-seqno\fP, ack \fIackno\fP, win \fIwindow\fP, urg \fIurgent\fP, options [\fIopts\fP], length \fIlen\fP
 .sp .5
 .fi
 .RE
 \fISrc\fP and \fIdst\fP are the source and destination IP
 addresses and ports.
-\fIFlags\fP are some combination of S (SYN),
+\fITcpflags\fP are some combination of S (SYN),
 F (FIN), P (PUSH), R (RST), U (URG), W (ECN CWR), E (ECN-Echo) or
 `.' (ACK), or `none' if no flags are set.
 \fIData-seqno\fP describes the portion of sequence space covered
 by the data in this packet (see example below).
-\fIAck\fP is sequence number of the next data expected the other
+\fIAckno\fP is sequence number of the next data expected the other
 direction on this connection.
 \fIWindow\fP is the number of bytes of receive buffer space available
 the other direction on this connection.
 \fIUrg\fP indicates there is `urgent' data in the packet.
-\fIOptions\fP are tcp options enclosed in angle brackets (e.g., <mss 1024>).
+\fIOpts\fP are TCP options (e.g., mss 1024).
+\fILen\fP is the length of payload data.
 .LP
-\fISrc, dst\fP and \fIflags\fP are always present.
+\fIIptype\fR, \fISrc\fP, \fIdst\fP, and \fIflags\fP are always present.
 The other fields
-depend on the contents of the packet's tcp protocol header and
+depend on the contents of the packet's TCP protocol header and
 are output only if appropriate.
 .LP
 Here is the opening portion of an rlogin from host \fIrtsg\fP to
@@ -1134,26 +1200,26 @@
 .RS
 .nf
 .sp .5
-\s-2\f(CWrtsg.1023 > csam.login: S 768512:768512(0) win 4096 <mss 1024>
-csam.login > rtsg.1023: S 947648:947648(0) ack 768513 win 4096 <mss 1024>
-rtsg.1023 > csam.login: . ack 1 win 4096
-rtsg.1023 > csam.login: P 1:2(1) ack 1 win 4096
-csam.login > rtsg.1023: . ack 2 win 4096
-rtsg.1023 > csam.login: P 2:21(19) ack 1 win 4096
-csam.login > rtsg.1023: P 1:2(1) ack 21 win 4077
-csam.login > rtsg.1023: P 2:3(1) ack 21 win 4077 urg 1
-csam.login > rtsg.1023: P 3:4(1) ack 21 win 4077 urg 1\fR\s+2
+\s-2\f(CWIP rtsg.1023 > csam.login: Flags [S], seq 768512:768512, win 4096, opts [mss 1024]
+IP csam.login > rtsg.1023: Flags [S.], seq, 947648:947648, ack 768513, win 4096, opts [mss 1024]
+IP rtsg.1023 > csam.login: Flags [.], ack 1, win 4096
+IP rtsg.1023 > csam.login: Flags [P.], seq 1:2, ack 1, win 4096, length 1
+IP csam.login > rtsg.1023: Flags [.], ack 2, win 4096
+IP rtsg.1023 > csam.login: Flags [P.], seq 2:21, ack 1, win 4096, length 19
+IP csam.login > rtsg.1023: Flags [P.], seq 1:2, ack 21, win 4077, length 1
+IP csam.login > rtsg.1023: Flags [P.], seq 2:3, ack 21, win 4077, urg 1, length 1
+IP csam.login > rtsg.1023: Flags [P.], seq 3:4, ack 21, win 4077, urg 1, length 1\fR\s+2
 .sp .5
 .fi
 .RE
-The first line says that tcp port 1023 on rtsg sent a packet
+The first line says that TCP port 1023 on rtsg sent a packet
 to port \fIlogin\fP
 on csam.
 The \fBS\fP indicates that the \fISYN\fP flag was set.
 The packet sequence number was 768512 and it contained no data.
-(The notation is `first:last(nbytes)' which means `sequence
+(The notation is `first:last' which means `sequence
 numbers \fIfirst\fP
-up to but not including \fIlast\fP which is \fInbytes\fP bytes of user data'.)
+up to but not including \fIlast\fP.)
 There was no piggy-backed ack, the available receive window was 4096
 bytes and there was a max-segment-size option requesting an mss of
 1024 bytes.
@@ -1162,11 +1228,11 @@
 ack for rtsg's SYN.
 Rtsg then acks csam's SYN.
 The `.' means the ACK flag was set.
-The packet contained no data so there is no data sequence number.
+The packet contained no data so there is no data sequence number or length.
 Note that the ack sequence
 number is a small integer (1).
 The first time \fItcpdump\fP sees a
-tcp `conversation', it prints the sequence number from the packet.
+TCP `conversation', it prints the sequence number from the packet.
 On subsequent packets of the conversation, the difference between
 the current packet's sequence number and this initial sequence number
 is printed.
@@ -1811,81 +1877,6 @@
 The `*' on the request
 indicates that XO (`exactly once') was \fInot\fP set.
 
-.HD
-IP Fragmentation
-.LP
-Fragmented Internet datagrams are printed as
-.RS
-.nf
-.sp .5
-\fB(frag \fIid\fB:\fIsize\fB@\fIoffset\fB+)\fR
-\fB(frag \fIid\fB:\fIsize\fB@\fIoffset\fB)\fR
-.sp .5
-.fi
-.RE
-(The first form indicates there are more fragments.
-The second
-indicates this is the last fragment.)
-.LP
-\fIId\fP is the fragment id.
-\fISize\fP is the fragment
-size (in bytes) excluding the IP header.
-\fIOffset\fP is this
-fragment's offset (in bytes) in the original datagram.
-.LP
-The fragment information is output for each fragment.
-The first
-fragment contains the higher level protocol header and the frag
-info is printed after the protocol info.
-Fragments
-after the first contain no higher level protocol header and the
-frag info is printed after the source and destination addresses.
-For example, here is part of an ftp from arizona.edu to lbl-rtsg.arpa
-over a CSNET connection that doesn't appear to handle 576 byte datagrams:
-.RS
-.nf
-.sp .5
-\s-2\f(CWarizona.ftp-data > rtsg.1170: . 1024:1332(308) ack 1 win 4096 (frag 595a:328@0+)
-arizona > rtsg: (frag 595a:204@328)
-rtsg.1170 > arizona.ftp-data: . ack 1536 win 2560\fP\s+2
-.sp .5
-.fi
-.RE
-There are a couple of things to note here:  First, addresses in the
-2nd line don't include port numbers.
-This is because the TCP
-protocol information is all in the first fragment and we have no idea
-what the port or sequence numbers are when we print the later fragments.
-Second, the tcp sequence information in the first line is printed as if there
-were 308 bytes of user data when, in fact, there are 512 bytes (308 in
-the first frag and 204 in the second).
-If you are looking for holes
-in the sequence space or trying to match up acks
-with packets, this can fool you.
-.LP
-A packet with the IP \fIdon't fragment\fP flag is marked with a
-trailing \fB(DF)\fP.
-.HD
-Timestamps
-.LP
-By default, all output lines are preceded by a timestamp.
-The timestamp
-is the current clock time in the form
-.RS
-.nf
-\fIhh:mm:ss.frac\fP
-.fi
-.RE
-and is as accurate as the kernel's clock.
-The timestamp reflects the time the kernel applied a time stamp to the packet.
-No attempt is made to account for the time lag between when the network
-interface finished receiving the packet from the network and when the
-kernel applied a time stamp to the packet; that time lag could include a
-delay between the time when the network interface finished receiving a
-packet from the network and the time when an interrupt was delivered to
-the kernel to get it to read the packet and a delay between the time
-when the kernel serviced the `new packet' interrupt and the time when it
-applied a time stamp to the packet.
 .SH "SEE ALSO"
 stty(1), pcap(3PCAP), bpf(4), nit(4P), pcap-savefile(@MAN_FILE_FORMATS@),
 pcap-filter(@MAN_MISC_INFO@), pcap-tstamp(@MAN_MISC_INFO@)
@@ -1919,12 +1910,12 @@
 IPv6/IPsec support is added by WIDE/KAME project.
 This program uses Eric Young's SSLeay library, under specific configurations.
 .SH BUGS
-Please send problems, bugs, questions, desirable enhancements, patches
-etc. to:
+To report a security issue please send an e-mail to \%security@tcpdump.org.
 .LP
-.RS
-tcpdump-workers@lists.tcpdump.org
-.RE
+To report bugs and other problems, contribute patches, request a
+feature, provide generic feedback etc please see the file
+.I CONTRIBUTING
+in the tcpdump source tree root.
 .LP
 NIT doesn't let you watch your own outbound traffic, BPF will.
 We recommend that you use the latter.
diff --git a/tcpdump.c b/tcpdump.c
index 73bf138..80aa282 100644
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -130,7 +130,7 @@
 #endif
 
 static int Bflag;			/* buffer size */
-static int Cflag;			/* rotate dump files after this many bytes */
+static long Cflag;			/* rotate dump files after this many bytes */
 static int Cflag_count;			/* Keep track of which file number we're writing */
 static int Dflag;			/* list available devices and exit */
 /*
@@ -1046,9 +1046,9 @@
 			/*
 			 * Return an error for our caller to handle.
 			 */
-			pcap_close(pc);
 			snprintf(ebuf, PCAP_ERRBUF_SIZE, "%s: %s\n(%s)",
 			    device, pcap_statustostr(status), cp);
+			pcap_close(pc);
 			return (NULL);
 		} else if (status == PCAP_ERROR_PERM_DENIED && *cp != '\0')
 			error("%s: %s\n(%s)", device,
@@ -1855,7 +1855,12 @@
 	if (RFileName == NULL && VFileName == NULL) {
 		static const unsigned long cmds[] = { BIOCGSTATS, BIOCROTZBUF };
 
-		cap_rights_init(&rights, CAP_IOCTL, CAP_READ);
+		/*
+		 * The various libpcap devices use a combination of
+		 * read (bpf), ioctl (bpf, netmap), poll (netmap)
+		 * so we add the relevant access rights.
+		 */
+		cap_rights_init(&rights, CAP_IOCTL, CAP_READ, CAP_EVENT);
 		if (cap_rights_limit(pcap_fileno(pd), &rights) < 0 &&
 		    errno != ENOSYS) {
 			error("unable to limit pcap descriptor");
@@ -2599,6 +2604,14 @@
 	smi_version_string = nd_smi_version_string();
 	if (smi_version_string != NULL)
 		(void)fprintf (stderr, "SMI-library: %s\n", smi_version_string);
+
+#if defined(__SANITIZE_ADDRESS__)
+	(void)fprintf (stderr, "Compiled with AddressSanitizer/GCC.\n");
+#elif defined(__has_feature)
+#  if __has_feature(address_sanitizer)
+	(void)fprintf (stderr, "Compiled with AddressSanitizer/CLang.\n");
+#  endif
+#endif /* __SANITIZE_ADDRESS__ or __has_feature */
 }
 USES_APPLE_RST
 
diff --git a/tests/TESTLIST b/tests/TESTLIST
index ba29da4..dd40ebf 100644
--- a/tests/TESTLIST
+++ b/tests/TESTLIST
@@ -1,4 +1,5 @@
-# The Option -n is useless in TESTLIST. It is already set in TESTonce.
+# The options -n and -t are useless in TESTLIST. They are already set
+# in TESTonce.
 
 # Various flags applied to a TCP session.
 #
@@ -11,435 +12,436 @@
 # Therefore, for "X" and "XX", we have "print-capX.out"
 # and "print-capXX.out".
 #
-print-x		print-flags.pcap	print-x.out	-t -x
-print-xx	print-flags.pcap	print-xx.out	-t -xx
-print-X		print-flags.pcap	print-capX.out	-t -X
-print-XX	print-flags.pcap	print-capXX.out	-t -XX
-print-A		print-flags.pcap	print-A.out	-t -A
-print-AA	print-flags.pcap	print-AA.out	-t -AA
+print-x		print-flags.pcap	print-x.out	-x
+print-xx	print-flags.pcap	print-xx.out	-xx
+print-X		print-flags.pcap	print-capX.out	-X
+print-XX	print-flags.pcap	print-capXX.out	-XX
+print-A		print-flags.pcap	print-A.out	-A
+print-AA	print-flags.pcap	print-AA.out	-AA
 
 # BGP tests
-bgp_vpn_attrset bgp_vpn_attrset.pcap bgp_vpn_attrset.out -t -v
-mpbgp-linklocal-nexthop mpbgp-linklocal-nexthop.pcap mpbgp-linklocal-nexthop.out -t -v
-bgp_infloop-v		bgp-infinite-loop.pcap		bgp_infloop-v.out	-t -v
-bgp-aigp	bgp-aigp.pcap	bgp-aigp.out	-t -v
-bgp-large-community bgp-large-community.pcap bgp-large-community.out -t -v
+bgp_vpn_attrset bgp_vpn_attrset.pcap bgp_vpn_attrset.out -v
+mpbgp-linklocal-nexthop mpbgp-linklocal-nexthop.pcap mpbgp-linklocal-nexthop.out -v
+bgp_infloop-v		bgp-infinite-loop.pcap		bgp_infloop-v.out	-v
+bgp-aigp	bgp-aigp.pcap	bgp-aigp.out	-v
+bgp-large-community bgp-large-community.pcap bgp-large-community.out -v
 
 # EAP tests
-eapon1 eapon1.pcap eapon1.out -t
+eapon1		eapon1.pcap		eapon1.out
 
 # ESP tests
-esp0 02-sunrise-sunset-esp.pcap esp0.out -t
+esp0		02-sunrise-sunset-esp.pcap	esp0.out
 # more ESP tests in crypto.sh
 
 # ISAKMP tests
-isakmp1 isakmp-delete-segfault.pcap isakmp1.out -t
-isakmp2 isakmp-pointer-loop.pcap    isakmp2.out -t
-isakmp3 isakmp-identification-segfault.pcap isakmp3.out -t -v
+isakmp1 isakmp-delete-segfault.pcap isakmp1.out
+isakmp2 isakmp-pointer-loop.pcap    isakmp2.out
+isakmp3 isakmp-identification-segfault.pcap isakmp3.out -v
 # isakmp4 is in crypto.sh
-isakmp5-v	ISAKMP_sa_setup.pcap		isakmp5-v.out	-t -v
+isakmp5-v	ISAKMP_sa_setup.pcap		isakmp5-v.out	-v
 
 # Link Management Protocol tests
-lmp		lmp.pcap		lmp.out -t -T lmp
+lmp		lmp.pcap		lmp.out -T lmp
 # lmp-v is now conditionally handled by lmp-v.sh
 
 # MPLS tests
-mpls-ldp-hello	mpls-ldp-hello.pcap	mpls-ldp-hello.out -t -v
-ldp_infloop	ldp-infinite-loop.pcap	ldp_infloop.out -t
-lspping-fec-ldp    lspping-fec-ldp.pcap lspping-fec-ldp.out -t
-lspping-fec-ldp-v  lspping-fec-ldp.pcap lspping-fec-ldp-v.out -t -v
-lspping-fec-ldp-vv lspping-fec-ldp.pcap lspping-fec-ldp-vv.out -t -vv
-lspping-fec-rsvp    lspping-fec-rsvp.pcap lspping-fec-rsvp.out -t
-lspping-fec-rsvp-v  lspping-fec-rsvp.pcap lspping-fec-rsvp-v.out -t -v
-lspping-fec-rsvp-vv lspping-fec-rsvp.pcap lspping-fec-rsvp-vv.out -t -vv
-mpls-traceroute   mpls-traceroute.pcap mpls-traceroute.out -t
-mpls-traceroute-v mpls-traceroute.pcap mpls-traceroute-v.out -t -v
+mpls-ldp-hello	mpls-ldp-hello.pcap	mpls-ldp-hello.out -v
+ldp_infloop	ldp-infinite-loop.pcap	ldp_infloop.out
+lspping-fec-ldp    lspping-fec-ldp.pcap lspping-fec-ldp.out
+lspping-fec-ldp-v  lspping-fec-ldp.pcap lspping-fec-ldp-v.out -v
+lspping-fec-ldp-vv lspping-fec-ldp.pcap lspping-fec-ldp-vv.out -vv
+lspping-fec-rsvp    lspping-fec-rsvp.pcap lspping-fec-rsvp.out
+lspping-fec-rsvp-v  lspping-fec-rsvp.pcap lspping-fec-rsvp-v.out -v
+lspping-fec-rsvp-vv lspping-fec-rsvp.pcap lspping-fec-rsvp-vv.out -vv
+mpls-traceroute   mpls-traceroute.pcap mpls-traceroute.out
+mpls-traceroute-v mpls-traceroute.pcap mpls-traceroute-v.out -v
 
 # OSPF tests
-ospf-gmpls	ospf-gmpls.pcap				ospf-gmpls.out		-t -v
-ospf3_ah-vv	OSPFv3_with_AH.pcap			ospf3_ah-vv.out		-t -v -v
-ospf3_auth-vv	ospf3_auth.pcap				ospf3_auth-vv.out 	-t -v -v
-ospf3_bc-vv	OSPFv3_broadcast_adjacency.pcap		ospf3_bc-vv.out		-t -v -v
-ospf3_mp-vv	OSPFv3_multipoint_adjacencies.pcap	ospf3_mp-vv.out		-t -v -v
-ospf3_nbma-vv	OSPFv3_NBMA_adjacencies.pcap		ospf3_nbma-vv.out	-t -v -v
+ospf-gmpls	ospf-gmpls.pcap				ospf-gmpls.out		-v
+ospf3_ah-vv	OSPFv3_with_AH.pcap			ospf3_ah-vv.out		-v -v
+ospf3_auth-vv	ospf3_auth.pcap				ospf3_auth-vv.out 	-v -v
+ospf3_bc-vv	OSPFv3_broadcast_adjacency.pcap		ospf3_bc-vv.out		-v -v
+ospf3_mp-vv	OSPFv3_multipoint_adjacencies.pcap	ospf3_mp-vv.out		-v -v
+ospf3_nbma-vv	OSPFv3_NBMA_adjacencies.pcap		ospf3_nbma-vv.out	-v -v
 # fuzzed pcap
-ospf2-seg-fault-1-v  ospf2-seg-fault-1.pcap  ospf2-seg-fault-1-v.out  -t -v
+ospf2-seg-fault-1-v  ospf2-seg-fault-1.pcap  ospf2-seg-fault-1-v.out  -v
 
 # IKEv2 tests
-ikev2four	ikev2four.pcap		ikev2four.out	-t -v
-ikev2fourv	ikev2four.pcap		ikev2fourv.out	-t -v -v -v
-ikev2fourv4	ikev2four.pcap		ikev2fourv4.out	-t -v -v -v -v
+ikev2four	ikev2four.pcap		ikev2four.out	-v
+ikev2fourv	ikev2four.pcap		ikev2fourv.out	-v -v -v
+ikev2fourv4	ikev2four.pcap		ikev2fourv4.out	-v -v -v -v
 # ikev2pI2 test in crypto.sh
-ikev2pI2-segfault	ikev2pI2-segfault.pcap	ikev2pI2-segfault.out	-t
-ikev2pI2-segfault-v	ikev2pI2-segfault.pcap	ikev2pI2-segfault-v.out	-t -v
+ikev2pI2-segfault	ikev2pI2-segfault.pcap	ikev2pI2-segfault.out
+ikev2pI2-segfault-v	ikev2pI2-segfault.pcap	ikev2pI2-segfault-v.out	-v
 
 # IETF ROLL RPL packets
-dio02           rpl-19-pickdag.pcap         rpl-19-pickdag.out  -t -v -v
-dio03           rpl-19-pickdag.pcap         rpl-19-pickdagvvv.out  -t -v -v -v
-dao01           rpl-14-dao.pcap             rpl-14-daovvv.out    -t -v -v -v
-daoack01        rpl-26-senddaoack.pcap      rpl-26-senddaovv.out -t -v -v -v
+dio02           rpl-19-pickdag.pcap         rpl-19-pickdag.out  -v -v
+dio03           rpl-19-pickdag.pcap         rpl-19-pickdagvvv.out  -v -v -v
+dao01           rpl-14-dao.pcap             rpl-14-daovvv.out    -v -v -v
+daoack01        rpl-26-senddaoack.pcap      rpl-26-senddaovv.out -v -v -v
 
 # IPNET encapsulated site
-e1000g		e1000g.pcap		e1000g.out	-t
+e1000g		e1000g.pcap		e1000g.out
 
 # IETF FORCES WG packets and printer
-forces01        forces1.pcap            forces1.out     -t
-forces01vvv     forces1.pcap            forces1vvv.out  -t -v -v -v
-forces01vvvv    forces1.pcap            forces1vvvv.out -t -v -v -v -v
+forces01        forces1.pcap            forces1.out
+forces01vvv     forces1.pcap            forces1vvv.out  -v -v -v
+forces01vvvv    forces1.pcap            forces1vvvv.out -v -v -v -v
 # need new pcap file, not sure what the differences were?
-#forces02        forces2.pcap            forces2.out     -t
-#forces02v       forces2.pcap            forces2v.out    -t -v
-#forces02vv      forces2.pcap            forces2vv.out   -t -v -v
+#forces02        forces2.pcap            forces2.out
+#forces02v       forces2.pcap            forces2v.out    -v
+#forces02vv      forces2.pcap            forces2vv.out   -v -v
 
 # 802.1ad, QinQ tests
-qinq            QinQpacket.pcap         QinQpacket.out  -t -e
-qinqv           QinQpacket.pcap         QinQpacketv.out  -t -e -v
+qinq            QinQpacket.pcap         QinQpacket.out  -e
+qinqv           QinQpacket.pcap         QinQpacketv.out  -e -v
 
 # now SFLOW tests
-sflow1          sflow_multiple_counter_30_pdus.pcap     sflow_multiple_counter_30_pdus.out      -t -v
-sflow2          sflow_multiple_counter_30_pdus.pcap     sflow_multiple_counter_30_pdus-nv.out      -t
+sflow1          sflow_multiple_counter_30_pdus.pcap     sflow_multiple_counter_30_pdus.out      -v
+sflow2          sflow_multiple_counter_30_pdus.pcap     sflow_multiple_counter_30_pdus-nv.out
 
 # AHCP and Babel tests
-ahcp-vv         ahcp.pcap              ahcp-vv.out     -t -vv
-babel1          babel.pcap             babel1.out      -t
-babel1v         babel.pcap             babel1v.out     -t -v
-babel_auth      babel_auth.pcap        babel_auth.out  -t -v
-babel_pad1      babel_pad1.pcap        babel_pad1.out  -t
-babel_rtt       babel_rtt.pcap         babel_rtt.out   -t -v
+ahcp-vv         ahcp.pcap              ahcp-vv.out     -vv
+babel1          babel.pcap             babel1.out
+babel1v         babel.pcap             babel1v.out     -v
+babel_auth      babel_auth.pcap        babel_auth.out  -v
+babel_pad1      babel_pad1.pcap        babel_pad1.out
+babel_rtt       babel_rtt.pcap         babel_rtt.out   -v
 
 # PPPoE tests
-pppoe           pppoe.pcap             pppoe.out       -t
-pppoes          pppoes.pcap            pppoes.out      -t
-pppoes_id       pppoes.pcap            pppoes_id.out   -t pppoes 0x3b
+pppoe           pppoe.pcap             pppoe.out
+pppoes          pppoes.pcap            pppoes.out
+pppoes_id       pppoes.pcap            pppoes_id.out   pppoes 0x3b
 
 # PPP tests
-truncated_aack  truncated-aack.pcap    trunc_aack.out  -t
+truncated_aack  truncated-aack.pcap    trunc_aack.out
 
 # IGMP tests
-igmpv1		IGMP_V1.pcap		igmpv1.out		-t
-igmpv2		IGMP_V2.pcap		igmpv2.out		-t
-igmpv3-queries  igmpv3-queries.pcap     igmpv3-queries.out      -t
-mtrace		mtrace.pcap		mtrace.out		-t
-dvmrp		mrinfo_query.pcap	dvmrp.out		-t
+igmpv1		IGMP_V1.pcap		igmpv1.out
+igmpv2		IGMP_V2.pcap		igmpv2.out
+igmpv3-queries  igmpv3-queries.pcap     igmpv3-queries.out
+mtrace		mtrace.pcap		mtrace.out
+dvmrp		mrinfo_query.pcap	dvmrp.out
 
 # ICMPv6
-icmpv6          icmpv6.pcap             icmpv6.out      -t -vv
-icmpv6_opt24-v	icmpv6_opt24.pcap	icmpv6_opt24-v.out	-t -v
+icmpv6          icmpv6.pcap             icmpv6.out      -vv
+icmpv6_opt24-v	icmpv6_opt24.pcap	icmpv6_opt24-v.out	-v
 
 # SPB tests
-spb	            spb.pcap	            spb.out -t
+spb	            spb.pcap	            spb.out
 
 # SPB BPDUv4 tests
-spb_bpduv4      spb_bpduv4.pcap       spb_bpduv4.out -t
-spb_bpduv4-v	spb_bpduv4.pcap       spb_bpduv4-v.out -t -v
+spb_bpduv4      spb_bpduv4.pcap       spb_bpduv4.out
+spb_bpduv4-v	spb_bpduv4.pcap       spb_bpduv4-v.out -v
 
 # DCB Tests
-dcb_ets         dcb_ets.pcap          dcb_ets.out   -t -vv
-dcb_pfc         dcb_pfc.pcap          dcb_pfc.out   -t -vv
-dcb_qcn         dcb_qcn.pcap          dcb_qcn.out   -t -vv
+dcb_ets         dcb_ets.pcap          dcb_ets.out   -vv
+dcb_pfc         dcb_pfc.pcap          dcb_pfc.out   -vv
+dcb_qcn         dcb_qcn.pcap          dcb_qcn.out   -vv
 
 # EVB tests
-evb             evb.pcap              evb.out       -t -vv
+evb             evb.pcap              evb.out       -vv
 
 # STP tests
-mstp-v		MSTP_Intra-Region_BPDUs.pcap	mstp-v.out	-t -v
-stp-v		802.1D_spanning_tree.pcap	stp-v.out	-t -v
-rstp-v		802.1w_rapid_STP.pcap		rstp-v.out	-t -v
-rpvst-v		rpvstp-trunk-native-vid5.pcap	rpvst-v.out	-t -v
+mstp-v		MSTP_Intra-Region_BPDUs.pcap	mstp-v.out	-v
+stp-v		802.1D_spanning_tree.pcap	stp-v.out	-v
+rstp-v		802.1w_rapid_STP.pcap		rstp-v.out	-v
+rpvst-v		rpvstp-trunk-native-vid5.pcap	rpvst-v.out	-v
 
 # RIP tests
-ripv1v2         ripv1v2.pcap            ripv1v2.out     -t -v
-ripv2_auth      ripv2_auth.pcap         ripv2_auth.out  -t -v
+ripv1v2         ripv1v2.pcap            ripv1v2.out     -v
+ripv2_auth      ripv2_auth.pcap         ripv2_auth.out  -v
 
 # DHCPv6 tests
-dhcpv6-aftr-name	dhcpv6-AFTR-Name-RFC6334.pcap	dhcpv6-AFTR-Name-RFC6334.out	-t -v
-dhcpv6-ia-na	dhcpv6-ia-na.pcap	dhcpv6-ia-na.out	-t -v
-dhcpv6-ia-pd	dhcpv6-ia-pd.pcap	dhcpv6-ia-pd.out	-t -v
-dhcpv6-ia-ta	dhcpv6-ia-ta.pcap	dhcpv6-ia-ta.out	-t -v
-dhcpv6-ntp-server	dhcpv6-ntp-server.pcap	dhcpv6-ntp-server.out	-t -v
-dhcpv6-sip-server-d	dhcpv6-sip-server-d.pcap	dhcpv6-sip-server-d.out -t -v
-dhcpv6-domain-list	dhcpv6-domain-list.pcap	dhcpv6-domain-list.out	-t -v
-dhcpv6-mud	dhcpv6-mud.pcap		dhcpv6-mud.out -t -vv
+dhcpv6-aftr-name	dhcpv6-AFTR-Name-RFC6334.pcap	dhcpv6-AFTR-Name-RFC6334.out	-v
+dhcpv6-ia-na	dhcpv6-ia-na.pcap	dhcpv6-ia-na.out	-v
+dhcpv6-ia-pd	dhcpv6-ia-pd.pcap	dhcpv6-ia-pd.out	-v
+dhcpv6-ia-ta	dhcpv6-ia-ta.pcap	dhcpv6-ia-ta.out	-v
+dhcpv6-ntp-server	dhcpv6-ntp-server.pcap	dhcpv6-ntp-server.out	-v
+dhcpv6-sip-server-d	dhcpv6-sip-server-d.pcap	dhcpv6-sip-server-d.out -v
+dhcpv6-domain-list	dhcpv6-domain-list.pcap	dhcpv6-domain-list.out	-v
+dhcpv6-mud	dhcpv6-mud.pcap		dhcpv6-mud.out -vv
 
 # ZeroMQ/PGM tests
 # ZMTP/1.0 over TCP
-zmtp1v		zmtp1.pcap		zmtp1.out	-t -v -T zmtp1
+zmtp1v		zmtp1.pcap		zmtp1.out	-v -T zmtp1
 # native PGM
-pgmv		pgm_zmtp1.pcap		pgmv.out	-t -v
+pgmv		pgm_zmtp1.pcap		pgmv.out	-v
 # UDP-encapsulated PGM
-epgmv		epgm_zmtp1.pcap		epgmv.out	-t -v -T pgm
+epgmv		epgm_zmtp1.pcap		epgmv.out	-v -T pgm
 # ZMTP/1.0 inside native PGM
-pgm_zmtp1v	pgm_zmtp1.pcap		pgm_zmtp1v.out	-t -v -T pgm_zmtp1
+pgm_zmtp1v	pgm_zmtp1.pcap		pgm_zmtp1v.out	-v -T pgm_zmtp1
 # ZMTP/1.0 inside UDP-encapsulated PGM
-epgm_zmtp1v	epgm_zmtp1.pcap		epgm_zmtp1v.out	-t -v -T pgm_zmtp1
+epgm_zmtp1v	epgm_zmtp1.pcap		epgm_zmtp1v.out	-v -T pgm_zmtp1
 # fuzzed pcap
-zmtp1-inf-loop-1 zmtp1-inf-loop-1.pcap zmtp1-inf-loop-1.out -t -T zmtp1
+zmtp1-inf-loop-1 zmtp1-inf-loop-1.pcap zmtp1-inf-loop-1.out -T zmtp1
 
 # MS NLB tests
-msnlb		msnlb.pcap		msnlb.out	-t
-msnlb2		msnlb2.pcap		msnlb2.out	-t
+msnlb		msnlb.pcap		msnlb.out
+msnlb2		msnlb2.pcap		msnlb2.out
 
 # MPTCP tests
-mptcp		mptcp.pcap		mptcp.out		-t
-mptcp-fclose	mptcp-fclose.pcap	mptcp-fclose.out	-t
+mptcp		mptcp.pcap		mptcp.out
+mptcp-fclose	mptcp-fclose.pcap	mptcp-fclose.out
 # TFO tests
-tfo		tfo-5c1fa7f9ae91.pcap	tfo.out		-t
+tfo		tfo-5c1fa7f9ae91.pcap	tfo.out
 # SCPS
-scps_invalid	scps_invalid.pcap	scps_invalid.out	-t
+scps_invalid	scps_invalid.pcap	scps_invalid.out
 
 # IEEE 802.11 tests
-802.11_exthdr	ieee802.11_exthdr.pcap	ieee802.11_exthdr.out	-t -v
-802.11_rx-stbc	ieee802.11_rx-stbc.pcap	ieee802.11_rx-stbc.out	-t
+802.11_exthdr	ieee802.11_exthdr.pcap	ieee802.11_exthdr.out	-v
+802.11_rx-stbc	ieee802.11_rx-stbc.pcap	ieee802.11_rx-stbc.out
 
 # OpenFlow tests
-of10_p3295-vv	of10_p3295.pcap		of10_p3295-vv.out	-t -vv
-of10_s4810-vvvv	of10_s4810.pcap		of10_s4810-vvvv.out	-t -vvvv
-of10_pf5240-vv	of10_pf5240.pcap	of10_pf5240-vv.out	-t -vv
-of10_7050q-v	of10_7050q.pcap		of10_7050q-v.out	-t -v
-of10_7050sx_bsn-vv	of10_7050sx_bsn.pcap		of10_7050sx_bsn-vv.out	-t -vv
+of10_p3295-vv	of10_p3295.pcap		of10_p3295-vv.out	-vv
+of10_s4810-vvvv	of10_s4810.pcap		of10_s4810-vvvv.out	-vvvv
+of10_pf5240-vv	of10_pf5240.pcap	of10_pf5240-vv.out	-vv
+of10_7050q-v	of10_7050q.pcap		of10_7050q-v.out	-v
+of10_7050sx_bsn-vv	of10_7050sx_bsn.pcap		of10_7050sx_bsn-vv.out	-vv
 
 # GeoNetworking and CALM FAST tests
-geonet-calm-fast	geonet_and_calm_fast.pcap	geonet_and_calm_fast.out	-t -vv
+geonet-calm-fast	geonet_and_calm_fast.pcap	geonet_and_calm_fast.out	-vv
 
 # M3UA tests
-m3ua isup.pcap isup.out -t
-m3ua-vv isup.pcap isupvv.out -t -vv
+m3ua isup.pcap isup.out
+m3ua-vv isup.pcap isupvv.out -vv
 
 # NFLOG test case moved to nflog-e.sh
 
 # syslog test case
-syslog-v	syslog_udp.pcap		syslog-v.out		-t -v
+syslog-v	syslog_udp.pcap		syslog-v.out		-v
 
 # DNSSEC from https://bugzilla.redhat.com/show_bug.cgi?id=205842, -vv exposes EDNS DO
-dnssec-vv	dnssec.pcap		dnssec-vv.out		-t -vv
+dnssec-vv	dnssec.pcap		dnssec-vv.out		-vv
 
 #IPv6 tests
-ipv6-bad-version	ipv6-bad-version.pcap 	ipv6-bad-version.out	-t
-ipv6-routing-header	ipv6-routing-header.pcap	ipv6-routing-header.out -t -v
+ipv6-bad-version	ipv6-bad-version.pcap 	ipv6-bad-version.out
+ipv6-routing-header	ipv6-routing-header.pcap	ipv6-routing-header.out -v
 
 # Loopback/CTP test case
-loopback	loopback.pcap		loopback.out		-t
+loopback	loopback.pcap		loopback.out
 
 # DCCP partial checksums tests
-dccp_partial_csum_v4_simple	dccp_partial_csum_v4_simple.pcap	dccp_partial_csum_v4_simple.out -t -vv
-dccp_partial_csum_v4_longer	dccp_partial_csum_v4_longer.pcap	dccp_partial_csum_v4_longer.out -t -vv
-dccp_partial_csum_v6_simple	dccp_partial_csum_v6_simple.pcap	dccp_partial_csum_v6_simple.out -t -vv
-dccp_partial_csum_v6_longer	dccp_partial_csum_v6_longer.pcap	dccp_partial_csum_v6_longer.out -t -vv
+dccp_partial_csum_v4_simple	dccp_partial_csum_v4_simple.pcap	dccp_partial_csum_v4_simple.out -vv
+dccp_partial_csum_v4_longer	dccp_partial_csum_v4_longer.pcap	dccp_partial_csum_v4_longer.out -vv
+dccp_partial_csum_v6_simple	dccp_partial_csum_v6_simple.pcap	dccp_partial_csum_v6_simple.out -vv
+dccp_partial_csum_v6_longer	dccp_partial_csum_v6_longer.pcap	dccp_partial_csum_v6_longer.out -vv
 
 # VRRP tests
-vrrp		vrrp.pcap		vrrp.out		-t
-vrrp-v		vrrp.pcap		vrrp-v.out		-t -v
+vrrp		vrrp.pcap		vrrp.out
+vrrp-v		vrrp.pcap		vrrp-v.out		-v
 
 # HSRP tests
-hsrp_1		HSRP_coup.pcap		hsrp_1.out	-t
-hsrp_1-v	HSRP_coup.pcap		hsrp_1-v.out	-t -v
-hsrp_2-v	HSRP_election.pcap	hsrp_2-v.out	-t -v
-hsrp_3-v	HSRP_failover.pcap	hsrp_3-v.out	-t -v
+hsrp_1		HSRP_coup.pcap		hsrp_1.out
+hsrp_1-v	HSRP_coup.pcap		hsrp_1-v.out	-v
+hsrp_2-v	HSRP_election.pcap	hsrp_2-v.out	-v
+hsrp_3-v	HSRP_failover.pcap	hsrp_3-v.out	-v
 
 # PIMv2 tests
-pimv2_dm-v		PIM-DM_pruning.pcap		pimv2_dm-v.out		-t -v
-pimv2_register-v	PIM_register_register-stop.pcap	pimv2_register-v.out	-t -v
-pimv2_sm-v		PIM-SM_join_prune.pcap		pimv2_sm-v.out		-t -v
-pimv2_bootstrap-v	PIMv2_bootstrap.pcap		pimv2_bootstrap-v.out	-t -v
-pimv2_hellos-v		PIMv2_hellos.pcap		pimv2_hellos-v.out	-t -v
+pimv2_dm-v		PIM-DM_pruning.pcap		pimv2_dm-v.out		-v
+pimv2_register-v	PIM_register_register-stop.pcap	pimv2_register-v.out	-v
+pimv2_sm-v		PIM-SM_join_prune.pcap		pimv2_sm-v.out		-v
+pimv2_bootstrap-v	PIMv2_bootstrap.pcap		pimv2_bootstrap-v.out	-v
+pimv2_hellos-v		PIMv2_hellos.pcap		pimv2_hellos-v.out	-v
 
 # IS-IS tests
-isis_infloop-v	isis-infinite-loop.pcap		isis_infloop-v.out	-t -v
-isis_poi-v      isis_poi.pcap                   isis_poi.out            -t -v
-isis_poi2-v     isis_poi2.pcap                  isis_poi2.out           -t -v
-isis_1		ISIS_external_lsp.pcap		isis_1.out	-t
-isis_1-v	ISIS_external_lsp.pcap		isis_1-v.out	-t -v
-isis_2-v	ISIS_level1_adjacency.pcap	isis_2-v.out	-t -v
-isis_3-v	ISIS_level2_adjacency.pcap	isis_3-v.out	-t -v
-isis_4-v	ISIS_p2p_adjacency.pcap		isis_4-v.out	-t -v
+isis_infloop-v	isis-infinite-loop.pcap		isis_infloop-v.out	-v
+isis_poi-v      isis_poi.pcap                   isis_poi.out            -v
+isis_poi2-v     isis_poi2.pcap                  isis_poi2.out           -v
+isis_1		ISIS_external_lsp.pcap		isis_1.out
+isis_1-v	ISIS_external_lsp.pcap		isis_1-v.out	-v
+isis_2-v	ISIS_level1_adjacency.pcap	isis_2-v.out	-v
+isis_3-v	ISIS_level2_adjacency.pcap	isis_3-v.out	-v
+isis_4-v	ISIS_p2p_adjacency.pcap		isis_4-v.out	-v
 # fuzzed pcap
 # isis-seg-fault-1-v is now conditionally handled by isis-seg-fault-1-v.sh
-isis-seg-fault-2-v isis-seg-fault-2.pcap isis-seg-fault-2-v.out -t -v
-isis-seg-fault-3-v isis-seg-fault-3.pcap isis-seg-fault-3-v.out -t -v
+isis-seg-fault-2-v isis-seg-fault-2.pcap isis-seg-fault-2-v.out -v
+isis-seg-fault-3-v isis-seg-fault-3.pcap isis-seg-fault-3-v.out -v
 
 # RSVP tests
-rsvp_infloop-v	rsvp-infinite-loop.pcap		rsvp_infloop-v.out	-t -v
+rsvp_infloop-v	rsvp-infinite-loop.pcap		rsvp_infloop-v.out	-v
 # fuzzed pcap
-rsvp-inf-loop-2-v rsvp-inf-loop-2.pcap rsvp-inf-loop-2-v.out -t -v
+rsvp-inf-loop-2-v rsvp-inf-loop-2.pcap rsvp-inf-loop-2-v.out -v
 
 # HDLC tests
-hdlc1	chdlc-slarp.pcap	hdlc1.out	-t
-hdlc2	chdlc-slarp-short.pcap	hdlc2.out	-t
-hdlc3	HDLC.pcap		hdlc3.out	-t
-hdlc4	hdlc_slarp.pcap		hdlc4.out	-t
+hdlc1	chdlc-slarp.pcap	hdlc1.out
+hdlc2	chdlc-slarp-short.pcap	hdlc2.out
+hdlc3	HDLC.pcap		hdlc3.out
+hdlc4	hdlc_slarp.pcap		hdlc4.out
 
 # DECnet test case
-decnet		DECnet_Phone.pcap	decnet.out	-t
+decnet		DECnet_Phone.pcap	decnet.out
 
 # RADIUS tests
-radius-v	RADIUS.pcap	radius-v.out	-t -v
-radius-rfc4675	RADIUS-RFC4675.pcap	radius-rfc4675-v.out	-t -v
-radius-rfc5176	RADIUS-RFC5176.pcap	radius-rfc5176-v.out	-t -v
-radius-port1700	RADIUS-port1700.pcap	radius-port1700-v.out	-t -v
+radius-v	RADIUS.pcap	radius-v.out	-v
+radius-rfc4675	RADIUS-RFC4675.pcap	radius-rfc4675-v.out	-v
+radius-rfc5176	RADIUS-RFC5176.pcap	radius-rfc5176-v.out	-v
+radius-port1700	RADIUS-port1700.pcap	radius-port1700-v.out	-v
 
 # link-level protocols
-dtp-v		DTP.pcap		dtp-v.out		-t -v
-lacp-ev		LACP.pcap		lacp-ev.out		-t -e -v
-lldp_cdp-ev	LLDP_and_CDP.pcap	lldp_cdp-ev.out		-t -e -v
-cdp-v		3560_CDP.pcap		cdp-v.out		-t -v
-udld-v		UDLD.pcap		udld-v.out		-t -v
-lldp_mud-v	lldp_mudurl.pcap	lldp_mudurl-v.out	-t -e -v
-lldp_mud-vv	lldp_mudurl.pcap	lldp_mudurl-vv.out	-t -e -vv
+dtp-v		DTP.pcap		dtp-v.out		-v
+lacp-ev		LACP.pcap		lacp-ev.out		-e -v
+lldp_cdp-ev	LLDP_and_CDP.pcap	lldp_cdp-ev.out		-e -v
+cdp-v		3560_CDP.pcap		cdp-v.out		-v
+udld-v		UDLD.pcap		udld-v.out		-v
+lldp_mud-v	lldp_mudurl.pcap	lldp_mudurl-v.out	-e -v
+lldp_mud-vv	lldp_mudurl.pcap	lldp_mudurl-vv.out	-e -vv
 # fuzzed pcap
-udld-inf-loop-1-v  udld-inf-loop-1.pcap  udld-inf-loop-1-v.out  -t -v
+udld-inf-loop-1-v  udld-inf-loop-1.pcap  udld-inf-loop-1-v.out  -v
 
 # EIGRP tests
-eigrp1-v	EIGRP_adjacency.pcap	eigrp1-v.out	-t -v
-eigrp2-v	EIGRP_goodbye.pcap	eigrp2-v.out	-t -v
-eigrp3-v	EIGRP_subnet_down.pcap	eigrp3-v.out	-t -v
-eigrp4-v	EIGRP_subnet_up.pcap	eigrp4-v.out	-t -v
+eigrp1-v	EIGRP_adjacency.pcap	eigrp1-v.out	-v
+eigrp2-v	EIGRP_goodbye.pcap	eigrp2-v.out	-v
+eigrp3-v	EIGRP_subnet_down.pcap	eigrp3-v.out	-v
+eigrp4-v	EIGRP_subnet_up.pcap	eigrp4-v.out	-v
 
 # ATA-over-Ethernet tests
-aoe_1		AoE_Linux.pcap		aoe_1.out	-t
-aoe_1-v		AoE_Linux.pcap		aoe_1-v.out	-t -v
+aoe_1		AoE_Linux.pcap		aoe_1.out
+aoe_1-v		AoE_Linux.pcap		aoe_1-v.out	-v
 
 # Geneve tests
-geneve-v	geneve.pcap		geneve-vv.out	-t -vv
-geneve-vni	geneve.pcap		geneve-vni.out	-t geneve 0xb
-geneve-tcp	geneve.pcap		geneve-tcp.out	-t "geneve && tcp"
+geneve-v	geneve.pcap		geneve-vv.out	-vv
+geneve-vni	geneve.pcap		geneve-vni.out	geneve 0xb
+geneve-tcp	geneve.pcap		geneve-tcp.out	"geneve && tcp"
 
 # DHCP tests
-dhcp-rfc3004	dhcp-rfc3004.pcap	dhcp-rfc3004-v.out	-t -v
-dhcp-rfc5859	dhcp-rfc5859.pcap	dhcp-rfc5859-v.out	-t -v
-dhcp-mud	dhcp-mud.pcap		dhcp-mud.out	-t -vv
+dhcp-rfc3004	dhcp-rfc3004.pcap	dhcp-rfc3004-v.out	-v
+dhcp-rfc5859	dhcp-rfc5859.pcap	dhcp-rfc5859-v.out	-v
+dhcp-mud	dhcp-mud.pcap		dhcp-mud.out	-vv
 
 # MEDSA tests
-medsa		medsa.pcap		medsa.out	-t
-medsa-e		medsa.pcap		medsa-e.out	-t -e
+medsa		medsa.pcap		medsa.out
+medsa-e		medsa.pcap		medsa-e.out	-e
 
 # VXLAN tests
-vxlan  vxlan.pcap  vxlan.out  -# -t -e
+vxlan  vxlan.pcap  vxlan.out  -# -e
 
 # CVEs 2014 malformed packets from Steffen Bauch
-cve-2014-8767-OLSR cve-2014-8767-OLSR.pcap cve-2014-8767-OLSR.out -t -v
-cve-2014-8768-Geonet cve-2014-8768-Geonet.pcap cve-2014-8768-Geonet.out -t -v
-cve-2014-8769-AODV cve-2014-8769-AODV.pcap cve-2014-8769-AODV.out -t -v
+cve-2014-8767-OLSR cve-2014-8767-OLSR.pcap cve-2014-8767-OLSR.out -v
+cve-2014-8768-Geonet cve-2014-8768-Geonet.pcap cve-2014-8768-Geonet.out -v
+cve-2014-8769-AODV cve-2014-8769-AODV.pcap cve-2014-8769-AODV.out -v
 
 # bad packets from Kevin Day
 # cve-2015-2155 -- fuzz testing on FORCES printer
-kday1           kday1.pcap              kday1.out       -t -v
+kday1           kday1.pcap              kday1.out       -v
 # cve-2015-2153 -- fuzz testing on TCP printer
-kday2           kday2.pcap              kday2.out       -t -v
+kday2           kday2.pcap              kday2.out       -v
 # cve-2015-2153 -- fuzz testing on TCP printer
-kday3           kday3.pcap              kday3.out       -t -v
+kday3           kday3.pcap              kday3.out       -v
 # cve-2015-2153 -- fuzz testing on TCP printer
-kday4           kday4.pcap              kday4.out       -t -v
+kday4           kday4.pcap              kday4.out       -v
 # cve-2015-2153 -- fuzz testing on TCP printer
-kday5           kday5.pcap              kday5.out       -t -v
+kday5           kday5.pcap              kday5.out       -v
 # cve-2015-2154 -- ethernet printer
-kday6           kday6.pcap              kday6.out       -t -v
+kday6           kday6.pcap              kday6.out       -v
 # cve-2015-2153 -- fuzz testing on TCP printer
-kday7           kday7.pcap              kday7.out       -t -v
+kday7           kday7.pcap              kday7.out       -v
 # cve-2015-2153 -- fuzz testing on TCP printer
-kday8           kday8.pcap              kday8.out       -t -v
+kday8           kday8.pcap              kday8.out       -v
 
 # bad packets from reversex86.
-cve2015-0261_01    cve2015-0261-ipv6.pcap       cve2015-0261-ipv6.out -t -v
-cve2015-0261_02    cve2015-0261-crash.pcap      cve2015-0261-crash.out -t -v
+cve2015-0261_01    cve2015-0261-ipv6.pcap       cve2015-0261-ipv6.out -v
+cve2015-0261_02    cve2015-0261-crash.pcap      cve2015-0261-crash.out -v
 
 # OLSRv1 tests
-olsrv1_1	OLSRv1_HNA_sgw_1.pcap		OLSRv1_HNA_sgw_1.out	-t -v
+olsrv1_1	OLSRv1_HNA_sgw_1.pcap		OLSRv1_HNA_sgw_1.out	-v
 
 # tests with unaligned data, to make sure they work on SPARC
-unaligned-nfs-1	unaligned-nfs-1.pcap	unaligned-nfs-1.out	-t -v
+unaligned-nfs-1	unaligned-nfs-1.pcap	unaligned-nfs-1.out	-v
 
 # LISP tests
-lisp_eid_notify		lisp_eid_notify.pcap	lisp_eid_notify.out	-t -v
-lisp_eid_register	lisp_eid_register.pcap	lisp_eid_register.out	-t -v
-lisp_ipv6_eid		lisp_ipv6.pcap		lisp_ipv6.out		-t -v
+lisp_eid_notify		lisp_eid_notify.pcap	lisp_eid_notify.out	-v
+lisp_eid_register	lisp_eid_register.pcap	lisp_eid_register.out	-v
+lisp_ipv6_eid		lisp_ipv6.pcap		lisp_ipv6.out		-v
 
 # pcap invalid versions (first: version = 1.4 ; second: version = 2.5)
-pcap-invalid-version-1 pcap-invalid-version-1.pcap pcap-invalid-version-1.out -t
-pcap-invalid-version-2 pcap-invalid-version-2.pcap pcap-invalid-version-2.out -t
+pcap-invalid-version-1 pcap-invalid-version-1.pcap pcap-invalid-version-1.out
+pcap-invalid-version-2 pcap-invalid-version-2.pcap pcap-invalid-version-2.out
 
 # pcap-ng invalid version (first: version = 0.1 ; second: version = 1.1)
-pcap-ng-invalid-vers-1 pcap-ng-invalid-vers-1.pcap pcap-ng-invalid-vers-1.out -t
-pcap-ng-invalid-vers-2 pcap-ng-invalid-vers-2.pcap pcap-ng-invalid-vers-2.out -t
+pcap-ng-invalid-vers-1 pcap-ng-invalid-vers-1.pcap pcap-ng-invalid-vers-1.out
+pcap-ng-invalid-vers-2 pcap-ng-invalid-vers-2.pcap pcap-ng-invalid-vers-2.out
 
 # NSH over VxLAN-GPE
-nsh-over-vxlan-gpe     nsh-over-vxlan-gpe.pcap nsh-over-vxlan-gpe.out     -t
-nsh-over-vxlan-gpe-v   nsh-over-vxlan-gpe.pcap nsh-over-vxlan-gpe-v.out   -t -v
-nsh-over-vxlan-gpe-vv  nsh-over-vxlan-gpe.pcap nsh-over-vxlan-gpe-vv.out  -t -vv
-nsh-over-vxlan-gpe-vvv nsh-over-vxlan-gpe.pcap nsh-over-vxlan-gpe-vvv.out -t -vvv
+nsh-over-vxlan-gpe     nsh-over-vxlan-gpe.pcap nsh-over-vxlan-gpe.out
+nsh-over-vxlan-gpe-v   nsh-over-vxlan-gpe.pcap nsh-over-vxlan-gpe-v.out   -v
+nsh-over-vxlan-gpe-vv  nsh-over-vxlan-gpe.pcap nsh-over-vxlan-gpe-vv.out  -vv
+nsh-over-vxlan-gpe-vvv nsh-over-vxlan-gpe.pcap nsh-over-vxlan-gpe-vvv.out -vvv
 
 # RESP tests
-resp_1 resp_1_benchmark.pcap resp_1.out -t
-resp_2 resp_2_inline.pcap    resp_2.out -t
-resp_3 resp_3_malicious.pcap resp_3.out -t
+resp_1 resp_1_benchmark.pcap resp_1.out
+resp_2 resp_2_inline.pcap    resp_2.out
+resp_3 resp_3_malicious.pcap resp_3.out
 
 # HNCP tests
-hncp hncp.pcap hncp.out -vvv -t
+hncp hncp.pcap hncp.out -vvv
 
 # BFD tests with authentication fields
-bfd-raw-auth-simple bfd-raw-auth-simple.pcap bfd-raw-auth-simple.out -t
-bfd-raw-auth-simple-v bfd-raw-auth-simple.pcap bfd-raw-auth-simple-v.out -t -v
-bfd-raw-auth-md5 bfd-raw-auth-md5.pcap bfd-raw-auth-md5.out -t
-bfd-raw-auth-md5-v bfd-raw-auth-md5.pcap bfd-raw-auth-md5-v.out -t -v
-bfd-raw-auth-sha1 bfd-raw-auth-sha1.pcap bfd-raw-auth-sha1.out -t
-bfd-raw-auth-sha1-v bfd-raw-auth-sha1.pcap bfd-raw-auth-sha1-v.out -t -v
+bfd-raw-auth-simple bfd-raw-auth-simple.pcap bfd-raw-auth-simple.out
+bfd-raw-auth-simple-v bfd-raw-auth-simple.pcap bfd-raw-auth-simple-v.out -v
+bfd-raw-auth-md5 bfd-raw-auth-md5.pcap bfd-raw-auth-md5.out
+bfd-raw-auth-md5-v bfd-raw-auth-md5.pcap bfd-raw-auth-md5-v.out -v
+bfd-raw-auth-sha1 bfd-raw-auth-sha1.pcap bfd-raw-auth-sha1.out
+bfd-raw-auth-sha1-v bfd-raw-auth-sha1.pcap bfd-raw-auth-sha1-v.out -v
 
 # bad packets from Hanno Böck
-heap-overflow-1	heap-overflow-1.pcap		heap-overflow-1.out	-t -v -n
-heap-overflow-2	heap-overflow-2.pcap		heap-overflow-2.out	-t -v -n
-heapoverflow-atalk_print	heapoverflow-atalk_print.pcap	heapoverflow-atalk_print.out	-t -v -n
-heapoverflow-EXTRACT_16BITS	heapoverflow-EXTRACT_16BITS.pcap	heapoverflow-EXTRACT_16BITS.out	-t -v -n
-heapoverflow-ppp_hdlc_if_print	heapoverflow-ppp_hdlc_if_print.pcap	heapoverflow-ppp_hdlc_if_print.out	-t -v -n
-heapoverflow-q933_printq	heapoverflow-q933_printq.pcap	heapoverflow-q933_printq.out	-t -v -n
-heapoverflow-sl_if_print	heapoverflow-sl_if_print.pcap	heapoverflow-sl_if_print.out	-t -v -n
-heapoverflow-ip_print_demux	heapoverflow-ip_print_demux.pcap	heapoverflow-ip_print_demux.out	-t -v -n
-heapoverflow-in_checksum	heapoverflow-in_checksum.pcap	heapoverflow-in_checksum.out	-t -v -n
-heapoverflow-tcp_print	heapoverflow-tcp_print.pcap	heapoverflow-tcp_print.out	-t -v -n
-gre-heapoverflow-1	gre-heapoverflow-1.pcap	gre-heapoverflow-1.out	-t -v -n
-gre-heapoverflow-2	gre-heapoverflow-2.pcap	gre-heapoverflow-2.out	-t -v -n
-calm-fast-mac-lookup-heapoverflow	calm-fast-mac-lookup-heapoverflow.pcap	calm-fast-mac-lookup-heapoverflow.out	-t -v -n
-geonet-mac-lookup-heapoverflow	geonet-mac-lookup-heapoverflow.pcap	geonet-mac-lookup-heapoverflow.out	-t -v -n
-radiotap-heapoverflow	radiotap-heapoverflow.pcap	radiotap-heapoverflow.out -t -v -n
-isoclns-heapoverflow	isoclns-heapoverflow.pcap	isoclns-heapoverflow.out	-t -v -n
-tcp-auth-heapoverflow	tcp-auth-heapoverflow.pcap	tcp-auth-heapoverflow.out	-t -v -n
-frf15-heapoverflow	frf15-heapoverflow.pcap	frf15-heapoverflow.out	-t -v -n
-atm-oam-heapoverflow	atm-oam-heapoverflow.pcap	atm-oam-heapoverflow.out	-t -v -n
-tcp_header_heapoverflow	tcp_header_heapoverflow.pcap	tcp_header_heapoverflow.out	-t -v -n
-ipcomp-heapoverflow	ipcomp-heapoverflow.pcap	ipcomp-heapoverflow.out	-t -v -n
-llc-xid-heapoverflow	llc-xid-heapoverflow.pcap	llc-xid-heapoverflow.out	-t -v -n
-udp-length-heapoverflow	udp-length-heapoverflow.pcap	udp-length-heapoverflow.out	-t -v -n
-aarp-heapoverflow-1	aarp-heapoverflow-1.pcap	aarp-heapoverflow-1.out	-t -v -n
-aarp-heapoverflow-2	aarp-heapoverflow-2.pcap	aarp-heapoverflow-2.out	-t -v -n
-mpls-label-heapoverflow	mpls-label-heapoverflow.pcap	mpls-label-heapoverflow.out	-t -v -n
-bad-ipv4-version-pgm-heapoverflow	bad-ipv4-version-pgm-heapoverflow.pcap	bad-ipv4-version-pgm-heapoverflow.out	-t -v -n
-stp-heapoverflow-1	stp-heapoverflow-1.pcap	stp-heapoverflow-1.out	-t -v -n
-stp-heapoverflow-2	stp-heapoverflow-2.pcap	stp-heapoverflow-2.out	-t -v -n
-stp-heapoverflow-3	stp-heapoverflow-3.pcap	stp-heapoverflow-3.out	-t -v -n
-stp-heapoverflow-4	stp-heapoverflow-4.pcap	stp-heapoverflow-4.out	-t -v -n
-stp-heapoverflow-5	stp-heapoverflow-5.pcap	stp-heapoverflow-5.out	-t -v -n
-arp-too-long-tha	arp-too-long-tha.pcap	arp-too-long-tha.out	-t -v -n
-juniper_header-heapoverflow	juniper_header-heapoverflow.pcap	juniper_header-heapoverflow.out	-t -v -n
-tftp-heapoverflow	tftp-heapoverflow.pcap	tftp-heapoverflow.out	-t -v -n
-relts-0x80000000	relts-0x80000000.pcap	relts-0x80000000.out	-t -v -n
+heap-overflow-1	heap-overflow-1.pcap		heap-overflow-1.out	-v
+heap-overflow-2	heap-overflow-2.pcap		heap-overflow-2.out	-v
+heapoverflow-atalk_print	heapoverflow-atalk_print.pcap	heapoverflow-atalk_print.out	-v
+heapoverflow-EXTRACT_16BITS	heapoverflow-EXTRACT_16BITS.pcap	heapoverflow-EXTRACT_16BITS.out	-v
+heapoverflow-ppp_hdlc_if_print	heapoverflow-ppp_hdlc_if_print.pcap	heapoverflow-ppp_hdlc_if_print.out	-v
+heapoverflow-q933_printq	heapoverflow-q933_printq.pcap	heapoverflow-q933_printq.out	-v
+heapoverflow-sl_if_print	heapoverflow-sl_if_print.pcap	heapoverflow-sl_if_print.out	-v
+heapoverflow-ip_print_demux	heapoverflow-ip_print_demux.pcap	heapoverflow-ip_print_demux.out	-v
+heapoverflow-in_checksum	heapoverflow-in_checksum.pcap	heapoverflow-in_checksum.out	-v
+heapoverflow-tcp_print	heapoverflow-tcp_print.pcap	heapoverflow-tcp_print.out	-v
+gre-heapoverflow-1	gre-heapoverflow-1.pcap	gre-heapoverflow-1.out	-v
+gre-heapoverflow-2	gre-heapoverflow-2.pcap	gre-heapoverflow-2.out	-v
+calm-fast-mac-lookup-heapoverflow	calm-fast-mac-lookup-heapoverflow.pcap	calm-fast-mac-lookup-heapoverflow.out	-v
+geonet-mac-lookup-heapoverflow	geonet-mac-lookup-heapoverflow.pcap	geonet-mac-lookup-heapoverflow.out	-v
+radiotap-heapoverflow	radiotap-heapoverflow.pcap	radiotap-heapoverflow.out -v
+isoclns-heapoverflow	isoclns-heapoverflow.pcap	isoclns-heapoverflow.out	-v
+tcp-auth-heapoverflow	tcp-auth-heapoverflow.pcap	tcp-auth-heapoverflow.out	-v
+frf15-heapoverflow	frf15-heapoverflow.pcap	frf15-heapoverflow.out	-v
+atm-oam-heapoverflow	atm-oam-heapoverflow.pcap	atm-oam-heapoverflow.out	-v
+tcp_header_heapoverflow	tcp_header_heapoverflow.pcap	tcp_header_heapoverflow.out	-v
+ipcomp-heapoverflow	ipcomp-heapoverflow.pcap	ipcomp-heapoverflow.out	-v
+llc-xid-heapoverflow	llc-xid-heapoverflow.pcap	llc-xid-heapoverflow.out	-v
+udp-length-heapoverflow	udp-length-heapoverflow.pcap	udp-length-heapoverflow.out	-v
+aarp-heapoverflow-1	aarp-heapoverflow-1.pcap	aarp-heapoverflow-1.out	-v
+aarp-heapoverflow-2	aarp-heapoverflow-2.pcap	aarp-heapoverflow-2.out	-v
+mpls-label-heapoverflow	mpls-label-heapoverflow.pcap	mpls-label-heapoverflow.out	-v
+bad-ipv4-version-pgm-heapoverflow	bad-ipv4-version-pgm-heapoverflow.pcap	bad-ipv4-version-pgm-heapoverflow.out	-v
+stp-heapoverflow-1	stp-heapoverflow-1.pcap	stp-heapoverflow-1.out	-v
+stp-heapoverflow-2	stp-heapoverflow-2.pcap	stp-heapoverflow-2.out	-v
+stp-heapoverflow-3	stp-heapoverflow-3.pcap	stp-heapoverflow-3.out	-v
+stp-heapoverflow-4	stp-heapoverflow-4.pcap	stp-heapoverflow-4.out	-v
+stp-heapoverflow-5	stp-heapoverflow-5.pcap	stp-heapoverflow-5.out	-v
+arp-too-long-tha	arp-too-long-tha.pcap	arp-too-long-tha.out	-v
+juniper_header-heapoverflow	juniper_header-heapoverflow.pcap	juniper_header-heapoverflow.out	-v
+tftp-heapoverflow	tftp-heapoverflow.pcap	tftp-heapoverflow.out	-v
+relts-0x80000000	relts-0x80000000.pcap	relts-0x80000000.out	-v
 
 # bad packets from Brian Carpenter
-ipv6hdr-heapoverflow	ipv6hdr-heapoverflow.pcap	ipv6hdr-heapoverflow.out	-t
-ipv6hdr-heapoverflow-v	ipv6hdr-heapoverflow.pcap	ipv6hdr-heapoverflow-v.out	-t -v
-otv-heapoverflow-1	otv-heapoverflow-1.pcap		otv-heapoverflow-1.out		-t -c10
-otv-heapoverflow-2	otv-heapoverflow-2.pcap		otv-heapoverflow-2.out		-t -c10
-q933-heapoverflow-2	q933-heapoverflow-2.pcap	q933-heapoverflow-2.out		-t
-atm-heapoverflow	atm-heapoverflow.pcap		atm-heapoverflow.out		-t -c1 -e
+ipv6hdr-heapoverflow	ipv6hdr-heapoverflow.pcap	ipv6hdr-heapoverflow.out
+ipv6hdr-heapoverflow-v	ipv6hdr-heapoverflow.pcap	ipv6hdr-heapoverflow-v.out	-v
+otv-heapoverflow-1	otv-heapoverflow-1.pcap		otv-heapoverflow-1.out		-c10
+otv-heapoverflow-2	otv-heapoverflow-2.pcap		otv-heapoverflow-2.out		-c10
+q933-heapoverflow-2	q933-heapoverflow-2.pcap	q933-heapoverflow-2.out
+atm-heapoverflow	atm-heapoverflow.pcap		atm-heapoverflow.out		-c1 -e
 
 # bad packets from Kamil Frankowicz
-snmp-heapoverflow-1	snmp-heapoverflow-1.pcap	snmp-heapoverflow-1.out		-t
-snmp-heapoverflow-2	snmp-heapoverflow-2.pcap	snmp-heapoverflow-2.out		-t
-isoclns-heapoverflow-2	isoclns-heapoverflow-2.pcap	isoclns-heapoverflow-2.out	-t -e -c1
-isoclns-heapoverflow-3	isoclns-heapoverflow-3.pcap	isoclns-heapoverflow-3.out	-t -e -c1
+snmp-heapoverflow-1	snmp-heapoverflow-1.pcap	snmp-heapoverflow-1.out
+snmp-heapoverflow-2	snmp-heapoverflow-2.pcap	snmp-heapoverflow-2.out
+isoclns-heapoverflow-2	isoclns-heapoverflow-2.pcap	isoclns-heapoverflow-2.out	-e -c1
+isoclns-heapoverflow-3	isoclns-heapoverflow-3.pcap	isoclns-heapoverflow-3.out	-e -c1
+stp-v4-length-sigsegv	stp-v4-length-sigsegv.pcap	stp-v4-length-sigsegv.out
 
 # RTP tests
 # fuzzed pcap
-rtp-seg-fault-1  rtp-seg-fault-1.pcap  rtp-seg-fault-1.out  -t -v -T rtp
-rtp-seg-fault-2  rtp-seg-fault-2.pcap  rtp-seg-fault-2.out  -t -v -T rtp
+rtp-seg-fault-1  rtp-seg-fault-1.pcap  rtp-seg-fault-1.out  -v -T rtp
+rtp-seg-fault-2  rtp-seg-fault-2.pcap  rtp-seg-fault-2.out  -v -T rtp
 
 # NFS tests
 # fuzzed pcap
-nfs-seg-fault-1  nfs-seg-fault-1.pcap  nfs-seg-fault-1.out  -t
+nfs-seg-fault-1  nfs-seg-fault-1.pcap  nfs-seg-fault-1.out
diff --git a/tests/TESTonce b/tests/TESTonce
index 78ad075..012364f 100755
--- a/tests/TESTonce
+++ b/tests/TESTonce
@@ -15,13 +15,13 @@
 my $r;
 
 if ($^O eq 'MSWin32') {
-    $r = system "..\\windump -n -r $input $options 2>NUL | sed 's/\\r//' | tee NEW/$output | diff $output - >DIFF/$output.diff";
+    $r = system "..\\windump -n -t -r $input $options 2>NUL | sed 's/\\r//' | tee NEW/$output | diff $output - >DIFF/$output.diff";
     # need to do same as below for Cygwin.
 }
 else {
     # we used to do this as a nice pipeline, but the problem is that $r fails to
     # to be set properly if the tcpdump core dumps.
-    $r = system "../tcpdump 2>/dev/null -n -r $input $options >NEW/$output";
+    $r = system "../tcpdump 2>/dev/null -n -t -r $input $options >NEW/$output";
     if($r == 0x100) {
         # this means tcpdump exited with code 1.
         open(OUTPUT, ">>"."NEW/$output") || die "fail to open $output\n";
diff --git a/tests/crypto.sh b/tests/crypto.sh
index f20e239..5e29595 100755
--- a/tests/crypto.sh
+++ b/tests/crypto.sh
@@ -1,12 +1,17 @@
 #!/bin/sh
 
+exitcode=0
+
 # Only attempt OpenSSL-specific tests when compiled with the library.
 
 if grep '^#define HAVE_LIBCRYPTO 1$' ../config.h >/dev/null
 then
-	./TESTonce esp1 02-sunrise-sunset-esp.pcap esp1.out '-t -E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
-	./TESTonce esp2 08-sunrise-sunset-esp2.pcap esp2.out '-t -E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840,0xabcdabcd@192.0.1.1 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043"'
-	./TESTonce esp3 02-sunrise-sunset-esp.pcap esp1.out '-t -E "3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
+	./TESTonce esp1 02-sunrise-sunset-esp.pcap esp1.out '-E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
+	[ $? -eq 0 ] || exitcode=1
+	./TESTonce esp2 08-sunrise-sunset-esp2.pcap esp2.out '-E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840,0xabcdabcd@192.0.1.1 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043"'
+	[ $? -eq 0 ] || exitcode=1
+	./TESTonce esp3 02-sunrise-sunset-esp.pcap esp1.out '-E "3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
+	[ $? -eq 0 ] || exitcode=1
 	# Reading the secret(s) from a file does not work with Capsicum.
 	if grep '^#define HAVE_CAPSICUM 1$' ../config.h >/dev/null
 	then
@@ -17,11 +22,16 @@
 		printf "$FORMAT" ikev2pI2
 		printf "$FORMAT" isakmp4
 	else
-		./TESTonce esp4 08-sunrise-sunset-esp2.pcap esp2.out '-t -E "file esp-secrets.txt"'
-		./TESTonce esp5 08-sunrise-sunset-aes.pcap esp5.out '-t -E "file esp-secrets.txt"'
-		./TESTonce espudp1 espudp1.pcap espudp1.out '-nnnn -t -E "file esp-secrets.txt"'
-		./TESTonce ikev2pI2 ikev2pI2.pcap ikev2pI2.out '-t -E "file ikev2pI2-secrets.txt" -v -v -v -v'
-		./TESTonce isakmp4 isakmp4500.pcap isakmp4.out '-t -E "file esp-secrets.txt"'
+		./TESTonce esp4 08-sunrise-sunset-esp2.pcap esp2.out '-E "file esp-secrets.txt"'
+		[ $? -eq 0 ] || exitcode=1
+		./TESTonce esp5 08-sunrise-sunset-aes.pcap esp5.out '-E "file esp-secrets.txt"'
+		[ $? -eq 0 ] || exitcode=1
+		./TESTonce espudp1 espudp1.pcap espudp1.out '-nnnn -E "file esp-secrets.txt"'
+		[ $? -eq 0 ] || exitcode=1
+		./TESTonce ikev2pI2 ikev2pI2.pcap ikev2pI2.out '-E "file ikev2pI2-secrets.txt" -v -v -v -v'
+		[ $? -eq 0 ] || exitcode=1
+		./TESTonce isakmp4 isakmp4500.pcap isakmp4.out '-E "file esp-secrets.txt"'
+		[ $? -eq 0 ] || exitcode=1
 	fi
 else
 	FORMAT='    %-35s: TEST SKIPPED (compiled w/o OpenSSL)\n'
@@ -34,3 +44,5 @@
 	printf "$FORMAT" ikev2pI2
 	printf "$FORMAT" isakmp4
 fi
+
+exit $exitcode
diff --git a/tests/isis-seg-fault-1-v.sh b/tests/isis-seg-fault-1-v.sh
index 2e9b6ec..57965e8 100755
--- a/tests/isis-seg-fault-1-v.sh
+++ b/tests/isis-seg-fault-1-v.sh
@@ -4,6 +4,7 @@
 # may produce a slightly different result if the compiler is not GCC.
 # Test only with GCC (similar to GitHub issue #333).
 
+exitcode=0
 test_name=isis-seg-fault-1-v
 
 if [ ! -f ../Makefile ]
@@ -11,7 +12,10 @@
 	printf '    %-35s: TEST SKIPPED (no Makefile)\n' $test_name
 elif grep '^CC = .*gcc' ../Makefile >/dev/null
 then
-  ./TESTonce $test_name isis-seg-fault-1.pcap isis-seg-fault-1-v.out '-t -v'
+	./TESTonce $test_name isis-seg-fault-1.pcap isis-seg-fault-1-v.out '-v'
+	[ $? -eq 0 ] || exitcode=1
 else
 	printf '    %-35s: TEST SKIPPED (compiler is not GCC)\n' $test_name
 fi
+
+exit $exitcode
diff --git a/tests/lmp-v.sh b/tests/lmp-v.sh
index 1c286bf..2d01886 100755
--- a/tests/lmp-v.sh
+++ b/tests/lmp-v.sh
@@ -6,6 +6,8 @@
 # GCC build and must reproduce correctly on any other GCC build regardless of
 # the architecture.
 
+exitcode=0
+
 # A Windows build may have no file named Makefile and also a version of grep
 # that won't return an error when the file does not exist. Work around.
 if [ ! -f ../Makefile ]
@@ -13,7 +15,10 @@
 	printf '    %-35s: TEST SKIPPED (no Makefile)\n' 'lmp-v'
 elif grep '^CC = .*gcc' ../Makefile >/dev/null
 then
-  ./TESTonce lmp-v lmp.pcap lmp-v.out '-t -T lmp -v'
+	./TESTonce lmp-v lmp.pcap lmp-v.out '-T lmp -v'
+	[ $? -eq 0 ] || exitcode=1
 else
 	printf '    %-35s: TEST SKIPPED (compiler is not GCC)\n' 'lmp-v'
 fi
+
+exit $exitcode
diff --git a/tests/nflog-e.sh b/tests/nflog-e.sh
index 46b99ee..5b002bf 100755
--- a/tests/nflog-e.sh
+++ b/tests/nflog-e.sh
@@ -1,10 +1,15 @@
 #!/bin/sh
 
+exitcode=0
+
 # NFLOG support depends on both DLT_NFLOG and working <pcap/nflog.h>
 
 if grep '^#define HAVE_PCAP_NFLOG_H 1$' ../config.h >/dev/null
 then
-  ./TESTonce nflog-e nflog.pcap nflog-e.out '-t -e'
+	./TESTonce nflog-e nflog.pcap nflog-e.out '-e'
+	[ $? -eq 0 ] || exitcode=1
 else
 	printf '    %-35s: TEST SKIPPED (compiled w/o NFLOG)\n' 'nflog-e'
 fi
+
+exit $exitcode
diff --git a/tests/stp-v4-length-sigsegv.out b/tests/stp-v4-length-sigsegv.out
new file mode 100644
index 0000000..8519243
--- /dev/null
+++ b/tests/stp-v4-length-sigsegv.out
@@ -0,0 +1 @@
+STP 802.1aq, Rapid STP, CIST Flags [Learn, Forward], length 808464415[|stp 808464415]
diff --git a/tests/stp-v4-length-sigsegv.pcap b/tests/stp-v4-length-sigsegv.pcap
new file mode 100644
index 0000000..b6ae2ac
--- /dev/null
+++ b/tests/stp-v4-length-sigsegv.pcap
Binary files differ
diff --git a/version.c b/version.c
index 391a8db..2e7b3df 100644
--- a/version.c
+++ b/version.c
@@ -1 +1 @@
-const char version[] = "4.9.0";
+const char version[] = "4.9.1";
