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

(-)a/src/wave/model/bsm-application.cc (-1 lines)
 Lines 21-27    Link Here 
21
21
22
#include "ns3/bsm-application.h"
22
#include "ns3/bsm-application.h"
23
#include "ns3/log.h"
23
#include "ns3/log.h"
24
#include "ns3/seq-ts-header.h"
25
#include "ns3/wave-net-device.h"
24
#include "ns3/wave-net-device.h"
26
#include "ns3/wave-mac-helper.h"
25
#include "ns3/wave-mac-helper.h"
27
#include "ns3/wave-helper.h"
26
#include "ns3/wave-helper.h"
(-)a/src/wave/test/mac-extension-test-suite.cc (-19 / +103 lines)
 Lines 23-29    Link Here 
23
#include "ns3/mobility-model.h"
23
#include "ns3/mobility-model.h"
24
#include "ns3/yans-wifi-helper.h"
24
#include "ns3/yans-wifi-helper.h"
25
#include "ns3/mobility-helper.h"
25
#include "ns3/mobility-helper.h"
26
#include "ns3/seq-ts-header.h"
27
#include "ns3/wave-net-device.h"
26
#include "ns3/wave-net-device.h"
28
#include "ns3/wave-mac-helper.h"
27
#include "ns3/wave-mac-helper.h"
29
#include "ns3/wave-helper.h"
28
#include "ns3/wave-helper.h"
 Lines 530-550    Link Here 
530
  const static uint16_t WSMP_PROT_NUMBER = 0x88DC;
529
  const static uint16_t WSMP_PROT_NUMBER = 0x88DC;
531
  const Mac48Address dest = Mac48Address::GetBroadcast ();
530
  const Mac48Address dest = Mac48Address::GetBroadcast ();
532
  const TxInfo txInfo = TxInfo (channel);
531
  const TxInfo txInfo = TxInfo (channel);
533
  Ptr<Packet> p  = Create<Packet> (100);
532
534
  // the sequence here indicates the node id which should receive transmitted packets.
533
  uint8_t *data = new uint8_t [112];
535
  SeqTsHeader seqTs;
534
  data [0] = (receiverId >> 24) & 0xFF;
536
  seqTs.SetSeq (receiverId);
535
  data [1] = (receiverId >> 16) & 0xFF;
537
  p->AddHeader (seqTs);
536
  data [2] = (receiverId >> 8) & 0xFF;
537
  data [3] = (receiverId >> 0) & 0xFF;
538
539
  uint64_t ts = Simulator::Now ().GetTimeStep ();
540
  data [4] = (ts >> 56) & 0xFF;
541
  data [5] = (ts >> 48) & 0xFF;
542
  data [6] = (ts >> 40) & 0xFF;
543
  data [7] = (ts >> 32) & 0xFF;
544
  data [8] = (ts >> 24) & 0xFF;
545
  data [9] = (ts >> 16) & 0xFF;
546
  data [10] = (ts >> 8) & 0xFF;
547
  data [11] = (ts >> 0) & 0xFF;
548
549
  Ptr<Packet> p = Create<Packet> (data, 112);
550
538
  m_sender->SendX  (p, dest, WSMP_PROT_NUMBER, txInfo);
551
  m_sender->SendX  (p, dest, WSMP_PROT_NUMBER, txInfo);
552
553
  delete [] data;
539
}
554
}
540
555
541
bool
556
bool
542
ChannelAccessTestCase::Receive (Ptr<NetDevice> dev, Ptr<const Packet> pkt, uint16_t mode, const Address &sender)
557
ChannelAccessTestCase::Receive (Ptr<NetDevice> dev, Ptr<const Packet> pkt, uint16_t mode, const Address &sender)
543
{
558
{
544
  SeqTsHeader seqTs;
559
  uint8_t *data = new uint8_t [pkt->GetSize ()];
545
  ConstCast<Packet> (pkt)->RemoveHeader (seqTs);
560
  pkt->CopyData(data, pkt->GetSize ());
561
562
  uint32_t seq = data [0];
563
  seq <<= 8;
564
  seq |= data [1];
565
  seq <<= 8;
566
  seq |= data [2];
567
  seq <<= 8;
568
  seq |= data [3];
569
570
  uint64_t ts = data [4];
571
  ts <<= 8;
572
  ts |= data [5];
573
  ts <<= 8;
574
  ts |= data [6];
575
  ts <<= 8;
576
  ts |= data [7];
577
  ts <<= 8;
578
  ts |= data [8];
579
  ts <<= 8;
580
  ts |= data [9];
581
  ts <<= 8;
582
  ts |= data [10];
583
  ts <<= 8;
584
  ts |= data [11];
585
  Time sendTime = TimeStep (ts);
586
587
  delete [] data;
588
589
//  SeqTsHeader seqTs;
590
//  ConstCast<Packet> (pkt)->RemoveHeader (seqTs);
546
  uint32_t curNodeId =  dev->GetNode ()->GetId ();
591
  uint32_t curNodeId =  dev->GetNode ()->GetId ();
547
  NS_TEST_EXPECT_MSG_EQ (curNodeId, seqTs.GetSeq (), "fail to assign channel access");
592
  NS_TEST_EXPECT_MSG_EQ (curNodeId, seq, "fail to assign channel access");
548
  m_received++;
593
  m_received++;
549
  return true;
594
  return true;
550
}
595
}
 Lines 879-902    Link Here 
879
{
924
{
880
  const static uint16_t WSMP_PROT_NUMBER = 0x88DC;
925
  const static uint16_t WSMP_PROT_NUMBER = 0x88DC;
881
  const Mac48Address dest = Mac48Address::ConvertFrom (m_receiver->GetAddress ());
926
  const Mac48Address dest = Mac48Address::ConvertFrom (m_receiver->GetAddress ());
882
//   const Mac48Address dest = Mac48Address::GetBroadcast();
883
927
928
  uint8_t *data = new uint8_t [packetSize];
929
  data [0] = (sequence >> 24) & 0xFF;
930
  data [1] = (sequence >> 16) & 0xFF;
931
  data [2] = (sequence >> 8) & 0xFF;
932
  data [3] = (sequence >> 0) & 0xFF;
884
933
885
  Ptr<Packet> p  = Create<Packet> (packetSize - (8 + 4)); // 8+4 : the size of the seqTs header
934
  uint64_t ts = Simulator::Now ().GetTimeStep ();
886
  // the sequence here indicates whether the node id which should receive transmitted packets.
935
  data [4] = (ts >> 56) & 0xFF;
887
  SeqTsHeader seqTs;
936
  data [5] = (ts >> 48) & 0xFF;
888
  seqTs.SetSeq (sequence);
937
  data [6] = (ts >> 40) & 0xFF;
889
  p->AddHeader (seqTs);
938
  data [7] = (ts >> 32) & 0xFF;
939
  data [8] = (ts >> 24) & 0xFF;
940
  data [9] = (ts >> 16) & 0xFF;
941
  data [10] = (ts >> 8) & 0xFF;
942
  data [11] = (ts >> 0) & 0xFF;
943
944
  Ptr<Packet> p = Create<Packet> (data, packetSize);
945
890
  m_sender->SendX  (p, dest, WSMP_PROT_NUMBER, txInfo);
946
  m_sender->SendX  (p, dest, WSMP_PROT_NUMBER, txInfo);
947
948
  delete [] data;
891
}
949
}
892
950
893
bool
951
bool
894
AnnexC_TestCase::Receive (Ptr<NetDevice> dev, Ptr<const Packet> pkt, uint16_t mode, const Address &sender)
952
AnnexC_TestCase::Receive (Ptr<NetDevice> dev, Ptr<const Packet> pkt, uint16_t mode, const Address &sender)
895
{
953
{
896
  SeqTsHeader seqTs;
954
  uint8_t *data = new uint8_t [pkt->GetSize ()];
897
  ConstCast<Packet> (pkt)->RemoveHeader (seqTs);
955
  pkt->CopyData(data, pkt->GetSize ());
898
  uint32_t seq = seqTs.GetSeq ();
956
899
  Time sendTime =  seqTs.GetTs ();
957
  uint32_t seq = data [0];
958
  seq <<= 8;
959
  seq |= data [1];
960
  seq <<= 8;
961
  seq |= data [2];
962
  seq <<= 8;
963
  seq |= data [3];
964
965
  uint64_t ts = data [4];
966
  ts <<= 8;
967
  ts |= data [5];
968
  ts <<= 8;
969
  ts |= data [6];
970
  ts <<= 8;
971
  ts |= data [7];
972
  ts <<= 8;
973
  ts |= data [8];
974
  ts <<= 8;
975
  ts |= data [9];
976
  ts <<= 8;
977
  ts |= data [10];
978
  ts <<= 8;
979
  ts |= data [11];
980
  Time sendTime = TimeStep (ts);
981
982
  delete [] data;
983
900
  Time curTime = Now ();
984
  Time curTime = Now ();
901
  Time duration = curTime - sendTime;
985
  Time duration = curTime - sendTime;
902
986
(-)a/src/wave/wscript (-1 / +1 lines)
 Lines 7-13    Link Here 
7
#     conf.check_nonfatal(header_name='stdint.h', define_name='HAVE_STDINT_H')
7
#     conf.check_nonfatal(header_name='stdint.h', define_name='HAVE_STDINT_H')
8
8
9
def build(bld):
9
def build(bld):
10
    module = bld.create_ns3_module('wave', ['core','wifi', 'propagation', 'internet', 'applications'])
10
    module = bld.create_ns3_module('wave', ['core','wifi', 'propagation', 'internet'])
11
    module.source = [
11
    module.source = [
12
        'model/wave-mac-low.cc',
12
        'model/wave-mac-low.cc',
13
        'model/ocb-wifi-mac.cc',
13
        'model/ocb-wifi-mac.cc',

Return to bug 1941