tcpdump mailing list archives
libpcap pcap_sendpacket support across plaatforms.
From: "Mark Pizzolato" <List-tcpdump-workers () subscriptions pizzolato net>
Date: Fri, 12 Mar 2004 02:03:17 -0800
I've been working on a system simulator (simh http://simh.trailing-edge.com) which provides ethernet device emulation for the systems which originally had ethernet devices (i.e. vax, pdp11 and pdp10). The ethernet support for this package was originally implemented on Windows with Winpcap, and then ported back to other platforms leveraging the generic libpcap capabilities. The only lacking piece here, from an API poinit of view, has been pcap_sendpacket. Just to get by, we've had platform specific network code in the layer which uses libpcap to provide a pcap_sendpacket for the non Windows platforms. This only solves part of the problem since several platforms use pcap-bpf.c or pcap-pf.c or pcap-snit.c which open the network device O_RDONLY. To get useful functionality on these platforms, we've needed to hack pcap-bpf.c, or pcap-pf.c or pcap-snit.c and change O_RDONLY to O_RDWR. If would seem that the right thing to do is to generically include pcap_sendpacket and the related open requirements in the base pcap library. To that end, the attached set of patches implementes pcap_sendpacket where possible, and behaves reasonably otherwise. In pcap.h, I've messed with PCA_MINOR_VERSION in an attempt to have the code which uses pcap.h to have a compile time means of determinig if pcap_sendpacket is available: #if (_WIN32) || (PCAP_MAJOR_VERSION > 2) || ((PCAP_MAJOR_VERSION == 2) && (PCAP_MINOR_VERSION > 4)) #define HAS_PCAP_SENDPACKET 1 #endif Is there a better way to do this at compile time? I've tested this patched code on platforms which use pcap-bpf.c, pcap-linux.c, pcap-dlpi.c. If you accept this, I'll take a stab at updating the man page as well. Thanks. - Mark Pizzolato
Attachment:
pcap_sendpacket.patch
Description:
Current thread:
- libpcap pcap_sendpacket support across plaatforms. Mark Pizzolato (Mar 12)
- Re: libpcap pcap_sendpacket support across plaatforms. Guy Harris (Mar 12)
- Re: libpcap pcap_sendpacket support across platforms. Mark Pizzolato (Mar 13)
- Re: libpcap pcap_sendpacket support across platforms. Guy Harris (Mar 23)
- Re: libpcap pcap_sendpacket support across platforms. Michael Richardson (Mar 23)
- Re: libpcap pcap_sendpacket support across platforms. Jefferson Ogata (Mar 23)
- Re: libpcap pcap_sendpacket support across platforms. Guy Harris (Mar 23)
- Re: libpcap pcap_sendpacket support across platforms. Guy Harris (Mar 23)
- Message not available
- Re: libpcap pcap_sendpacket support across platforms. Guy Harris (Mar 23)
- Re: libpcap pcap_sendpacket support across platforms. Michael Richardson (Mar 23)
- Re: libpcap pcap_sendpacket support across platforms. Mark Pizzolato (Mar 13)
- Re: libpcap pcap_sendpacket support across plaatforms. Guy Harris (Mar 12)
- Re: libpcap pcap_sendpacket support across platforms. Richard Sharpe (Mar 23)