summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-05-20 16:02:52 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-05-20 16:02:52 +0000
commitdb49441d032fa3bff147a19de52e3e95aac9539f (patch)
tree6cbacc13b86ca9518475efc1a9df78ef190657a5 /debian
parent0091508b2a32762a0c4cc3be972fee0973db915c (diff)
patches/libmachdev.patch: Fix packet delivery on pfinet restart.
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog3
-rw-r--r--debian/patches/libmachdev.patch39
-rw-r--r--debian/patches/series1
3 files changed, 42 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index b3064036..f98b88a7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,7 +7,8 @@ hurd (20120520-1) UNRELEASED; urgency=low
* local/setup-translators:
- Setup netdde translator and /dev/eth*.
- Add hd4 and hd5 /dev entries, for some SATA controlers.
- * debian/hurd.postinst: Migrate pfinet into using /dev/eth0.
+ * hurd.postinst: Migrate pfinet into using /dev/eth0.
+ * patches/libmachdev.patch: Fix packet delivery on pfinet restart.
-- Samuel Thibault <sthibault@debian.org> Thu, 03 May 2012 01:53:00 +0200
diff --git a/debian/patches/libmachdev.patch b/debian/patches/libmachdev.patch
new file mode 100644
index 00000000..864de7e8
--- /dev/null
+++ b/debian/patches/libmachdev.patch
@@ -0,0 +1,39 @@
+diff --git a/libmachdev/net.c b/libmachdev/net.c
+index 606765f..a892d1f 100644
+--- a/libmachdev/net.c
++++ b/libmachdev/net.c
+@@ -212,7 +212,7 @@ deliver_msg(struct net_rcv_msg *msg, if_filter_list_t *ifp)
+ MACH_SEND_MSG|MACH_SEND_TIMEOUT,
+ msg->msg_hdr.msgh_size, 0, MACH_PORT_NULL,
+ 0, MACH_PORT_NULL);
+- if (err != MACH_MSG_SUCCESS)
++ if (0 && err != MACH_MSG_SUCCESS)
+ {
+ mach_port_deallocate(mach_task_self (),
+ ((mach_msg_header_t *)msg)->msgh_remote_port);
+diff --git a/libbpf/bpf_impl.c b/libbpf/bpf_impl.c
+index b2dafd1..c8a250b 100644
+--- a/libbpf/bpf_impl.c
++++ b/libbpf/bpf_impl.c
+@@ -45,6 +45,8 @@
+ #include "queue.h"
+ #include "util.h"
+
++static struct net_hash_header filter_hash_header[N_NET_HASH];
++
+ /*
+ * Execute the filter program starting at pc on the packet p
+ * wirelen is the length of the original packet
+diff --git a/libbpf/bpf_impl.h b/libbpf/bpf_impl.h
+index e611491..9073fda 100644
+--- a/libbpf/bpf_impl.h
++++ b/libbpf/bpf_impl.h
+@@ -134,7 +134,7 @@ struct net_hash_header {
+ int n_keys; /* zero if not used */
+ int ref_count; /* reference count */
+ net_hash_entry_t table[NET_HASH_SIZE];
+-} filter_hash_header[N_NET_HASH];
++};
+
+ typedef struct net_hash_header *net_hash_header_t;
+
diff --git a/debian/patches/series b/debian/patches/series
index c4c3db04..767cb791 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -47,3 +47,4 @@ libdde_pr_cont.patch
libdde_fixes.patch
libdde_rx_queue.patch
libdde_rcu.patch
+libmachdev.patch