Aaron Turner wrote:

Long story short, I just figured out that both pcap_inject() and
pcap_sendpacket() have the same problem (a bug in my code was hiding
the error returned by pcap_sendpacket()).

However the bug doesn't seem to affect directly sending using BPF
directly or using Libnet (which also goes through BPF on OS X).

I.e., if you directly call write() on a BPF device with a byte count > 1500, it succeeds in OS X 10.4.9?

Does your code do a BIOCSHDRCMPLT ioctl on the BPF device? (Libnet 1.1.2.1 doesn't appear to do so on OS X.) There appears to be a bug wherein the BPF write code in OS X, when the "header complete" mode is set on the BPF device, compares the *total* packet length, not the packet length minus the link-layer header length, against the MTU on the adapter, so a full-length packet is too big.
-
This is the tcpdump-workers list.
Visit https://cod.sandelman.ca/ to unsubscribe.

Reply via email to