|
|
| 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); |