You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.0 KiB
67 lines
2.0 KiB
From 59a65c3d24289661dc444e3c303fbd880de5b6e0 Mon Sep 17 00:00:00 2001 |
|
From: rpm-build <rpm-build> |
|
Date: Tue, 15 Aug 2017 09:59:02 +0200 |
|
Subject: [PATCH] Add support for AF_VSOCK |
|
|
|
Backported from here: |
|
https://github.com/the-tcpdump-group/libpcap/commit/8fe43bb140f1b5dd193a76b89e379a27847a9391 |
|
and extended with DLT_VSOCK definition from upstream pcap/dlt.h file. |
|
--- |
|
pcap-linux.c | 6 ++++++ |
|
pcap.c | 1 + |
|
pcap/bpf.h | 10 +++++++++- |
|
3 files changed, 16 insertions(+), 1 deletion(-) |
|
|
|
diff --git a/pcap-linux.c b/pcap-linux.c |
|
index d7149d5..0bfc77a 100644 |
|
--- a/pcap-linux.c |
|
+++ b/pcap-linux.c |
|
@@ -2995,6 +2995,12 @@ static void map_arphrd_to_dlt(pcap_t *handle, int arptype, int cooked_ok) |
|
|
|
/* handlep->cooked = 1; */ |
|
break; |
|
+#ifndef ARPHRD_VSOCKMON |
|
+#define ARPHRD_VSOCKMON 826 |
|
+#endif |
|
+ case ARPHRD_VSOCKMON: |
|
+ handle->linktype = DLT_VSOCK; |
|
+ break; |
|
|
|
default: |
|
handle->linktype = -1; |
|
diff --git a/pcap.c b/pcap.c |
|
index 7b834af..ce5ade8 100644 |
|
--- a/pcap.c |
|
+++ b/pcap.c |
|
@@ -1210,6 +1210,7 @@ static struct dlt_choice dlt_choices[] = { |
|
DLT_CHOICE(DLT_IPOIB, "RFC 4391 IP-over-Infiniband"), |
|
DLT_CHOICE(DLT_DBUS, "D-Bus"), |
|
DLT_CHOICE(DLT_NETLINK, "Linux netlink"), |
|
+ DLT_CHOICE(DLT_VSOCK, "Linux vsock"), |
|
DLT_CHOICE_SENTINEL |
|
}; |
|
|
|
diff --git a/pcap/bpf.h b/pcap/bpf.h |
|
index 29efd7e..22bff1e 100644 |
|
--- a/pcap/bpf.h |
|
+++ b/pcap/bpf.h |
|
@@ -1232,7 +1232,15 @@ struct bpf_program { |
|
*/ |
|
#define DLT_NETLINK 253 |
|
|
|
-#define DLT_MATCHING_MAX 253 /* highest value in the "matching" range */ |
|
+#define DLT_MATCHING_MAX 271 /* highest value in the "matching" range */ |
|
+ |
|
+/* |
|
+ * per: Stefanha at gmail.com for |
|
+ * http://lists.sandelman.ca/pipermail/tcpdump-workers/2017-May/000772.html |
|
+ * and: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/vsockmon.h |
|
+ * for: http://qemu-project.org/Features/VirtioVsock |
|
+ */ |
|
+#define DLT_VSOCK 271 |
|
|
|
/* |
|
* DLT and savefile link type values are split into a class and |
|
-- |
|
2.13.5 |
|
|
|
|