1 # |
1 InfiniBand support for tcpdump. |
2 # InfiniBand support |
2 This is an in-house patch. Sent upstream for potential inclusion in future |
3 # |
3 versions of tcpdump. |
4 diff -N -u -r tcpdump-4.5.1.orig/interface.h tcpdump-4.5.1/interface.h |
4 |
5 --- tcpdump-4.5.1.orig/interface.h 2013-03-24 16:49:18.000000000 -0500 |
5 diff -rupN tcpdump-4.7.4-orig/interface.h tcpdump-4.7.4/interface.h |
6 +++ tcpdump-4.5.1/interface.h 2013-12-02 11:48:13.394398375 -0600 |
6 --- tcpdump-4.7.4-orig/interface.h 2015-05-26 14:13:17.000000000 -0700 |
7 @@ -205,6 +205,7 @@ |
7 +++ tcpdump-4.7.4/interface.h 2015-03-09 12:07:00.000000000 -0700 |
8 extern u_int pflog_if_print(const struct pcap_pkthdr *, const u_char *); |
8 @@ -162,6 +162,7 @@ extern uint16_t create_osi_cksum(const u |
9 extern u_int arcnet_if_print(const struct pcap_pkthdr *, const u_char *); |
9 |
10 extern u_int arcnet_linux_if_print(const struct pcap_pkthdr *, const u_char *); |
10 extern char *smb_errstr(int, int); |
|
11 extern const char *nt_errstr(uint32_t); |
11 +extern u_int ipoib_if_print(const struct pcap_pkthdr *, const u_char *); |
12 +extern u_int ipoib_if_print(const struct pcap_pkthdr *, const u_char *); |
12 extern u_int token_print(const u_char *, u_int, u_int); |
13 |
13 extern u_int token_if_print(const struct pcap_pkthdr *, const u_char *); |
14 #ifdef INET6 |
14 extern void fddi_print(const u_char *, u_int, u_int); |
15 extern int mask62plen(const u_char *); |
15 diff -N -u -r tcpdump-4.5.1.orig/Makefile.in tcpdump-4.5.1/Makefile.in |
16 diff -rupN tcpdump-4.7.4-orig/Makefile.in tcpdump-4.7.4/Makefile.in |
16 --- tcpdump-4.5.1.orig/Makefile.in 2013-03-24 16:49:18.000000000 -0500 |
17 --- tcpdump-4.7.4-orig/Makefile.in 2015-05-26 14:13:17.000000000 -0700 |
17 +++ tcpdump-4.5.1/Makefile.in 2013-12-02 11:47:25.102106791 -0600 |
18 +++ tcpdump-4.7.4/Makefile.in 2015-05-26 15:12:05.727800640 -0700 |
18 @@ -83,6 +83,7 @@ |
19 @@ -138,6 +138,7 @@ LIBNETDISSECT_SRC=\ |
19 print-esp.c print-ether.c print-fddi.c print-forces.c print-fr.c \ |
20 print-ipcomp.c \ |
20 print-gre.c print-hsrp.c print-icmp.c print-igmp.c \ |
21 print-ipfc.c \ |
21 print-igrp.c print-ip.c print-ipcomp.c print-ipfc.c print-ipnet.c \ |
22 print-ipnet.c \ |
22 + print-ipoib.c \ |
23 + print-ipoib.c \ |
23 print-ipx.c print-isoclns.c print-juniper.c print-krb.c \ |
24 print-ipx.c \ |
24 print-l2tp.c print-lane.c print-ldp.c print-lldp.c print-llc.c \ |
25 print-isakmp.c \ |
25 print-lmp.c print-lspping.c print-lwapp.c \ |
26 print-isoclns.c \ |
26 diff -N -u -r tcpdump-4.5.1.orig/netdissect.h tcpdump-4.5.1/netdissect.h |
27 diff -rupN tcpdump-4.7.4-orig/netdissect.h tcpdump-4.7.4/netdissect.h |
27 --- tcpdump-4.5.1.orig/netdissect.h 2013-03-24 16:49:18.000000000 -0500 |
28 --- tcpdump-4.7.4-orig/netdissect.h 2015-05-26 14:13:17.000000000 -0700 |
28 +++ tcpdump-4.5.1/netdissect.h 2013-12-02 11:48:46.057536548 -0600 |
29 +++ tcpdump-4.7.4/netdissect.h 2015-04-22 13:32:16.000000000 -0700 |
29 @@ -319,6 +319,7 @@ |
30 @@ -395,6 +395,7 @@ extern void ether_print(netdissect_optio |
30 |
31 |
31 extern u_int ether_if_print(netdissect_options *, |
32 extern u_int ether_if_print(netdissect_options *, |
32 const struct pcap_pkthdr *,const u_char *); |
33 const struct pcap_pkthdr *,const u_char *); |
33 +extern u_int ipoib_if_print(const struct pcap_pkthdr *, const u_char *); |
34 +extern u_int ipoib_if_print(const struct pcap_pkthdr *, const u_char *); |
34 extern u_int netanalyzer_if_print(netdissect_options *, |
35 extern u_int netanalyzer_if_print(netdissect_options *, |
35 const struct pcap_pkthdr *,const u_char *); |
36 const struct pcap_pkthdr *,const u_char *); |
36 extern u_int netanalyzer_transparent_if_print(netdissect_options *, |
37 extern u_int netanalyzer_transparent_if_print(netdissect_options *, |
37 diff -N -u -r tcpdump-4.5.1.orig/print-arp.c tcpdump-4.5.1/print-arp.c |
38 diff -rupN tcpdump-4.7.4-orig/print-arp.c tcpdump-4.7.4/print-arp.c |
38 --- tcpdump-4.5.1.orig/print-arp.c 2013-02-20 21:54:34.000000000 -0600 |
39 --- tcpdump-4.7.4-orig/print-arp.c 2015-05-26 14:13:17.000000000 -0700 |
39 +++ tcpdump-4.5.1/print-arp.c 2013-12-02 11:51:40.229231503 -0600 |
40 +++ tcpdump-4.7.4/print-arp.c 2015-03-09 12:07:00.000000000 -0700 |
40 @@ -58,6 +58,7 @@ |
41 @@ -55,6 +55,7 @@ struct arp_pkthdr { |
41 #define ARPHRD_ATM2225 19 /* ATM (RFC 2225) */ |
42 #define ARPHRD_ATM2225 19 /* ATM (RFC 2225) */ |
42 #define ARPHRD_STRIP 23 /* Ricochet Starmode Radio hardware format */ |
43 #define ARPHRD_STRIP 23 /* Ricochet Starmode Radio hardware format */ |
43 #define ARPHRD_IEEE1394 24 /* IEEE 1394 (FireWire) hardware format */ |
44 #define ARPHRD_IEEE1394 24 /* IEEE 1394 (FireWire) hardware format */ |
44 +#define ARPHRD_INFINIBAND 32 /* InfiniBand RFC 4391 */ |
45 +#define ARPHRD_INFINIBAND 32 /* InfiniBand RFC 4391 */ |
45 u_short ar_pro; /* format of protocol address */ |
46 u_short ar_pro; /* format of protocol address */ |
46 u_char ar_hln; /* length of hardware address */ |
47 u_char ar_hln; /* length of hardware address */ |
47 u_char ar_pln; /* length of protocol address */ |
48 u_char ar_pln; /* length of protocol address */ |
48 @@ -118,6 +119,7 @@ |
49 @@ -115,6 +115,7 @@ static const struct tok arphrd_values[] |
49 { ARPHRD_STRIP, "Strip" }, |
50 { ARPHRD_STRIP, "Strip" }, |
50 { ARPHRD_IEEE1394, "IEEE 1394" }, |
51 { ARPHRD_IEEE1394, "IEEE 1394" }, |
51 { ARPHRD_ATM2225, "ATM" }, |
52 { ARPHRD_ATM2225, "ATM" }, |
52 + { ARPHRD_INFINIBAND, "InfiniBand" }, |
53 + { ARPHRD_INFINIBAND, "InfiniBand" }, |
53 { 0, NULL } |
54 { 0, NULL } |
54 }; |
55 }; |
55 |
56 |
56 diff -N -u -r tcpdump-4.5.1.orig/print-ipoib.c tcpdump-4.5.1/print-ipoib.c |
57 diff -rupN tcpdump-4.7.4-orig/print-ipoib.c tcpdump-4.7.4/print-ipoib.c |
57 --- tcpdump-4.5.1.orig/print-ipoib.c 1969-12-31 18:00:00.000000000 -0600 |
58 --- tcpdump-4.7.4-orig/print-ipoib.c 1969-12-31 16:00:00.000000000 -0800 |
58 +++ tcpdump-4.5.1/print-ipoib.c 2013-12-02 11:53:24.664773530 -0600 |
59 +++ tcpdump-4.7.4/print-ipoib.c 2015-05-26 14:13:17.000000000 -0700 |
59 @@ -0,0 +1,131 @@ |
60 @@ -0,0 +1,132 @@ |
60 +/* |
61 +/* |
61 + * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
62 + * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
62 + * 1997, 2000, 2011, 2012 |
63 + * 1997, 2000, 2011, 2012 |
63 + * The Regents of the University of California. All rights reserved. |
64 + * The Regents of the University of California. All rights reserved. |
64 + * |
65 + * |