mirror of
https://github.com/openvswitch/ovs
synced 2025-08-22 01:51:26 +00:00
Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
134 lines
4.2 KiB
Diff
134 lines
4.2 KiB
Diff
--- tcpdump/interface.h 2007-06-13 18:03:20.000000000 -0700
|
|
+++ tcpdump/interface.h 2008-04-15 18:28:55.000000000 -0700
|
|
@@ -130,7 +130,8 @@
|
|
|
|
extern const char *dnaddr_string(u_short);
|
|
|
|
-extern void error(const char *, ...)
|
|
+#define error(fmt, args...) tcpdump_error(fmt, ## args)
|
|
+extern void tcpdump_error(const char *, ...)
|
|
__attribute__((noreturn, format (printf, 1, 2)));
|
|
extern void warning(const char *, ...) __attribute__ ((format (printf, 1, 2)));
|
|
|
|
@@ -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 llc_print(const u_char *, u_int, u_int, const u_char *,
|
|
const u_char *, u_short *);
|
|
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@
|
|
+LDFLAGS = @LDFLAGS@ -L../../lib
|
|
|
|
# Standard LIBS
|
|
-LIBS = @LIBS@
|
|
+LIBS = @LIBS@ -lopenvswitch -lssl -lrt -lm
|
|
|
|
INSTALL = @INSTALL@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
@@ -93,7 +93,8 @@
|
|
print-symantec.c print-syslog.c print-tcp.c print-telnet.c print-tftp.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
|
|
|
|
LIBNETDISSECT_SRC=print-isakmp.c
|
|
LIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o)
|
|
@@ -363,7 +364,7 @@ all: $(PROG)
|
|
|
|
$(PROG): $(OBJ)
|
|
@rm -f $@
|
|
- $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
|
|
+ libtool --mode=link $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
|
|
|
|
$(LIBNETDISSECT): $(LIBNETDISSECT_OBJ)
|
|
@rm -f $@
|
|
--- 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,45 @@
|
|
+/* Copyright (C) 2007, 2008, 2009 Nicira, Inc.
|
|
+
|
|
+ Redistribution and use in source and binary forms, with or without
|
|
+ modification, are permitted provided that the following conditions
|
|
+ are met:
|
|
+
|
|
+ 1. Redistributions of source code must retain the above copyright
|
|
+ notice, this list of conditions and the following disclaimer.
|
|
+ 2. Redistributions in binary form must reproduce the above copyright
|
|
+ notice, this list of conditions and the following disclaimer in
|
|
+ the documentation and/or other materials provided with the
|
|
+ distribution.
|
|
+ 3. The names of the authors may not be used to endorse or promote
|
|
+ products derived from this software without specific prior
|
|
+ written permission.
|
|
+
|
|
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
|
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
|
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
+ */
|
|
+
|
|
+#ifdef HAVE_CONFIG_H
|
|
+#include "config.h"
|
|
+#endif
|
|
+
|
|
+#include <stdlib.h>
|
|
+
|
|
+#include "interface.h"
|
|
+#include "openflow/openflow.h"
|
|
+#include "openvswitch/ofp-print.h"
|
|
+
|
|
+void
|
|
+openflow_print(const u_char *sp, u_int length)
|
|
+{
|
|
+ const struct ofp_header *ofp = (struct ofp_header *)sp;
|
|
+
|
|
+ if (!TTEST2(*sp, ntohs(ofp->length)))
|
|
+ goto trunc;
|
|
+
|
|
+ ofp_print(stdout, sp, length, vflag);
|
|
+ return;
|
|
+
|
|
+trunc:
|
|
+ printf("[|openflow]");
|
|
+}
|
|
--- tcpdump/print-tcp.c 2006-09-19 12:07:57.000000000 -0700
|
|
+++ tcpdump/print-tcp.c 2009-05-11 15:38:25.000000000 -0700
|
|
@@ -56,6 +56,8 @@
|
|
|
|
#include "nameser.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_PORT || dport == OFP_PORT) {
|
|
+ openflow_print(bp, length);
|
|
+ }
|
|
|
|
return;
|
|
bad:
|