Skip to content

Commit

Permalink
wireless: clean up radiotap a bit
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Dec 5, 2008
1 parent e11602b commit 007e5dd
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 36 deletions.
24 changes: 3 additions & 21 deletions drivers/net/wireless/ipw2x00/ipw2200.c
Original file line number Diff line number Diff line change
Expand Up @@ -7797,15 +7797,6 @@ static void ipw_handle_data_packet_monitor(struct ipw_priv *priv,
memmove(rxb->skb->data + sizeof(struct ipw_rt_hdr),
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->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION;
Expand Down Expand Up @@ -8013,15 +8004,6 @@ static void ipw_handle_promiscuous_rx(struct ipw_priv *priv,

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_pad = 0; /* always good to zero */
ipw_rt->rt_hdr.it_len = cpu_to_le16(sizeof(*ipw_rt)); /* total header+data */
Expand Down Expand Up @@ -10409,9 +10391,9 @@ static void ipw_handle_promiscuous_tx(struct ipw_priv *priv,
} else
len = src->len;

dst = alloc_skb(
len + IEEE80211_RADIOTAP_HDRLEN, GFP_ATOMIC);
if (!dst) continue;
dst = alloc_skb(len + sizeof(*rt_hdr), GFP_ATOMIC);
if (!dst)
continue;

rt_hdr = (void *)skb_put(dst, sizeof(*rt_hdr));

Expand Down
3 changes: 0 additions & 3 deletions drivers/net/wireless/libertas/radiotap.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ struct tx_radiotap_hdr {
u8 txpower;
u8 rts_retries;
u8 data_retries;
#if 0
u8 pad[IEEE80211_RADIOTAP_HDRLEN - 12];
#endif
} __attribute__ ((packed));

#define TX_RADIOTAP_PRESENT ( \
Expand Down
15 changes: 3 additions & 12 deletions include/net/ieee80211_radiotap.h
Original file line number Diff line number Diff line change
@@ -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.
*
* Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -42,8 +39,6 @@
#include <linux/kernel.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 */
#define PKTHDR_RADIOTAP_VERSION 0

Expand All @@ -62,12 +57,8 @@
* readers.
*/

/* XXX tcpdump/libpcap do not tolerate variable-length headers,
* yet, so we pad every radiotap header to 64 bytes. Ugh.
*/
#define IEEE80211_RADIOTAP_HDRLEN 64

/* The radio capture header precedes the 802.11 header.
/*
* The radio capture header precedes the 802.11 header.
* All data in the header is little endian on all platforms.
*/
struct ieee80211_radiotap_header {
Expand Down

0 comments on commit 007e5dd

Please sign in to comment.