tcpdump mailing list archives

Re: libpcap pcap_sendpacket support across platforms.


From: Guy Harris <gharris () sonic net>
Date: Tue, 23 Mar 2004 22:50:07 -0800

On Tue, Mar 23, 2004 at 04:56:43PM -0800, Mark Pizzolato wrote:
on Linux, the version I checked in uses "sendto()", as that's
what libnet did;

Hmmmm..  I didn't check with libnet since I had simple working code with a
very basic send().

What you checked in is broken.  It has an extra right paren on line 687, and
after that is fixed, line 725 refers to an undefined sa instead of sa_pkt.
The attached cleans things up a bit.

Checked in.

I wonder where the sendto() stuff is really necessary.  The simple send()
worked for us on RH 7.3-Fedora Core1 on Intel.  And RH 6.2 on Sparc, and
numerous other linux environments.  We've never gotten a complaint....

Mike S.?  Is the "sendto()" just there because libnet doesn't bind the
socket?  If so, a "send()" would work.

on SunOS 4.x with STREAMS NIT, the code I checked in uses
"putmsg()" - libnet and your code used "sendto()", but, as I
remember, the Network Appliance code used "putmsg()", which is
what I'd expect to be the correct call to use on a STREAMS-based
mechanism.

Since I didn't have any other reference and don't have a test environment, I
worked from what I presumed to be correct in libnet.

Mike S.?  Does the libnet code work on SunOS 4.x?  I'm not sure a
"sendto()" would work on a STREAMS NIT descriptor in 4.x.  In FreeBSD
3.4, it only works on sockets; if that's the way it's been in BSD for a
while, that might be how it was in 4.x - I don't remember support for it
being added for non-socket descriptors in 4.0.
-
This is the TCPDUMP workers list. It is archived at
http://www.tcpdump.org/lists/workers/index.html
To unsubscribe use mailto:tcpdump-workers-request () tcpdump org?body=unsubscribe


Current thread: