summaryrefslogtreecommitdiff
path: root/emulators/dynamips/files/patch-gen_eth.c
diff options
context:
space:
mode:
authorNorikatsu Shigemura <nork@FreeBSD.org>2009-07-20 18:25:36 +0000
committerNorikatsu Shigemura <nork@FreeBSD.org>2009-07-20 18:25:36 +0000
commit26174263bb431bd643ec89b0875ecfea19dd4fe4 (patch)
tree3c39b43cdf3ff25677275068ac1424f4cebd73f6 /emulators/dynamips/files/patch-gen_eth.c
parento Update to 4.4.1. (diff)
o Fix -m 0001.0002.0003 (cisco format) option issue.
o Fix not real world communications via gen_eth (FreeBSD's libpcap) issue. o Take MAINTAINERship to myself. o Bump PORTREVISION accordingly. Approved by: fjoe (maintainer)
Diffstat (limited to 'emulators/dynamips/files/patch-gen_eth.c')
-rw-r--r--emulators/dynamips/files/patch-gen_eth.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/emulators/dynamips/files/patch-gen_eth.c b/emulators/dynamips/files/patch-gen_eth.c
new file mode 100644
index 000000000000..97f60cdd3222
--- /dev/null
+++ b/emulators/dynamips/files/patch-gen_eth.c
@@ -0,0 +1,26 @@
+--- gen_eth.c.orig 2007-05-26 18:52:33.000000000 +0900
++++ gen_eth.c 2009-07-21 03:18:35.194759073 +0900
+@@ -22,6 +22,7 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <sys/wait.h>
++#include <sys/ioctl.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <pthread.h>
+@@ -45,8 +46,13 @@
+ if (!(p = pcap_open_live(device,2048,TRUE,10,pcap_errbuf)))
+ goto pcap_error;
+
+- /* Accept only incoming packets */
+- pcap_setdirection(p,PCAP_D_IN);
++ pcap_setdirection(p,PCAP_D_INOUT);
++#ifdef BIOCFEEDBACK
++ {
++ int on = 1;
++ ioctl(pcap_fileno(p), BIOCFEEDBACK, &on);
++ }
++#endif
+ #else
+ p = pcap_open(device,2048,
+ PCAP_OPENFLAG_PROMISCUOUS |