wireless: clean up radiotap a bit

No need to pad the header so no constant needed for that,
no need to carry any version number from netbsd nor CVS
IDs from them.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Johannes Berg 2008-11-27 23:13:38 +01:00 committed by John W. Linville
parent e11602b781
commit 007e5ddddf
3 changed files with 6 additions and 36 deletions

View file

@ -7797,15 +7797,6 @@ static void ipw_handle_data_packet_monitor(struct ipw_priv *priv,
memmove(rxb->skb->data + sizeof(struct ipw_rt_hdr), memmove(rxb->skb->data + sizeof(struct ipw_rt_hdr),
rxb->skb->data + IPW_RX_FRAME_SIZE, len); rxb->skb->data + IPW_RX_FRAME_SIZE, len);
/* Zero the radiotap static buffer ... We only need to zero the bytes NOT
* part of our real header, saves a little time.
*
* No longer necessary since we fill in all our data. Purge before merging
* patch officially.
* memset(rxb->skb->data + sizeof(struct ipw_rt_hdr), 0,
* IEEE80211_RADIOTAP_HDRLEN - sizeof(struct ipw_rt_hdr));
*/
ipw_rt = (struct ipw_rt_hdr *)rxb->skb->data; ipw_rt = (struct ipw_rt_hdr *)rxb->skb->data;
ipw_rt->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION; ipw_rt->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION;
@ -8013,15 +8004,6 @@ static void ipw_handle_promiscuous_rx(struct ipw_priv *priv,
memcpy(ipw_rt->payload, hdr, len); memcpy(ipw_rt->payload, hdr, len);
/* Zero the radiotap static buffer ... We only need to zero the bytes
* NOT part of our real header, saves a little time.
*
* No longer necessary since we fill in all our data. Purge before
* merging patch officially.
* memset(rxb->skb->data + sizeof(struct ipw_rt_hdr), 0,
* IEEE80211_RADIOTAP_HDRLEN - sizeof(struct ipw_rt_hdr));
*/
ipw_rt->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION; ipw_rt->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION;
ipw_rt->rt_hdr.it_pad = 0; /* always good to zero */ ipw_rt->rt_hdr.it_pad = 0; /* always good to zero */
ipw_rt->rt_hdr.it_len = cpu_to_le16(sizeof(*ipw_rt)); /* total header+data */ ipw_rt->rt_hdr.it_len = cpu_to_le16(sizeof(*ipw_rt)); /* total header+data */
@ -10409,9 +10391,9 @@ static void ipw_handle_promiscuous_tx(struct ipw_priv *priv,
} else } else
len = src->len; len = src->len;
dst = alloc_skb( dst = alloc_skb(len + sizeof(*rt_hdr), GFP_ATOMIC);
len + IEEE80211_RADIOTAP_HDRLEN, GFP_ATOMIC); if (!dst)
if (!dst) continue; continue;
rt_hdr = (void *)skb_put(dst, sizeof(*rt_hdr)); rt_hdr = (void *)skb_put(dst, sizeof(*rt_hdr));

View file

@ -6,9 +6,6 @@ struct tx_radiotap_hdr {
u8 txpower; u8 txpower;
u8 rts_retries; u8 rts_retries;
u8 data_retries; u8 data_retries;
#if 0
u8 pad[IEEE80211_RADIOTAP_HDRLEN - 12];
#endif
} __attribute__ ((packed)); } __attribute__ ((packed));
#define TX_RADIOTAP_PRESENT ( \ #define TX_RADIOTAP_PRESENT ( \

View file

@ -1,7 +1,4 @@
/* $FreeBSD: src/sys/net80211/ieee80211_radiotap.h,v 1.5 2005/01/22 20:12:05 sam Exp $ */ /*
/* $NetBSD: ieee80211_radiotap.h,v 1.11 2005/06/22 06:16:02 dyoung Exp $ */
/*-
* Copyright (c) 2003, 2004 David Young. All rights reserved. * Copyright (c) 2003, 2004 David Young. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -42,8 +39,6 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <asm/unaligned.h> #include <asm/unaligned.h>
/* Radiotap header version (from official NetBSD feed) */
#define IEEE80211RADIOTAP_VERSION "1.5"
/* Base version of the radiotap packet header data */ /* Base version of the radiotap packet header data */
#define PKTHDR_RADIOTAP_VERSION 0 #define PKTHDR_RADIOTAP_VERSION 0
@ -62,12 +57,8 @@
* readers. * readers.
*/ */
/* XXX tcpdump/libpcap do not tolerate variable-length headers, /*
* yet, so we pad every radiotap header to 64 bytes. Ugh. * The radio capture header precedes the 802.11 header.
*/
#define IEEE80211_RADIOTAP_HDRLEN 64
/* The radio capture header precedes the 802.11 header.
* All data in the header is little endian on all platforms. * All data in the header is little endian on all platforms.
*/ */
struct ieee80211_radiotap_header { struct ieee80211_radiotap_header {