src/common/pcap-writer.cc
author Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
Fri, 11 Jul 2008 18:39:19 +0100
changeset 3416 926ccb845111
parent 3074 53e41ce6d3de
child 3922 d549fa894719
permissions -rw-r--r--
Rescan APIs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
/*
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
 * Copyright (c) 2005,2006 INRIA
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
 * GNU General Public License for more details.
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    19
 */
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
/*
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
 * Documentation kindly pointed out by Tom Henderson:
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
 * http://wiki.ethereal.com/Development/LibpcapFileFormat
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
 */
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
458
0a5f4f427d66 remove dependency on SystemFile
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 456
diff changeset
    26
#include <fstream>
0a5f4f427d66 remove dependency on SystemFile
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 456
diff changeset
    27
14
6dd7d31c6fc3 replace yans include with ns3 include
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 9
diff changeset
    28
#include "ns3/simulator.h"
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
#include "pcap-writer.h"
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    30
#include "packet.h"
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
16
99e833adbb46 change yans namespace to ns3
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 14
diff changeset
    33
namespace ns3 {
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
enum {
454
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    36
  PCAP_ETHERNET = 1,
3012
56a4c75f9422 fix bug 161
Craig Dowell <craigdo@ee.washington.edu>
parents: 2906
diff changeset
    37
  PCAP_PPP      = 9,
454
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    38
  PCAP_RAW_IP   = 101,
455
2f16d26e361c add wifi pcap output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 454
diff changeset
    39
  PCAP_80211    = 105,
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
};
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
PcapWriter::PcapWriter ()
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
    44
  m_writer = 0;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    45
}
3012
56a4c75f9422 fix bug 161
Craig Dowell <craigdo@ee.washington.edu>
parents: 2906
diff changeset
    46
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    47
PcapWriter::~PcapWriter ()
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    48
{
3074
53e41ce6d3de close the writer before deleting it
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3012
diff changeset
    49
  if (m_writer != 0)
53e41ce6d3de close the writer before deleting it
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3012
diff changeset
    50
    {
53e41ce6d3de close the writer before deleting it
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3012
diff changeset
    51
      m_writer->close ();
53e41ce6d3de close the writer before deleting it
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3012
diff changeset
    52
    }
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
    53
  delete m_writer;
3074
53e41ce6d3de close the writer before deleting it
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3012
diff changeset
    54
  m_writer = 0;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    55
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    56
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    57
void
456
5361882cc2f3 put together a PcapTrace and test it
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 455
diff changeset
    58
PcapWriter::Open (std::string const &name)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    59
{
458
0a5f4f427d66 remove dependency on SystemFile
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 456
diff changeset
    60
  m_writer = new std::ofstream ();
0a5f4f427d66 remove dependency on SystemFile
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 456
diff changeset
    61
  m_writer->open (name.c_str ());
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    62
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    63
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    64
void 
454
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    65
PcapWriter::WriteEthernetHeader (void)
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    66
{
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    67
  WriteHeader (PCAP_ETHERNET);
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    68
}
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    69
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    70
void 
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    71
PcapWriter::WriteIpHeader (void)
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    72
{
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    73
  WriteHeader (PCAP_RAW_IP);
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    74
}
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    75
455
2f16d26e361c add wifi pcap output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 454
diff changeset
    76
void
2f16d26e361c add wifi pcap output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 454
diff changeset
    77
PcapWriter::WriteWifiHeader (void)
2f16d26e361c add wifi pcap output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 454
diff changeset
    78
{
2f16d26e361c add wifi pcap output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 454
diff changeset
    79
  WriteHeader (PCAP_80211);
2f16d26e361c add wifi pcap output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 454
diff changeset
    80
}
2f16d26e361c add wifi pcap output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 454
diff changeset
    81
454
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    82
void 
3012
56a4c75f9422 fix bug 161
Craig Dowell <craigdo@ee.washington.edu>
parents: 2906
diff changeset
    83
PcapWriter::WritePppHeader (void)
56a4c75f9422 fix bug 161
Craig Dowell <craigdo@ee.washington.edu>
parents: 2906
diff changeset
    84
{
56a4c75f9422 fix bug 161
Craig Dowell <craigdo@ee.washington.edu>
parents: 2906
diff changeset
    85
  WriteHeader (PCAP_PPP);
56a4c75f9422 fix bug 161
Craig Dowell <craigdo@ee.washington.edu>
parents: 2906
diff changeset
    86
}
56a4c75f9422 fix bug 161
Craig Dowell <craigdo@ee.washington.edu>
parents: 2906
diff changeset
    87
56a4c75f9422 fix bug 161
Craig Dowell <craigdo@ee.washington.edu>
parents: 2906
diff changeset
    88
void 
454
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    89
PcapWriter::WriteHeader (uint32_t network)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    90
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
    91
  Write32 (0xa1b2c3d4);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
    92
  Write16 (2);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
    93
  Write16 (4);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
    94
  Write32 (0);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
    95
  Write32 (0);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
    96
  Write32 (0xffff);
454
f7d4e9f00b00 add ip output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 163
diff changeset
    97
  Write32 (network);
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    98
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    99
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   100
void 
1866
e7dbcc4df546 do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 458
diff changeset
   101
PcapWriter::WritePacket (Ptr<const Packet> packet)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   102
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
   103
  if (m_writer != 0) 
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
   104
    {
163
2a7e05018eeb rename Time::ApproximateTo methods to Time::Get
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 150
diff changeset
   105
      uint64_t current = Simulator::Now ().GetMicroSeconds ();
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
   106
      uint64_t s = current / 1000000;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
   107
      uint64_t us = current % 1000000;
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
   108
      Write32 (s & 0xffffffff);
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
   109
      Write32 (us & 0xffffffff);
1866
e7dbcc4df546 do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 458
diff changeset
   110
      Write32 (packet->GetSize ());
e7dbcc4df546 do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 458
diff changeset
   111
      Write32 (packet->GetSize ());
e7dbcc4df546 do not use Packet objects directly. Use Ptr<Packet> instead
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 458
diff changeset
   112
      WriteData (packet->PeekData (), packet->GetSize ());
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 143
diff changeset
   113
    }
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   114
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   115
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   116
void
458
0a5f4f427d66 remove dependency on SystemFile
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 456
diff changeset
   117
PcapWriter::WriteData (uint8_t const*buffer, uint32_t size)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   118
{
458
0a5f4f427d66 remove dependency on SystemFile
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 456
diff changeset
   119
  m_writer->write ((char const *)buffer, size);
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   120
}
3012
56a4c75f9422 fix bug 161
Craig Dowell <craigdo@ee.washington.edu>
parents: 2906
diff changeset
   121
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   122
void
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 111
diff changeset
   123
PcapWriter::Write32 (uint32_t data)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   124
{
2906
5a7ae076410e ensure that out PcapTraces are generated in a consistant format to allow simple comparison of traces against a single set of reference traces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
   125
  uint8_t buffer[4];
5a7ae076410e ensure that out PcapTraces are generated in a consistant format to allow simple comparison of traces against a single set of reference traces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
   126
  buffer[0] = (data >> 0) & 0xff;
5a7ae076410e ensure that out PcapTraces are generated in a consistant format to allow simple comparison of traces against a single set of reference traces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
   127
  buffer[1] = (data >> 8) & 0xff;
5a7ae076410e ensure that out PcapTraces are generated in a consistant format to allow simple comparison of traces against a single set of reference traces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
   128
  buffer[2] = (data >> 16) & 0xff;
5a7ae076410e ensure that out PcapTraces are generated in a consistant format to allow simple comparison of traces against a single set of reference traces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
   129
  buffer[3] = (data >> 24) & 0xff;
5a7ae076410e ensure that out PcapTraces are generated in a consistant format to allow simple comparison of traces against a single set of reference traces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
   130
  WriteData (buffer, 4);
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   131
}
3012
56a4c75f9422 fix bug 161
Craig Dowell <craigdo@ee.washington.edu>
parents: 2906
diff changeset
   132
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   133
void
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 111
diff changeset
   134
PcapWriter::Write16 (uint16_t data)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   135
{
2906
5a7ae076410e ensure that out PcapTraces are generated in a consistant format to allow simple comparison of traces against a single set of reference traces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
   136
  uint8_t buffer[2];
5a7ae076410e ensure that out PcapTraces are generated in a consistant format to allow simple comparison of traces against a single set of reference traces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
   137
  buffer[0] = (data >> 0) & 0xff;
5a7ae076410e ensure that out PcapTraces are generated in a consistant format to allow simple comparison of traces against a single set of reference traces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
   138
  buffer[1] = (data >> 8) & 0xff;
5a7ae076410e ensure that out PcapTraces are generated in a consistant format to allow simple comparison of traces against a single set of reference traces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
   139
  WriteData (buffer, 2);
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   140
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   141
2773
fef4f59da3f8 remove useless trailing ;
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1866
diff changeset
   142
} // namespace ns3