svn commit: r197829 - head/contrib/tcpdump

Rui Paulo rpaulo at FreeBSD.org
Wed Oct 7 09:07:08 UTC 2009


Author: rpaulo
Date: Wed Oct  7 09:07:06 2009
New Revision: 197829
URL: http://svn.freebsd.org/changeset/base/197829

Log:
  Add parsing code for TCP UTO (User Timeout Option).
  
  Submitted by:	fangwang@
  Obtained from:	//depot/projects/soc2009/tcputo/

Modified:
  head/contrib/tcpdump/print-tcp.c
  head/contrib/tcpdump/tcp.h

Modified: head/contrib/tcpdump/print-tcp.c
==============================================================================
--- head/contrib/tcpdump/print-tcp.c	Wed Oct  7 08:43:06 2009	(r197828)
+++ head/contrib/tcpdump/print-tcp.c	Wed Oct  7 09:07:06 2009	(r197829)
@@ -124,6 +124,7 @@ struct tok tcp_option_values[] = {
         { TCPOPT_CCECHO, "" },
         { TCPOPT_SIGNATURE, "md5" },
         { TCPOPT_AUTH, "enhanced auth" },
+        { TCPOPT_UTO, "uto" },
         { 0, NULL }
 };
 
@@ -613,6 +614,17 @@ tcp_print(register const u_char *bp, reg
                                  */
                                 break;
 
+                        case TCPOPT_UTO:
+                                datalen = 2;
+                                LENCHECK(datalen);
+                                uint utoval = EXTRACT_16BITS(cp);
+                                if (utoval & 0x0001)
+                                        utoval = (utoval >> 1) * 60;
+                                else
+                                        utoval >>= 1;
+                                (void)printf(" %u", utoval);
+                                break;
+
                         default:
                                 datalen = len - 2;
                                 for (i = 0; i < datalen; ++i) {

Modified: head/contrib/tcpdump/tcp.h
==============================================================================
--- head/contrib/tcpdump/tcp.h	Wed Oct  7 08:43:06 2009	(r197828)
+++ head/contrib/tcpdump/tcp.h	Wed Oct  7 09:07:06 2009	(r197829)
@@ -83,6 +83,8 @@ struct tcphdr {
 #define    TCPOLEN_SIGNATURE		18
 #define TCP_SIGLEN 16			/* length of an option 19 digest */
 #define TCPOPT_AUTH             20      /* Enhanced AUTH option */
+#define	TCPOPT_UTO		28	/* tcp user timeout (rfc5482) */
+#define	   TCPOLEN_UTO			4
 
 #define TCPOPT_TSTAMP_HDR	\
     (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP)


More information about the svn-src-all mailing list