mirror of
				https://github.com/openvswitch/ovs
				synced 2025-10-29 15:28:56 +00:00 
			
		
		
		
	The recently introduced use of libtool, in commit 38b7a52b61
(openvswitch: Use libtool and allow building shared libs) broke the
tcpdump patch.  This fixes the problem.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Justin Pettit <jpettit@nicira.com>
		
	
		
			
				
	
	
		
			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 "../../lib/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_OLD_PORT || dport == OFP_OLD_PORT) {
 | |
| +                   openflow_print(bp, length);
 | |
| +        }
 | |
|  
 | |
|          return;
 | |
|   bad:
 |