iPXE
|
Functions | |
static void | net80211_free_frags (struct net80211_device *dev, int fcid) |
Free buffers used by 802.11 fragment cache entry. More... | |
static struct io_buffer * | net80211_accum_frags (struct net80211_device *dev, int fcid, int nfrags, int size) |
Accumulate 802.11 fragments into one I/O buffer. More... | |
static void | net80211_rx_frag (struct net80211_device *dev, struct io_buffer *iob, int signal) |
Handle receipt of 802.11 fragment. More... | |
|
static |
Free buffers used by 802.11 fragment cache entry.
dev | 802.11 device |
fcid | Fragment cache entry index |
After this function, the referenced entry will be marked unused.
Definition at line 2533 of file net80211.c.
References net80211_device::frags, free_iob(), net80211_frag_cache::in_use, net80211_frag_cache::iob, NULL, net80211_frag_cache::seqnr, and net80211_frag_cache::start_ticks.
Referenced by net80211_rx_frag().
|
static |
Accumulate 802.11 fragments into one I/O buffer.
dev | 802.11 device |
fcid | Fragment cache entry index |
nfrags | Number of fragments received |
size | Sum of sizes of all fragments, including headers |
iob | I/O buffer containing reassembled packet |
This function does not free the fragment buffers.
Definition at line 2561 of file net80211.c.
References alloc_iob(), io_buffer::data, net80211_device::frags, hdr, IEEE80211_FC_MORE_FRAG, IEEE80211_TYP_FRAME_HEADER_LEN, net80211_frag_cache::iob, iob_len(), iob_put, len, memcpy(), and size.
Referenced by net80211_rx_frag().
|
static |
Handle receipt of 802.11 fragment.
dev | 802.11 device |
iob | I/O buffer containing fragment |
signal | Signal strength with which fragment was received |
Definition at line 2596 of file net80211.c.
References currticks(), io_buffer::data, DBGC, net80211_device::frags, free_iob(), hdr, IEEE80211_FC_MORE_FRAG, IEEE80211_FRAG, IEEE80211_SEQNR, net80211_frag_cache::in_use, net80211_frag_cache::iob, iob_len(), net80211_accum_frags(), NET80211_FRAG_TIMEOUT, net80211_free_frags(), NET80211_NR_CONCURRENT_FRAGS, net80211_rx(), NULL, net80211_frag_cache::seqnr, size, net80211_frag_cache::start_ticks, TICKS_PER_SEC, and timeout().
Referenced by net80211_rx().