src/devices/wifi/mac-low.cc
changeset 3659 653395340b5c
parent 3658 f44b66348690
child 3746 524b07b47f32
equal deleted inserted replaced
3658:f44b66348690 3659:653395340b5c
   915   /* send an RTS for this packet. */
   915   /* send an RTS for this packet. */
   916   WifiMacHeader rts;
   916   WifiMacHeader rts;
   917   rts.SetType (WIFI_MAC_CTL_RTS);
   917   rts.SetType (WIFI_MAC_CTL_RTS);
   918   rts.SetDsNotFrom ();
   918   rts.SetDsNotFrom ();
   919   rts.SetDsNotTo ();
   919   rts.SetDsNotTo ();
       
   920   rts.SetNoRetry ();
   920   rts.SetNoMoreFragments ();
   921   rts.SetNoMoreFragments ();
   921   rts.SetAddr1 (m_currentHdr.GetAddr1 ());
   922   rts.SetAddr1 (m_currentHdr.GetAddr1 ());
   922   rts.SetAddr2 (m_self);
   923   rts.SetAddr2 (m_self);
   923   WifiMode rtsTxMode = GetRtsTxMode (m_currentPacket, &m_currentHdr);
   924   WifiMode rtsTxMode = GetRtsTxMode (m_currentPacket, &m_currentHdr);
   924   Time duration = Seconds (0);
   925   Time duration = Seconds (0);
  1062   WifiMacHeader cts;
  1063   WifiMacHeader cts;
  1063   cts.SetType (WIFI_MAC_CTL_CTS);
  1064   cts.SetType (WIFI_MAC_CTL_CTS);
  1064   cts.SetDsNotFrom ();
  1065   cts.SetDsNotFrom ();
  1065   cts.SetDsNotTo ();
  1066   cts.SetDsNotTo ();
  1066   cts.SetNoMoreFragments ();
  1067   cts.SetNoMoreFragments ();
       
  1068   cts.SetNoRetry ();
  1067   cts.SetAddr1 (source);
  1069   cts.SetAddr1 (source);
  1068   duration -= GetCtsDuration (source, rtsTxMode);
  1070   duration -= GetCtsDuration (source, rtsTxMode);
  1069   duration -= GetSifs ();
  1071   duration -= GetSifs ();
  1070   NS_ASSERT (duration >= MicroSeconds (0));
  1072   NS_ASSERT (duration >= MicroSeconds (0));
  1071   cts.SetDuration (duration);
  1073   cts.SetDuration (duration);