equal
deleted
inserted
replaced
14 * Description: Implementation of the WlanDot11Associated class |
14 * Description: Implementation of the WlanDot11Associated class |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 /* |
18 /* |
19 * %version: 96.1.2 % |
19 * %version: 99 % |
20 */ |
20 */ |
21 |
21 |
22 #include "config.h" |
22 #include "config.h" |
23 #include "UmacDot11Associated.h" |
23 #include "UmacDot11Associated.h" |
24 #include "UmacContextImpl.h" |
24 #include "UmacContextImpl.h" |
656 TDataBuffer* latestValidPacketForUsr ( NULL ); |
656 TDataBuffer* latestValidPacketForUsr ( NULL ); |
657 TUint nbrOfpacketsForUsr ( 0 ); |
657 TUint nbrOfpacketsForUsr ( 0 ); |
658 TUint nbrOfpacketsForMgmtClient ( 0 ); |
658 TUint nbrOfpacketsForMgmtClient ( 0 ); |
659 const TUint KMaxNbrOfPacketsForUsr ( 30 ); |
659 const TUint KMaxNbrOfPacketsForUsr ( 30 ); |
660 const TUint KMaxNbrOfPacketsForMgmtClient ( 10 ); |
660 const TUint KMaxNbrOfPacketsForMgmtClient ( 10 ); |
661 const TDataBuffer* packetsForUsr[KMaxNbrOfPacketsForUsr]; |
661 TDataBuffer* packetsForUsr[KMaxNbrOfPacketsForUsr]; |
662 const TDataBuffer* packetsForMgmtClient[KMaxNbrOfPacketsForMgmtClient]; |
662 TDataBuffer* packetsForMgmtClient[KMaxNbrOfPacketsForMgmtClient]; |
663 // one byte past the last actual payload byte (so excluding the potentially |
663 // one byte past the last actual payload byte (so excluding the potentially |
664 // present security trailer) of the MPDU |
664 // present security trailer) of the MPDU |
665 const TUint8* const KMpduPayloadEnd ( |
665 const TUint8* const KMpduPayloadEnd ( |
666 reinterpret_cast<const TUint8*>(aFrame) |
666 reinterpret_cast<const TUint8*>(aFrame) |
667 + aLength |
667 + aLength |
1004 metaHdr->KeSetOffsetToFrameBeginning( |
1004 metaHdr->KeSetOffsetToFrameBeginning( |
1005 reinterpret_cast<const TUint8*>(aFrame) // frame beginning |
1005 reinterpret_cast<const TUint8*>(aFrame) // frame beginning |
1006 - aBuffer ); // buffer beginning |
1006 - aBuffer ); // buffer beginning |
1007 |
1007 |
1008 // complete |
1008 // complete |
1009 const TDataBuffer* KMetaHdr ( metaHdr ); |
1009 aCtxImpl.iUmac.MgmtDataReceiveComplete( metaHdr, 1 ); |
1010 aCtxImpl.iUmac.MgmtDataReceiveComplete( KMetaHdr, 1 ); |
|
1011 } |
1010 } |
1012 else |
1011 else |
1013 { |
1012 { |
1014 // no memory available for the meta header. In this case we have no |
1013 // no memory available for the meta header. In this case we have no |
1015 // other choice than to discard the received frame. |
1014 // other choice than to discard the received frame. |
1367 TUint length( 0 ); |
1366 TUint length( 0 ); |
1368 |
1367 |
1369 if ( // our client has instructed us not the encrypt this frame under |
1368 if ( // our client has instructed us not the encrypt this frame under |
1370 // any circumstances OR |
1369 // any circumstances OR |
1371 ( aDataBuffer.KeFlags() & TDataBuffer::KTxFrameMustNotBeEncrypted ) || |
1370 ( aDataBuffer.KeFlags() & TDataBuffer::KTxFrameMustNotBeEncrypted ) || |
1372 // no space is reserved for security header on this sw layer. It is |
1371 // no space is reserved for security trailer on this sw layer. It is |
1373 // done on lower layers; when necessary. |
1372 // done on lower layers; when necessary. |
1374 ( aCtxImpl.WHASettings().iCapability & |
1373 ( aCtxImpl.WHASettings().iCapability & |
1375 WHA::SSettings::KNoSecHdrAndTrailer ) ) |
1374 WHA::SSettings::KNoSecHdrAndTrailer ) ) |
1376 { |
1375 { |
1377 // We will return zero, so no further actions |
1376 // We will return zero, so no further actions |