Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src merge for tcpdump 4.9.0 and document



details:   https://anonhg.NetBSD.org/src/rev/8605b92c1436
branches:  trunk
changeset: 821428:8605b92c1436
user:      spz <spz%NetBSD.org@localhost>
date:      Sun Feb 05 04:05:05 2017 +0000

description:
merge for tcpdump 4.9.0 and document

diffstat:

 doc/3RDPARTY                                   |    8 +-
 external/bsd/tcpdump/bin/Makefile              |    4 +-
 external/bsd/tcpdump/dist/README               |  243 +++++++++
 external/bsd/tcpdump/dist/addrtoname.c         |   24 +-
 external/bsd/tcpdump/dist/addrtostr.c          |   53 +-
 external/bsd/tcpdump/dist/configure            |   64 +-
 external/bsd/tcpdump/dist/configure.in         |    3 -
 external/bsd/tcpdump/dist/extract.h            |   32 +-
 external/bsd/tcpdump/dist/interface.h          |   17 +-
 external/bsd/tcpdump/dist/l2vpn.c              |   98 ++-
 external/bsd/tcpdump/dist/netdissect.c         |    5 +
 external/bsd/tcpdump/dist/netdissect.h         |   52 +-
 external/bsd/tcpdump/dist/oui.c                |    3 +-
 external/bsd/tcpdump/dist/parsenfsfh.c         |  230 ++++---
 external/bsd/tcpdump/dist/print-802_11.c       |   25 +-
 external/bsd/tcpdump/dist/print-802_15_4.c     |    4 +-
 external/bsd/tcpdump/dist/print-ah.c           |   17 +-
 external/bsd/tcpdump/dist/print-ahcp.c         |   10 +-
 external/bsd/tcpdump/dist/print-aodv.c         |    4 +-
 external/bsd/tcpdump/dist/print-aoe.c          |   10 +-
 external/bsd/tcpdump/dist/print-ap1394.c       |   21 +-
 external/bsd/tcpdump/dist/print-arcnet.c       |    4 +-
 external/bsd/tcpdump/dist/print-arp.c          |   18 +-
 external/bsd/tcpdump/dist/print-ascii.c        |    4 +-
 external/bsd/tcpdump/dist/print-atalk.c        |   40 +-
 external/bsd/tcpdump/dist/print-atm.c          |   36 +-
 external/bsd/tcpdump/dist/print-babel.c        |    4 +-
 external/bsd/tcpdump/dist/print-beep.c         |    4 +-
 external/bsd/tcpdump/dist/print-bfd.c          |  183 +++++-
 external/bsd/tcpdump/dist/print-bgp.c          |  119 +++-
 external/bsd/tcpdump/dist/print-bootp.c        |   24 +-
 external/bsd/tcpdump/dist/print-bt.c           |    4 +-
 external/bsd/tcpdump/dist/print-calm-fast.c    |   26 +-
 external/bsd/tcpdump/dist/print-carp.c         |    4 +-
 external/bsd/tcpdump/dist/print-cdp.c          |    4 +-
 external/bsd/tcpdump/dist/print-cfm.c          |  335 +++++++----
 external/bsd/tcpdump/dist/print-chdlc.c        |    8 +-
 external/bsd/tcpdump/dist/print-cip.c          |   26 +-
 external/bsd/tcpdump/dist/print-cnfp.c         |    4 +-
 external/bsd/tcpdump/dist/print-dccp.c         |    4 +-
 external/bsd/tcpdump/dist/print-decnet.c       |   79 +--
 external/bsd/tcpdump/dist/print-dhcp6.c        |   39 +-
 external/bsd/tcpdump/dist/print-domain.c       |    6 +-
 external/bsd/tcpdump/dist/print-dtp.c          |    6 +-
 external/bsd/tcpdump/dist/print-dvmrp.c        |    6 +-
 external/bsd/tcpdump/dist/print-eap.c          |    9 +-
 external/bsd/tcpdump/dist/print-egp.c          |   29 +-
 external/bsd/tcpdump/dist/print-eigrp.c        |    4 +-
 external/bsd/tcpdump/dist/print-enc.c          |    4 +-
 external/bsd/tcpdump/dist/print-esp.c          |   17 +-
 external/bsd/tcpdump/dist/print-ether.c        |   34 +-
 external/bsd/tcpdump/dist/print-fddi.c         |   16 +-
 external/bsd/tcpdump/dist/print-forces.c       |   49 +-
 external/bsd/tcpdump/dist/print-fr.c           |  452 ++++++++++++----
 external/bsd/tcpdump/dist/print-frag6.c        |    4 +-
 external/bsd/tcpdump/dist/print-ftp.c          |    7 +-
 external/bsd/tcpdump/dist/print-geneve.c       |    8 +-
 external/bsd/tcpdump/dist/print-geonet.c       |   16 +-
 external/bsd/tcpdump/dist/print-gre.c          |   83 ++-
 external/bsd/tcpdump/dist/print-hncp.c         |  263 +++++++--
 external/bsd/tcpdump/dist/print-hsrp.c         |    8 +-
 external/bsd/tcpdump/dist/print-http.c         |    7 +-
 external/bsd/tcpdump/dist/print-icmp.c         |    4 +-
 external/bsd/tcpdump/dist/print-icmp6.c        |   30 +-
 external/bsd/tcpdump/dist/print-igmp.c         |   10 +-
 external/bsd/tcpdump/dist/print-igrp.c         |    4 +-
 external/bsd/tcpdump/dist/print-ip.c           |  114 ++-
 external/bsd/tcpdump/dist/print-ip6.c          |   21 +-
 external/bsd/tcpdump/dist/print-ip6opts.c      |    4 +-
 external/bsd/tcpdump/dist/print-ipcomp.c       |   55 +-
 external/bsd/tcpdump/dist/print-ipfc.c         |   18 +-
 external/bsd/tcpdump/dist/print-ipnet.c        |    4 +-
 external/bsd/tcpdump/dist/print-ipx.c          |    5 +-
 external/bsd/tcpdump/dist/print-isakmp.c       |  207 +++++-
 external/bsd/tcpdump/dist/print-isoclns.c      |  259 +++++----
 external/bsd/tcpdump/dist/print-juniper.c      |   16 +-
 external/bsd/tcpdump/dist/print-krb.c          |    4 +-
 external/bsd/tcpdump/dist/print-l2tp.c         |    4 +-
 external/bsd/tcpdump/dist/print-lane.c         |    4 +-
 external/bsd/tcpdump/dist/print-ldp.c          |   18 +-
 external/bsd/tcpdump/dist/print-lisp.c         |    7 +-
 external/bsd/tcpdump/dist/print-llc.c          |   56 +-
 external/bsd/tcpdump/dist/print-lldp.c         |   51 +-
 external/bsd/tcpdump/dist/print-lmp.c          |   10 +-
 external/bsd/tcpdump/dist/print-loopback.c     |   14 +-
 external/bsd/tcpdump/dist/print-lspping.c      |  634 +++++++++++++++-------
 external/bsd/tcpdump/dist/print-lwapp.c        |    8 +-
 external/bsd/tcpdump/dist/print-lwres.c        |    6 +-
 external/bsd/tcpdump/dist/print-m3ua.c         |    8 +-
 external/bsd/tcpdump/dist/print-medsa.c        |   15 +-
 external/bsd/tcpdump/dist/print-mobile.c       |    4 +-
 external/bsd/tcpdump/dist/print-mobility.c     |   25 +-
 external/bsd/tcpdump/dist/print-mpcp.c         |    6 +-
 external/bsd/tcpdump/dist/print-mpls.c         |   22 +-
 external/bsd/tcpdump/dist/print-mptcp.c        |    6 +-
 external/bsd/tcpdump/dist/print-msdp.c         |    4 +-
 external/bsd/tcpdump/dist/print-msnlb.c        |    4 +-
 external/bsd/tcpdump/dist/print-nflog.c        |    4 +-
 external/bsd/tcpdump/dist/print-nfs.c          |   42 +-
 external/bsd/tcpdump/dist/print-nsh.c          |   14 +-
 external/bsd/tcpdump/dist/print-ntp.c          |    5 +-
 external/bsd/tcpdump/dist/print-null.c         |    4 +-
 external/bsd/tcpdump/dist/print-olsr.c         |    8 +-
 external/bsd/tcpdump/dist/print-openflow-1.0.c |    4 +-
 external/bsd/tcpdump/dist/print-openflow.c     |    4 +-
 external/bsd/tcpdump/dist/print-ospf.c         |    5 +-
 external/bsd/tcpdump/dist/print-ospf6.c        |    4 +-
 external/bsd/tcpdump/dist/print-otv.c          |   38 +-
 external/bsd/tcpdump/dist/print-pflog.c        |    7 +-
 external/bsd/tcpdump/dist/print-pgm.c          |    4 +-
 external/bsd/tcpdump/dist/print-pim.c          |   33 +-
 external/bsd/tcpdump/dist/print-pktap.c        |   12 +-
 external/bsd/tcpdump/dist/print-ppi.c          |   10 +-
 external/bsd/tcpdump/dist/print-ppp.c          |   19 +-
 external/bsd/tcpdump/dist/print-pppoe.c        |    4 +-
 external/bsd/tcpdump/dist/print-pptp.c         |    4 +-
 external/bsd/tcpdump/dist/print-radius.c       |    8 +-
 external/bsd/tcpdump/dist/print-raw.c          |    4 +-
 external/bsd/tcpdump/dist/print-resp.c         |  415 ++++++++++----
 external/bsd/tcpdump/dist/print-rip.c          |    4 +-
 external/bsd/tcpdump/dist/print-ripng.c        |    4 +-
 external/bsd/tcpdump/dist/print-rpki-rtr.c     |   29 +-
 external/bsd/tcpdump/dist/print-rrcp.c         |   62 +-
 external/bsd/tcpdump/dist/print-rsvp.c         |   13 +-
 external/bsd/tcpdump/dist/print-rt6.c          |    4 +-
 external/bsd/tcpdump/dist/print-rtsp.c         |    7 +-
 external/bsd/tcpdump/dist/print-rx.c           |    7 +-
 external/bsd/tcpdump/dist/print-sctp.c         |    8 +-
 external/bsd/tcpdump/dist/print-sflow.c        |    8 +-
 external/bsd/tcpdump/dist/print-sip.c          |    4 +-
 external/bsd/tcpdump/dist/print-sl.c           |   10 +-
 external/bsd/tcpdump/dist/print-sll.c          |    6 +-
 external/bsd/tcpdump/dist/print-slow.c         |  271 ++++++---
 external/bsd/tcpdump/dist/print-smb.c          |   16 +-
 external/bsd/tcpdump/dist/print-smtp.c         |    4 +-
 external/bsd/tcpdump/dist/print-snmp.c         |  286 +++++----
 external/bsd/tcpdump/dist/print-stp.c          |  105 ++-
 external/bsd/tcpdump/dist/print-sunatm.c       |    4 +-
 external/bsd/tcpdump/dist/print-sunrpc.c       |    4 +-
 external/bsd/tcpdump/dist/print-symantec.c     |    6 +-
 external/bsd/tcpdump/dist/print-syslog.c       |    4 +-
 external/bsd/tcpdump/dist/print-tcp.c          |   57 +-
 external/bsd/tcpdump/dist/print-telnet.c       |   18 +-
 external/bsd/tcpdump/dist/print-tftp.c         |   90 ++-
 external/bsd/tcpdump/dist/print-timed.c        |    4 +-
 external/bsd/tcpdump/dist/print-tipc.c         |   17 +-
 external/bsd/tcpdump/dist/print-token.c        |   13 +-
 external/bsd/tcpdump/dist/print-udld.c         |    8 +-
 external/bsd/tcpdump/dist/print-udp.c          |   95 ++-
 external/bsd/tcpdump/dist/print-usb.c          |    4 +-
 external/bsd/tcpdump/dist/print-vjc.c          |    6 +-
 external/bsd/tcpdump/dist/print-vqp.c          |    6 +-
 external/bsd/tcpdump/dist/print-vrrp.c         |    4 +-
 external/bsd/tcpdump/dist/print-vtp.c          |   21 +-
 external/bsd/tcpdump/dist/print-vxlan-gpe.c    |    8 +-
 external/bsd/tcpdump/dist/print-vxlan.c        |    8 +-
 external/bsd/tcpdump/dist/print-wb.c           |    4 +-
 external/bsd/tcpdump/dist/print-zephyr.c       |    4 +-
 external/bsd/tcpdump/dist/print-zeromq.c       |   18 +-
 external/bsd/tcpdump/dist/print.c              |   13 +-
 external/bsd/tcpdump/dist/signature.c          |    6 +-
 external/bsd/tcpdump/dist/strtoaddr.c          |    4 +-
 external/bsd/tcpdump/dist/tcp.h                |    3 +-
 external/bsd/tcpdump/dist/tcpdump.1.in         |    2 +-
 external/bsd/tcpdump/dist/tcpdump.c            |  672 ++++++++++++++++--------
 external/bsd/tcpdump/dist/udp.h                |    4 +-
 external/bsd/tcpdump/dist/util-print.c         |  102 +++-
 external/bsd/tcpdump/dist/util.c               |  174 ------
 168 files changed, 4924 insertions(+), 2544 deletions(-)

diffs (truncated from 14915 to 300 lines):

diff -r a3582cfdc3ef -r 8605b92c1436 doc/3RDPARTY
--- a/doc/3RDPARTY      Sun Feb 05 03:06:04 2017 +0000
+++ b/doc/3RDPARTY      Sun Feb 05 04:05:05 2017 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: 3RDPARTY,v 1.1407 2017/02/04 10:56:10 spz Exp $
+#      $NetBSD: 3RDPARTY,v 1.1408 2017/02/05 04:05:05 spz Exp $
 #
 # This file contains a list of the software that has been integrated into
 # NetBSD where we are not the primary maintainer.
@@ -1296,13 +1296,13 @@
 Run cleantags before importing because sqlite3.c has an RCSID
 
 Package:       tcpdump
-Version:       4.8.1
-Current Vers:  4.8.1
+Version:       4.9.0
+Current Vers:  4.9.0
 Maintainer:    tcpdump-workers%lists.tcpdump.org@localhost
 Archive Site:  http://www.tcpdump.org/release/
 Home Page:     http://www.tcpdump.org/
 Mailing List:  tcpdump-workers%lists.tcpdump.org@localhost
-Responsible:
+Responsible:   
 License:       BSD (3-clause)
 Location:      external/bsd/tcpdump/dist
 Notes:
diff -r a3582cfdc3ef -r 8605b92c1436 external/bsd/tcpdump/bin/Makefile
--- a/external/bsd/tcpdump/bin/Makefile Sun Feb 05 03:06:04 2017 +0000
+++ b/external/bsd/tcpdump/bin/Makefile Sun Feb 05 04:05:05 2017 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.17 2017/01/24 23:29:13 christos Exp $     
+#      $NetBSD: Makefile,v 1.18 2017/02/05 04:05:05 spz Exp $  
 
 WARNS?=        1       # XXX: need to cleanup later
 
@@ -16,7 +16,7 @@
 MAN=   tcpdump.8 
 
 SRCS=  addrtoname.c cpack.c gmpls.c gmt2local.c machdep.c oui.c parsenfsfh.c \
-       setsignal.c smbutil.c tcpdump.c util.c checksum.c signature.c \
+       setsignal.c smbutil.c tcpdump.c netdissect.c checksum.c signature.c \
        l2vpn.c nlpid.c ipproto.c af.c in_cksum.c pf_print_state.c \
        util-print.c addrtostr.c ascii_strcasecmp.c print.c strtoaddr.c
 
diff -r a3582cfdc3ef -r 8605b92c1436 external/bsd/tcpdump/dist/README
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/tcpdump/dist/README  Sun Feb 05 04:05:05 2017 +0000
@@ -0,0 +1,243 @@
+# tcpdump
+
+[![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  
+
+Please send inquiries/comments/reports to:
+
+* tcpdump-workers%lists.tcpdump.org@localhost
+
+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  
+               Network Research Group <tcpdump%ee.lbl.gov@localhost>  
+               ftp://ftp.ee.lbl.gov/old/tcpdump.tar.Z (3.4)
+
+This directory contains source code for tcpdump, a tool for network
+monitoring and data acquisition.  This software was originally
+developed by the Network Research Group at the Lawrence Berkeley
+National Laboratory.  The original distribution is available via
+anonymous ftp to `ftp.ee.lbl.gov`, in `tcpdump.tar.Z`.  More recent
+development is performed at tcpdump.org, http://www.tcpdump.org/
+
+Tcpdump uses libpcap, a system-independent interface for user-level
+packet capture.  Before building tcpdump, you must first retrieve and
+build libpcap, also originally from LBL and now being maintained by
+tcpdump.org; see http://www.tcpdump.org/ .
+
+Once libpcap is built (either install it or make sure it's in
+`../libpcap`), you can build tcpdump using the procedure in the `INSTALL.txt`
+file.
+
+The program is loosely based on SMI's "etherfind" although none of the
+etherfind code remains.  It was originally written by Van Jacobson as
+part of an ongoing research project to investigate and improve tcp and
+internet gateway performance.  The parts of the program originally
+taken from Sun's etherfind were later re-written by Steven McCanne of
+LBL.  To insure that there would be no vestige of proprietary code in
+tcpdump, Steve wrote these pieces from the specification given by the
+manual entry, with no access to the source of tcpdump or etherfind.
+
+Over the past few years, tcpdump has been steadily improved by the
+excellent contributions from the Internet community (just browse
+through the `CHANGES` file).  We are grateful for all the input.
+
+Richard Stevens gives an excellent treatment of the Internet protocols
+in his book *"TCP/IP Illustrated, Volume 1"*. If you want to learn more
+about tcpdump and how to interpret its output, pick up this book.
+
+Some tools for viewing and analyzing tcpdump trace files are available
+from the Internet Traffic Archive:
+
+* http://www.sigcomm.org/ITA/
+
+Another tool that tcpdump users might find useful is tcpslice:
+
+* https://github.com/the-tcpdump-group/tcpslice
+
+It is a program that can be used to extract portions of tcpdump binary
+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@localhost".  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
+
+original text by: Steve McCanne, Craig Leres, Van Jacobson
+
+-------------------------------------
+```
+This directory also contains some short awk programs intended as
+examples of ways to reduce tcpdump data when you're tracking
+particular network problems:
+
+send-ack.awk
+       Simplifies the tcpdump trace for an ftp (or other unidirectional
+       tcp transfer).  Since we assume that one host only sends and
+       the other only acks, all address information is left off and
+       we just note if the packet is a "send" or an "ack".
+
+       There is one output line per line of the original trace.
+       Field 1 is the packet time in decimal seconds, relative
+       to the start of the conversation.  Field 2 is delta-time
+       from last packet.  Field 3 is packet type/direction.
+       "Send" means data going from sender to receiver, "ack"
+       means an ack going from the receiver to the sender.  A
+       preceding "*" indicates that the data is a retransmission.
+       A preceding "-" indicates a hole in the sequence space
+       (i.e., missing packet(s)), a "#" means an odd-size (not max
+       seg size) packet.  Field 4 has the packet flags
+       (same format as raw trace).  Field 5 is the sequence
+       number (start seq. num for sender, next expected seq number
+       for acks).  The number in parens following an ack is
+       the delta-time from the first send of the packet to the
+       ack.  A number in parens following a send is the
+       delta-time from the first send of the packet to the
+       current send (on duplicate packets only).  Duplicate
+       sends or acks have a number in square brackets showing
+       the number of duplicates so far.
+
+       Here is a short sample from near the start of an ftp:
+               3.00    0.20   send . 512
+               3.20    0.20    ack . 1024  (0.20)
+               3.20    0.00   send P 1024
+               3.40    0.20    ack . 1536  (0.20)
+               3.80    0.40 * send . 0  (3.80) [2]
+               3.82    0.02 *  ack . 1536  (0.62) [2]
+       Three seconds into the conversation, bytes 512 through 1023
+       were sent.  200ms later they were acked.  Shortly thereafter
+       bytes 1024-1535 were sent and again acked after 200ms.
+       Then, for no apparent reason, 0-511 is retransmitted, 3.8
+       seconds after its initial send (the round trip time for this
+       ftp was 1sec, +-500ms).  Since the receiver is expecting
+       1536, 1536 is re-acked when 0 arrives.
+
+packetdat.awk
+       Computes chunk summary data for an ftp (or similar
+       unidirectional tcp transfer). [A "chunk" refers to
+       a chunk of the sequence space -- essentially the packet
+       sequence number divided by the max segment size.]
+
+       A summary line is printed showing the number of chunks,
+       the number of packets it took to send that many chunks
+       (if there are no lost or duplicated packets, the number
+       of packets should equal the number of chunks) and the
+       number of acks.
+
+       Following the summary line is one line of information
+       per chunk.  The line contains eight fields:
+          1 - the chunk number
+          2 - the start sequence number for this chunk
+          3 - time of first send
+          4 - time of last send
+          5 - time of first ack
+          6 - time of last ack
+          7 - number of times chunk was sent
+          8 - number of times chunk was acked
+       (all times are in decimal seconds, relative to the start
+       of the conversation.)
+
+       As an example, here is the first part of the output for
+       an ftp trace:
+
+       # 134 chunks.  536 packets sent.  508 acks.
+       1       1       0.00    5.80    0.20    0.20    4       1
+       2       513     0.28    6.20    0.40    0.40    4       1
+       3       1025    1.16    6.32    1.20    1.20    4       1
+       4       1561    1.86    15.00   2.00    2.00    6       1
+       5       2049    2.16    15.44   2.20    2.20    5       1
+       6       2585    2.64    16.44   2.80    2.80    5       1
+       7       3073    3.00    16.66   3.20    3.20    4       1
+       8       3609    3.20    17.24   3.40    5.82    4       11
+       9       4097    6.02    6.58    6.20    6.80    2       5
+
+       This says that 134 chunks were transferred (about 70K
+       since the average packet size was 512 bytes).  It took
+       536 packets to transfer the data (i.e., on the average
+       each chunk was transmitted four times).  Looking at,
+       say, chunk 4, we see it represents the 512 bytes of
+       sequence space from 1561 to 2048.  It was first sent
+       1.86 seconds into the conversation.  It was last
+       sent 15 seconds into the conversation and was sent
+       a total of 6 times (i.e., it was retransmitted every
+       2 seconds on the average).  It was acked once, 140ms
+       after it first arrived.
+
+stime.awk
+atime.awk
+       Output one line per send or ack, respectively, in the form
+               <time> <seq. number>
+       where <time> is the time in seconds since the start of the
+       transfer and <seq. number> is the sequence number being sent
+       or acked.  I typically plot this data looking for suspicious
+       patterns.
+
+
+The problem I was looking at was the bulk-data-transfer
+throughput of medium delay network paths (1-6 sec.  round trip
+time) under typical DARPA Internet conditions.  The trace of the
+ftp transfer of a large file was used as the raw data source.
+The method was:
+
+  - On a local host (but not the Sun running tcpdump), connect to
+    the remote ftp.
+
+  - On the monitor Sun, start the trace going.  E.g.,
+      tcpdump host local-host and remote-host and port ftp-data >tracefile
+
+  - On local, do either a get or put of a large file (~500KB),
+    preferably to the null device (to minimize effects like
+    closing the receive window while waiting for a disk write).
+
+  - When transfer is finished, stop tcpdump.  Use awk to make up
+    two files of summary data (maxsize is the maximum packet size,
+    tracedata is the file of tcpdump tracedata):
+      awk -f send-ack.awk packetsize=avgsize tracedata >sa
+      awk -f packetdat.awk packetsize=avgsize tracedata >pd
+
+  - While the summary data files are printing, take a look at
+    how the transfer behaved:
+      awk -f stime.awk tracedata | xgraph
+    (90% of what you learn seems to happen in this step).
+
+  - Do all of the above steps several times, both directions,
+    at different times of day, with different protocol
+    implementations on the other end.
+
+  - Using one of the Unix data analysis packages (in my case,
+    S and Gary Perlman's Unix|Stat), spend a few months staring
+    at the data.
+
+  - Change something in the local protocol implementation and
+    redo the steps above.
+
+  - Once a week, tell your funding agent that you're discovering
+    wonderful things and you'll write up that research report
+    "real soon now".
+```
diff -r a3582cfdc3ef -r 8605b92c1436 external/bsd/tcpdump/dist/addrtoname.c
--- a/external/bsd/tcpdump/dist/addrtoname.c    Sun Feb 05 03:06:04 2017 +0000
+++ b/external/bsd/tcpdump/dist/addrtoname.c    Sun Feb 05 04:05:05 2017 +0000
@@ -23,7 +23,7 @@
  */
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: addrtoname.c,v 1.8 2017/01/24 23:29:13 christos Exp $");
+__RCSID("$NetBSD: addrtoname.c,v 1.9 2017/02/05 04:05:05 spz Exp $");



Home | Main Index | Thread Index | Old Index