# Run with verbose output:
 #   sudo ./test_xsk.sh -v
 #
-# Run and dump packet contents:
-#   sudo ./test_xsk.sh -D
-#
 # Set up veth interfaces and leave them up so xskxceiver can be launched in a debugger:
 #   sudo ./test_xsk.sh -d
 #
 
 ETH=""
 
-while getopts "vDi:d" flag
+while getopts "vi:d" flag
 do
        case "${flag}" in
                v) verbose=1;;
-               D) dump_pkts=1;;
                d) debug=1;;
                i) ETH=${OPTARG};;
        esac
        ARGS+="-v "
 fi
 
-if [[ $dump_pkts -eq 1 ]]; then
-       ARGS="-D "
-fi
-
 retval=$?
 test_status $retval "${TEST_NAME}"
 
 
 static struct option long_options[] = {
        {"interface", required_argument, 0, 'i'},
        {"busy-poll", no_argument, 0, 'b'},
-       {"dump-pkts", no_argument, 0, 'D'},
        {"verbose", no_argument, 0, 'v'},
        {0, 0, 0, 0}
 };
                "  Usage: %s [OPTIONS]\n"
                "  Options:\n"
                "  -i, --interface      Use interface\n"
-               "  -D, --dump-pkts      Dump packets L2 - L5\n"
                "  -v, --verbose        Verbose output\n"
                "  -b, --busy-poll      Enable busy poll\n";
 
        opterr = 0;
 
        for (;;) {
-               c = getopt_long(argc, argv, "i:Dvb", long_options, &option_index);
+               c = getopt_long(argc, argv, "i:vb", long_options, &option_index);
                if (c == -1)
                        break;
 
 
                        interface_nb++;
                        break;
-               case 'D':
-                       opt_pkt_dump = true;
-                       break;
                case 'v':
                        opt_verbose = true;
                        break;
 
        if (!pkt) {
                ksft_print_msg("[%s] too many packets received\n", __func__);
-               return false;
+               goto error;
        }
 
        if (len < MIN_PKT_SIZE || pkt->len < MIN_PKT_SIZE) {
        if (pkt->len != len) {
                ksft_print_msg("[%s] expected length [%d], got length [%d]\n",
                               __func__, pkt->len, len);
-               return false;
+               goto error;
        }
 
        pkt_data = ntohl(*((u32 *)(data + PKT_HDR_SIZE)));
        seqnum = pkt_data >> 16;
 
-       if (opt_pkt_dump)
-               pkt_dump(data, len);
-
        if (pkt->pkt_nb != seqnum) {
                ksft_print_msg("[%s] expected seqnum [%d], got seqnum [%d]\n",
                               __func__, pkt->pkt_nb, seqnum);
-               return false;
+               goto error;
        }
 
        return true;
+
+error:
+       pkt_dump(data, len);
+       return false;
 }
 
 static void kick_tx(struct xsk_socket_info *xsk)