Skip to content

Commit

Permalink
mac80211: rewrite fragmentation
Browse files Browse the repository at this point in the history
Fragmentation currently uses an allocated array to store the
fragment skbs, and then keeps track of which have been sent
and which are still pending etc. This is rather complicated;
make it simpler by just chaining the fragments into skb->next
and removing from that list when sent. Also simplifies all
code that needs to touch fragments, since it now only needs
to walk the skb->next list.

This is a prerequisite for fixing the stored packet code,
which I need to do for proper aggregation packet storing.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Mar 28, 2009
1 parent 08df05a commit 2de8e0d
Show file tree
Hide file tree
Showing 5 changed files with 173 additions and 224 deletions.
7 changes: 0 additions & 7 deletions net/mac80211/ieee80211_i.h
Original file line number Diff line number Diff line change
Expand Up @@ -149,11 +149,6 @@ struct ieee80211_tx_data {

struct ieee80211_channel *channel;

/* Extra fragments (in addition to the first fragment
* in skb) */
struct sk_buff **extra_frag;
int num_extra_frag;

u16 ethertype;
unsigned int flags;
};
Expand Down Expand Up @@ -191,8 +186,6 @@ struct ieee80211_rx_data {

struct ieee80211_tx_stored_packet {
struct sk_buff *skb;
struct sk_buff **extra_frag;
int num_extra_frag;
};

struct beacon_data {
Expand Down
Loading

0 comments on commit 2de8e0d

Please sign in to comment.