Re: [Madwifi-devel] Frame length question
Status: Beta
Brought to you by:
otaku
From: Mathieu D. <mat...@cr...> - 2004-05-05 14:32:52
|
Oops, I was actually talking about ath_tx_start, where pktlen = skb->len; Since the "round up" effect should be visible in ath_tx_tasklet, that does not explain my problem, since I see this 2 bytes mismatch in ath_tx_start. Also, to make sure there was no rounding effect, I also tried the following tests (which result in a frame of length multiple of 4 bytes, 32 bits): 198 bytes data 8 bytes UDP overhead 20 bytes IPv4 header 34 bytes 802.11 data frame overhead [Frame ctrl (2), Dur/ID (2) Addr1(6), Addr2 (6), Addr3 (6), SeqCtrl (2), Addr4 (6), FCS (4)] ____________________________________________ Total 260 bytes But the value of pktlen is 262 bytes in ath_tx_start. To convince myself more, I also did the following test: 199 bytes data 8 bytes UDP overhead 20 bytes IPv4 header 34 bytes 802.11 data frame overhead [Frame ctrl (2), Dur/ID (2) Addr1(6), Addr2 (6), Addr3 (6), SeqCtrl (2), Addr4 (6), FCS (4)] ____________________________________________ Total 261 bytes And here the value of pktlen is 263 bytes in ath_tx_start. Can anyone explain this 2 bytes mismatch? Thank you, Mathieu. Sam Leffler wrote: >I see no reference to pktlen in ath_tx_tasklet. If you are saying the value >in the h/w descriptor in ath_tx_tasklet is different from the value placed >there in ath_tx_start then it looks to be rounded up to a 32-bit boundary and >so reflects the actual DMA that was done. But the frame on the wire should >still be whatever ath_tx_start says to use. > > Sam > > |