|
278 |
header.SetFrameFlags (frameFlags); |
278 |
header.SetFrameFlags (frameFlags); |
279 |
header.SetRate (rate); |
279 |
header.SetRate (rate); |
280 |
|
280 |
|
|
|
281 |
uint16_t channelFlags = 0; |
282 |
switch (rate) |
283 |
{ |
284 |
case 2: // 1Mbps |
285 |
case 4: // 2Mbps |
286 |
case 10: // 5Mbps |
287 |
case 22: // 11Mbps |
288 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_CCK; |
289 |
break; |
290 |
|
291 |
default: |
292 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_OFDM; |
293 |
break; |
294 |
} |
295 |
|
281 |
if (channelFreqMhz < 2500) |
296 |
if (channelFreqMhz < 2500) |
282 |
{ |
297 |
{ |
283 |
header.SetChannelFrequencyAndFlags (channelFreqMhz, |
298 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_SPECTRUM_2GHZ; |
284 |
RadiotapHeader::CHANNEL_FLAG_SPECTRUM_2GHZ | RadiotapHeader::CHANNEL_FLAG_CCK); |
|
|
285 |
} |
299 |
} |
286 |
else |
300 |
else |
287 |
{ |
301 |
{ |
288 |
header.SetChannelFrequencyAndFlags (channelFreqMhz, |
302 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_SPECTRUM_5GHZ; |
289 |
RadiotapHeader::CHANNEL_FLAG_SPECTRUM_5GHZ | RadiotapHeader::CHANNEL_FLAG_OFDM); |
|
|
290 |
} |
303 |
} |
|
|
304 |
|
305 |
header.SetChannelFrequencyAndFlags (channelFreqMhz, channelFlags); |
291 |
|
306 |
|
292 |
p->AddHeader (header); |
307 |
p->AddHeader (header); |
293 |
file->Write (Simulator::Now (), p); |
308 |
file->Write (Simulator::Now (), p); |