Please note: This project is no longer active. The website is kept online for historic purposes only.
If you´re looking for a Linux driver for your Atheros WLAN device, you should continue here .

Ticket #1943 (new defect)

Opened 10 years ago

sk_buff->hard_header_len contains wrong LLC header size

Reported by: hugelshofer2006@gmx.ch Assigned to:
Priority: minor Milestone:
Component: madwifi: other Version: trunk
Keywords: mac header illegal size Cc:
Patch is attached: 0 Pending:

Description

I am analysing packets with Netfilter ULOG and noticed, that the mac header is not exported to userspace.

The problem is that field hard_header_len of kernel struct sk_buff contains a size, which is too long. Because it is greater than 80 the mac haeder is not copied to the ulog_packet_msg struct (see net/ipv4/netfilter/ipt_ULOG.c).

I patched the kernel to get the full mac haeder. Its size was set to 90B. Printing it showed, that following the actual LLC header part of the IP packet is included. This is probably, because the header and the packet is stored in a linear buffer. The correct size of the header would be 14B.

I reproduced this behaviour on Ubuntu Gutsy (linux 2.6.22-14, ath_hal 0.9.18.0, wlan 0.8.4.2, ath_pci 0.9.4.5) and on a Netgear router WG302 running OpenWrt? with Madwifi drivers from trunk (r3314).

No problems have been observed with an Orinoco wireless card.