Thanks again, Joe!  I pushed this version of the patch.

--Justin


On Sep 4, 2012, at 8:25 PM, Joe Stringer <[email protected]> wrote:

> Other parts of OVS have moved on since the tcpdump patch was created. This
> commit brings the patch up to date and will compile cleanly against
> tcpdump-4.3.0.
> 
> Signed-off-by: Joe Stringer <[email protected]>
> ---
> v2: Fixed some over-80 char, whitespace and fuzz warnings.
> ---
> third-party/README            |    8 ++--
> third-party/ofp-tcpdump.patch |   69 +++++++++++++++++++++++------------------
> 2 files changed, 43 insertions(+), 34 deletions(-)
> 
> diff --git a/third-party/README b/third-party/README
> index 15f4d64..0f0e8a9 100644
> --- a/third-party/README
> +++ b/third-party/README
> @@ -4,14 +4,14 @@ debugging.
> tcpdump
> -------
> The "ofp-tcpdump.patch" patch adds the ability to parse OpenFlow
> -messages to tcpdump.  These instructions assume that tcpdump 3.9.8 
> +messages to tcpdump.  These instructions assume that tcpdump 4.3.0
> is going to be used, but it should work with other versions that are not
> substantially different.  To begin, download tcpdump and apply the
> patch:
> 
> -    wget http://www.tcpdump.org/release/tcpdump-3.9.8.tar.gz
> -    tar xzf tcpdump-3.9.8.tar.gz
> -    ln -s tcpdump-3.9.8 tcpdump
> +    wget http://www.tcpdump.org/release/tcpdump-4.3.0.tar.gz
> +    tar xzf tcpdump-4.3.0.tar.gz
> +    ln -s tcpdump-4.3.0 tcpdump
>     patch -p0 < ofp-tcpdump.patch
> 
> Then build the new version of tcpdump:
> diff --git a/third-party/ofp-tcpdump.patch b/third-party/ofp-tcpdump.patch
> index 73bb344..41de4eb 100644
> --- a/third-party/ofp-tcpdump.patch
> +++ b/third-party/ofp-tcpdump.patch
> @@ -1,6 +1,6 @@
> --- tcpdump/interface.h       2007-06-13 18:03:20.000000000 -0700
> +++ tcpdump/interface.h       2008-04-15 18:28:55.000000000 -0700
> -@@ -148,7 +148,8 @@
> +@@ -130,7 +130,8 @@
> 
>  extern const char *dnaddr_string(u_short);
> 
> @@ -10,18 +10,27 @@
>      __attribute__((noreturn, format (printf, 1, 2)));
>  extern void warning(const char *, ...) __attribute__ ((format (printf, 1, 
> 2)));
> 
> -@@ -176,6 +177,7 @@
> +@@ -163,6 +164,7 @@
>  extern void hex_print_with_offset(const char *, const u_char *, u_int, 
> u_int);
>  extern void hex_print(const char *, const u_char *, u_int);
>  extern void telnet_print(const u_char *, u_int);
> +extern void openflow_print(const u_char *, u_int);
> - extern int ether_encap_print(u_short, const u_char *, u_int, u_int, u_short 
> *);
>  extern int llc_print(const u_char *, u_int, u_int, const u_char *,
>       const u_char *, u_short *);
> ---- tcpdump/Makefile.in      2007-09-25 18:59:52.000000000 -0700
> -+++ tcpdump/Makefile.in      2009-05-11 15:59:28.000000000 -0700
> -@@ -49,10 +49,10 @@
> - CFLAGS = $(CCOPT) $(DEFS) $(INCLS)
> + extern int snap_print(const u_char *, u_int, u_int, u_int);
> +--- tcpdump/Makefile.in      2012-06-13 04:56:20.000000000 +1200
> ++++ tcpdump/Makefile.in      2012-08-29 21:36:37.000000000 +1200
> +@@ -43,7 +43,7 @@
> + CC = @CC@
> + PROG = tcpdump
> + CCOPT = @V_CCOPT@
> +-INCLS = -I. @V_INCLS@
> ++INCLS = -I. @V_INCLS@ -I../../include
> + DEFS = @DEFS@ @CPPFLAGS@ @V_DEFS@
> +
> + # Standard CFLAGS
> +@@ -51,10 +51,10 @@
> + FULL_CFLAGS = $(CCOPT) $(DEFS) $(INCLS) $(CFLAGS)
> 
>  # Standard LDFLAGS
> -LDFLAGS = @LDFLAGS@
> @@ -29,23 +38,23 @@
> 
>  # Standard LIBS
> -LIBS = @LIBS@
> -+LIBS = @LIBS@ -lopenvswitch
> ++LIBS = @LIBS@ -lopenvswitch -lssl -lrt -lm
> 
>  INSTALL = @INSTALL@
>  INSTALL_PROGRAM = @INSTALL_PROGRAM@
> -@@ -87,7 +87,8 @@
> -     print-slow.c print-snmp.c print-stp.c print-sunatm.c print-sunrpc.c \
> +@@ -93,7 +93,8 @@
>       print-symantec.c print-syslog.c print-tcp.c print-telnet.c print-tftp.c 
> \
> -     print-timed.c print-token.c print-udp.c print-vjc.c print-vrrp.c \
> --    print-wb.c print-zephyr.c setsignal.c tcpdump.c util.c
> -+    print-wb.c print-zephyr.c setsignal.c tcpdump.c util.c \
> +     print-timed.c print-tipc.c print-token.c print-udld.c print-udp.c \
> +     print-usb.c print-vjc.c print-vqp.c print-vrrp.c print-vtp.c \
> +-    print-wb.c print-zephyr.c signature.c setsignal.c tcpdump.c util.c
> ++    print-wb.c print-zephyr.c signature.c setsignal.c tcpdump.c util.c \
> +     print-openflow.c
> 
> - LOCALSRC = @LOCALSRC@
> - GENSRC = version.c
> + LIBNETDISSECT_SRC=print-isakmp.c
> + LIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o)
> --- tcpdump/print-openflow.c  1969-12-31 16:00:00.000000000 -0800
> +++ tcpdump/print-openflow.c  2009-05-11 15:38:41.000000000 -0700
> -@@ -0,0 +1,46 @@
> +@@ -0,0 +1,45 @@
> +/* Copyright (C) 2007, 2008, 2009 Nicira, Inc.
> +
> +   Redistribution and use in source and binary forms, with or without
> @@ -66,7 +75,6 @@
> +   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
> +   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
> + */
> -+ *
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> @@ -75,7 +83,7 @@
> +#include <stdlib.h>
> +
> +#include "interface.h"
> -+#include "../../include/openflow/openflow.h"
> ++#include "openflow/openflow.h"
> +#include "../../lib/ofp-print.h"
> +
> +void
> @@ -94,22 +102,23 @@
> +}
> --- tcpdump/print-tcp.c       2006-09-19 12:07:57.000000000 -0700
> +++ tcpdump/print-tcp.c       2009-05-11 15:38:25.000000000 -0700
> -@@ -52,6 +52,8 @@
> +@@ -56,6 +56,8 @@
> 
>  #include "nameser.h"
> 
> -+#include "../../include/openflow/openflow.h"
> ++#include "openflow/openflow.h"
> +
>  #ifdef HAVE_LIBCRYPTO
>  #include <openssl/md5.h>
> + #include <signature.h>
> +@@ -669,7 +672,9 @@
> +         }
> +         else if (length > 0 && (sport == LDP_PORT || dport == LDP_PORT)) {
> +                 ldp_print(bp, length);
> +-        }
> ++        } else if (sport == OFP_TCP_PORT || dport == OFP_TCP_PORT) {
> ++                   openflow_print(bp, length);
> ++        }
> 
> -@@ -680,7 +682,8 @@
> -             }
> -                 else if (length > 0 && (sport == LDP_PORT || dport == 
> LDP_PORT)) {
> -                         ldp_print(bp, length);
> --            }
> -+            } else if (sport == OFP_TCP_PORT || dport == OFP_TCP_PORT)
> -+                    openflow_print(bp, length);
> -     }
> -     return;
> - bad:
> +         return;
> +  bad:
> -- 
> 1.7.2.5
> 

_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to