author | Mike Sullivan <Mike.Sullivan@Oracle.COM> |
Fri, 07 Apr 2017 17:56:36 -0700 | |
changeset 7851 | f82a18f72950 |
parent 7674 | e5be4a3b0c32 |
permissions | -rw-r--r-- |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
1 |
InfiniBand support for tcpdump. |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
2 |
This is an in-house patch. Sent upstream for potential inclusion in future |
4468
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
3 |
versions of tcpdump. |
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
4 |
|
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
5 |
--- tcpdump-4.9.0/Makefile.in.orig 2017-01-29 12:23:58.596267167 +0000 |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
6 |
+++ tcpdump-4.9.0/Makefile.in 2017-01-29 12:49:27.808281048 +0000 |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
7 |
@@ -147,6 +147,7 @@ |
4468
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
8 |
print-ipcomp.c \ |
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
9 |
print-ipfc.c \ |
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
10 |
print-ipnet.c \ |
1632
fd2ec3291103
17868656 Update tcpdump to 4.5.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1001
diff
changeset
|
11 |
+ print-ipoib.c \ |
4468
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
12 |
print-ipx.c \ |
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
13 |
print-isakmp.c \ |
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
14 |
print-isoclns.c \ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
15 |
--- tcpdump-4.9.0/netdissect.h.orig 2017-01-29 12:25:29.886259423 +0000 |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
16 |
+++ tcpdump-4.9.0/netdissect.h 2017-01-29 12:27:00.348907240 +0000 |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
17 |
@@ -410,6 +410,7 @@ |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
18 |
extern u_int ieee802_11_radio_if_print IF_PRINTER_ARGS; |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
19 |
extern u_int ieee802_15_4_if_print IF_PRINTER_ARGS; |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
20 |
extern u_int ipfc_if_print IF_PRINTER_ARGS; |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
21 |
+extern u_int ipoib_if_print IF_PRINTER_ARGS; |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
22 |
extern u_int ipnet_if_print IF_PRINTER_ARGS; |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
23 |
extern u_int juniper_atm1_print IF_PRINTER_ARGS; |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
24 |
extern u_int juniper_atm2_print IF_PRINTER_ARGS; |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
25 |
--- tcpdump-4.9.0/print-arp.c.orig 2017-01-29 12:27:35.797281364 +0000 |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
26 |
+++ tcpdump-4.9.0/print-arp.c 2017-01-29 12:28:48.668009704 +0000 |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
27 |
@@ -56,6 +56,7 @@ |
1632
fd2ec3291103
17868656 Update tcpdump to 4.5.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1001
diff
changeset
|
28 |
#define ARPHRD_ATM2225 19 /* ATM (RFC 2225) */ |
fd2ec3291103
17868656 Update tcpdump to 4.5.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1001
diff
changeset
|
29 |
#define ARPHRD_STRIP 23 /* Ricochet Starmode Radio hardware format */ |
fd2ec3291103
17868656 Update tcpdump to 4.5.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1001
diff
changeset
|
30 |
#define ARPHRD_IEEE1394 24 /* IEEE 1394 (FireWire) hardware format */ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
31 |
+#define ARPHRD_INFINIBAND 32 /* InfiniBand RFC 4391 */ |
1632
fd2ec3291103
17868656 Update tcpdump to 4.5.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1001
diff
changeset
|
32 |
u_short ar_pro; /* format of protocol address */ |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
33 |
u_char ar_hln; /* length of hardware address */ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
34 |
u_char ar_pln; /* length of protocol address */ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
35 |
@@ -116,6 +117,7 @@ |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
36 |
{ ARPHRD_STRIP, "Strip" }, |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
37 |
{ ARPHRD_IEEE1394, "IEEE 1394" }, |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
38 |
{ ARPHRD_ATM2225, "ATM" }, |
1632
fd2ec3291103
17868656 Update tcpdump to 4.5.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1001
diff
changeset
|
39 |
+ { ARPHRD_INFINIBAND, "InfiniBand" }, |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
40 |
{ 0, NULL } |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
41 |
}; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
42 |
|
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
43 |
--- tcpdump-4.9.0/print-ipoib.c.orig 2017-01-29 12:30:15.468355816 +0000 |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
44 |
+++ tcpdump-4.9.0/print-ipoib.c 2017-01-29 13:24:49.576498883 +0000 |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
45 |
@@ -0,0 +1,131 @@ |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
46 |
+/* |
1001
cc349e8980c4
7196707 update tcpdump to 4.3.0
Srinivasa Sarva <Srinivasa.Sarva@oracle.com>
parents:
442
diff
changeset
|
47 |
+ * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
cc349e8980c4
7196707 update tcpdump to 4.3.0
Srinivasa Sarva <Srinivasa.Sarva@oracle.com>
parents:
442
diff
changeset
|
48 |
+ * 1997, 2000, 2011, 2012 |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
49 |
+ * The Regents of the University of California. All rights reserved. |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
50 |
+ * |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
51 |
+ * Redistribution and use in source and binary forms, with or without |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
52 |
+ * modification, are permitted provided that: (1) source code distributions |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
53 |
+ * retain the above copyright notice and this paragraph in its entirety, (2) |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
54 |
+ * distributions including binary code include the above copyright notice and |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
55 |
+ * this paragraph in its entirety in the documentation or other materials |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
56 |
+ * provided with the distribution, and (3) all advertising materials mentioning |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
57 |
+ * features or use of this software display the following acknowledgement: |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
58 |
+ * ``This product includes software developed by the University of California, |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
59 |
+ * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
60 |
+ * the University nor the names of its contributors may be used to endorse |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
61 |
+ * or promote products derived from this software without specific prior |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
62 |
+ * written permission. |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
63 |
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
64 |
+ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
65 |
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
66 |
+ */ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
67 |
+/* |
5469
faa7a540ddba
22538532 solaris11.2/11.3 tcpdump can't analyze IPoIB packets
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4468
diff
changeset
|
68 |
+ * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
69 |
+ */ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
70 |
+#ifndef lint |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
71 |
+static const char rcsid[] _U_ = |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
72 |
+ "@(#) $Header$"; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
73 |
+#endif |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
74 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
75 |
+#ifdef HAVE_CONFIG_H |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
76 |
+#include "config.h" |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
77 |
+#endif |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
78 |
+ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
79 |
+#include <netdissect-stdinc.h> |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
80 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
81 |
+#include <stdio.h> |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
82 |
+#include <pcap.h> |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
83 |
+ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
84 |
+#include "netdissect.h" |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
85 |
+#include "extract.h" |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
86 |
+#include "addrtoname.h" |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
87 |
+ |
4468
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
88 |
+ |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
89 |
+extern const struct tok ethertype_values[]; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
90 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
91 |
+#define IPOIB_HDRLEN 44 |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
92 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
93 |
+static inline void |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
94 |
+ipoib_hdr_print(netdissect_options *ndo, const u_char *bp, u_int length) |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
95 |
+{ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
96 |
+ u_int16_t ether_type; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
97 |
+ char abuf[40]; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
98 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
99 |
+ ether_type = EXTRACT_16BITS(&bp[40]); |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
100 |
+ if (!ndo->ndo_qflag) { |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
101 |
+ (void)printf(", ethertype %s (0x%04x)", |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
102 |
+ tok2str(ethertype_values,"Unknown", ether_type), |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
103 |
+ ether_type); |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
104 |
+ } else { |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
105 |
+ (void)printf(", ethertype %s", |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
106 |
+ tok2str(ethertype_values,"Unknown", ether_type)); |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
107 |
+ } |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
108 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
109 |
+ (void)printf(", length %u: ", length); |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
110 |
+} |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
111 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
112 |
+/* |
1632
fd2ec3291103
17868656 Update tcpdump to 4.5.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
1001
diff
changeset
|
113 |
+ * Print an InfiniBand frame. |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
114 |
+ * This might be encapsulated within another frame; we might be passed |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
115 |
+ * a pointer to a function that can print header information for that |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
116 |
+ * frame's protocol, and an argument to pass to that function. |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
117 |
+ */ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
118 |
+static void |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
119 |
+ipoib_print(netdissect_options *ndo, const u_char *p, u_int length, u_int caplen, |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
120 |
+ void (*print_encap_header)(const u_char *), const u_char *encap_header_arg) |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
121 |
+{ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
122 |
+ const u_char *orig_hdr = p; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
123 |
+ u_int orig_length; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
124 |
+ u_short ether_type; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
125 |
+ u_short extracted_ether_type; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
126 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
127 |
+ if (caplen < IPOIB_HDRLEN || length < IPOIB_HDRLEN) { |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
128 |
+ printf("[|ipoib]"); |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
129 |
+ return; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
130 |
+ } |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
131 |
+ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
132 |
+ if (ndo->ndo_eflag) { |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
133 |
+ if (print_encap_header != NULL) |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
134 |
+ (*print_encap_header)(encap_header_arg); |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
135 |
+ ipoib_hdr_print(ndo, p, length); |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
136 |
+ } |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
137 |
+ orig_length = length; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
138 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
139 |
+ length -= IPOIB_HDRLEN; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
140 |
+ caplen -= IPOIB_HDRLEN; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
141 |
+ ether_type = EXTRACT_16BITS(&p[40]); |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
142 |
+ p += IPOIB_HDRLEN; |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
143 |
+ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
144 |
+ if (ethertype_print(ndo, ether_type, p, length, caplen, NULL, NULL) == 0) { |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
145 |
+ /* ether_type not known, print raw packet */ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
146 |
+ if (!ndo->ndo_eflag) { |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
147 |
+ if (print_encap_header != NULL) |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
148 |
+ (*print_encap_header)(encap_header_arg); |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
149 |
+ ipoib_hdr_print(ndo, orig_hdr , orig_length); |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
150 |
+ } |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
151 |
+ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
152 |
+ if (!ndo->ndo_suppress_default_print) |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
153 |
+ ND_DEFAULTPRINT(p, caplen); |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
154 |
+ } |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
155 |
+} |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
156 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
157 |
+/* |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
158 |
+ * This is the top level routine of the printer. 'p' points |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
159 |
+ * to the ether header of the packet, 'h->ts' is the timestamp, |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
160 |
+ * 'h->len' is the length of the packet off the wire, and 'h->caplen' |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
161 |
+ * is the number of bytes actually captured. |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
162 |
+ */ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
163 |
+u_int |
5469
faa7a540ddba
22538532 solaris11.2/11.3 tcpdump can't analyze IPoIB packets
Petr Sumbera <petr.sumbera@oracle.com>
parents:
4468
diff
changeset
|
164 |
+ipoib_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, const u_char *p) |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
165 |
+{ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
166 |
+ ipoib_print(ndo, p, h->len, h->caplen, NULL, NULL); |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
167 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
168 |
+ return (IPOIB_HDRLEN); |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
169 |
+} |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
170 |
+ |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
171 |
+/* |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
172 |
+ * Local Variables: |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
173 |
+ * c-style: whitesmith |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
174 |
+ * c-basic-offset: 8 |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
175 |
+ * End: |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
176 |
+ */ |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
177 |
--- tcpdump-4.9.0/print.c.orig 2017-01-29 12:32:40.142061378 +0000 |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
178 |
+++ tcpdump-4.9.0/print.c 2017-01-29 12:38:05.641526344 +0000 |
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
179 |
@@ -99,6 +99,9 @@ |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
180 |
#ifdef DLT_IPV6 |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
181 |
{ raw_if_print, DLT_IPV6 }, |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
182 |
#endif |
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
183 |
+#ifdef DLT_IPOIB |
7674
e5be4a3b0c32
25466336 Update tcpdump to version 4.9.0
Rich Burridge <rich.burridge@oracle.com>
parents:
5469
diff
changeset
|
184 |
+ { ipoib_if_print, DLT_IPOIB }, |
442
d0e244fcfff1
7003338 infiniband adapters do not work with tcpdump
Darren Reed <Darren.Reed@Oracle.COM>
parents:
diff
changeset
|
185 |
+#endif |
4468
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
186 |
#ifdef HAVE_PCAP_USB_H |
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
187 |
#ifdef DLT_USB_LINUX |
2f1bf786d396
20852967 update to tcpdump 4.7.4
Stacy Yeh <stacy.yeh@oracle.com>
parents:
1632
diff
changeset
|
188 |
{ usb_linux_48_byte_print, DLT_USB_LINUX}, |