Karl Gaissmaier wrote:

There are missing CASE statements for DLT_PRISM_HEADER in
the different filter checks and a modified gen_wlanhostop
to shift the packet the prism header length, but using the
same logic as for the DLT_IEEE802_11 link layer.

It requires more than that.

ARPHRD_PRISM is used in Linux both for the Prism and the AVS radio headers, so which header a packet has can be determined only by the generated BPF program checking the header.

The Prism header and the current AVS header have different lengths; this means that the link-layer header for DLT_PRISM_HEADER is variable-length, and libpcap currently can't generate code for variable-length link-layer headers.

The same is true for the other driver specific prepended 802.11
headers like DLT_IEEE802_11_RADIO

The radiotap header is also variable length, so the same problem exists.

and DLT_IEEE802_11_RADIO_AVS.

Currently, that's not used, because there's no ARPHRD_ value in Linux for the AVS header (unless it was recently introduced).
-
This is the tcpdump-workers list.
Visit https://lists.sandelman.ca/ to unsubscribe.

Reply via email to