add ip output

Mathieu Lacage 2007-03-29 22:47:57 +02:00
parent 9bc94d7f80
commit 90107197c7
2 changed files with 23 additions and 4 deletions

View File

@ -33,7 +33,8 @@
namespace ns3 {
enum {
PCAP_ETHERNET = 1
PCAP_ETHERNET = 1,
PCAP_RAW_IP = 101,
};
PcapWriter::PcapWriter ()
@ -53,7 +54,19 @@ PcapWriter::Open (char const *name)
}
void
PcapWriter::WriteHeaderEthernet (void)
PcapWriter::WriteEthernetHeader (void)
{
WriteHeader (PCAP_ETHERNET);
}
void
PcapWriter::WriteIpHeader (void)
{
WriteHeader (PCAP_RAW_IP);
}
void
PcapWriter::WriteHeader (uint32_t network)
{
Write32 (0xa1b2c3d4);
Write16 (2);
@ -61,9 +74,12 @@ PcapWriter::WriteHeaderEthernet (void)
Write32 (0);
Write32 (0);
Write32 (0xffff);
Write32 (PCAP_ETHERNET);
Write32 (network);
}
void
PcapWriter::WritePacket (Packet const packet)
{

View File

@ -55,7 +55,9 @@ public:
* be invoked before ns3::PcapWriter::writePacket and after
* ns3::PcapWriter::open.
*/
void WriteHeaderEthernet (void);
void WriteEthernetHeader (void);
void WriteIpHeader (void);
/**
* \param packet packet to write to output file
@ -66,6 +68,7 @@ private:
void WriteData (uint8_t *buffer, uint32_t size);
void Write32 (uint32_t data);
void Write16 (uint16_t data);
void WriteHeader (uint32_t network);
SystemFile *m_writer;
Callback<void,uint8_t *,uint32_t> m_writeCallback;
};