View | Details | Raw Unified | Return to bug 2378
Collapse All | Expand All

(-)a/src/wifi/model/yans-wifi-phy.cc (-8 / +4 lines)
 Lines 644-658    Link Here 
644
    case YansWifiPhy::IDLE:
644
    case YansWifiPhy::IDLE:
645
      if (rxPowerW > m_edThresholdW) //checked here, no need to check in the payload reception (current implementation assumes constant rx power over the packet duration)
645
      if (rxPowerW > m_edThresholdW) //checked here, no need to check in the payload reception (current implementation assumes constant rx power over the packet duration)
646
        {
646
        {
647
          if (preamble == WIFI_PREAMBLE_NONE && m_mpdusNum == 0)
647
          if (preamble == WIFI_PREAMBLE_NONE && (m_mpdusNum == 0 || m_plcpSuccess == false))
648
            {
648
            {
649
              NS_LOG_DEBUG ("drop packet because no preamble has been received");
649
              m_plcpSuccess = false;
650
              NotifyRxDrop (packet);
650
              m_mpdusNum = 0;
651
              goto maybeCcaBusy;
651
              NS_LOG_DEBUG ("drop packet because no PLCP preamble/header has been received");
652
            }
653
          else if (preamble == WIFI_PREAMBLE_NONE && m_plcpSuccess == false) //A-MPDU reception fails
654
            {
655
              NS_LOG_DEBUG ("Drop MPDU because no plcp has been received");
656
              NotifyRxDrop (packet);
652
              NotifyRxDrop (packet);
657
              goto maybeCcaBusy;
653
              goto maybeCcaBusy;
658
            }
654
            }

Return to bug 2378