A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::EmuFdNetDeviceHelper Class Reference

build a set of FdNetDevice objects attached to a physical network interface More...

#include <emu-fd-net-device-helper.h>

+ Inheritance diagram for ns3::EmuFdNetDeviceHelper:
+ Collaboration diagram for ns3::EmuFdNetDeviceHelper:

Public Member Functions

 EmuFdNetDeviceHelper ()
virtual ~EmuFdNetDeviceHelper ()
std::string GetDeviceName (void)
void SetDeviceName (std::string deviceName)
- Public Member Functions inherited from ns3::FdNetDeviceHelper
 FdNetDeviceHelper ()
virtual ~FdNetDeviceHelper ()
virtual NetDeviceContainer Install (Ptr< Node > node) const
virtual NetDeviceContainer Install (std::string name) const
virtual NetDeviceContainer Install (const NodeContainer &c) const
void SetAttribute (std::string n1, const AttributeValue &v1)
- Public Member Functions inherited from ns3::PcapHelperForDevice
 PcapHelperForDevice ()
 Construct a PcapHelperForDevice.
virtual ~PcapHelperForDevice ()
 Destroy a PcapHelperForDevice.
void EnablePcap (std::string prefix, Ptr< NetDevice > nd, bool promiscuous=false, bool explicitFilename=false)
 Enable pcap output the indicated net device.
void EnablePcap (std::string prefix, std::string ndName, bool promiscuous=false, bool explicitFilename=false)
 Enable pcap output the indicated net device using a device previously named using the ns-3 object name service.
void EnablePcap (std::string prefix, NetDeviceContainer d, bool promiscuous=false)
 Enable pcap output on each device in the container which is of the appropriate type.
void EnablePcap (std::string prefix, NodeContainer n, bool promiscuous=false)
 Enable pcap output on each device (which is of the appropriate type) in the nodes provided in the container.
void EnablePcap (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool promiscuous=false)
 Enable pcap output on the device specified by a global node-id (of a previously created node) and associated device-id.
void EnablePcapAll (std::string prefix, bool promiscuous=false)
 Enable pcap output on each device (which is of the appropriate type) in the set of all nodes created in the simulation.
virtual void EnablePcapInternal (std::string prefix, Ptr< NetDevice > nd, bool promiscuous, bool explicitFilename)=0
 Enable pcap output the indicated net device.
- Public Member Functions inherited from ns3::AsciiTraceHelperForDevice
 AsciiTraceHelperForDevice ()
 Construct an AsciiTraceHelperForDevice.
virtual ~AsciiTraceHelperForDevice ()
 Destroy an AsciiTraceHelperForDevice.
void EnableAscii (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false)
 Enable ascii trace output on the indicated net device.
void EnableAscii (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd)
 Enable ascii trace output on the indicated net device.
void EnableAscii (std::string prefix, std::string ndName, bool explicitFilename=false)
 Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service.
void EnableAscii (Ptr< OutputStreamWrapper > stream, std::string ndName)
 Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service.
void EnableAscii (std::string prefix, NetDeviceContainer d)
 Enable ascii trace output on each device in the container which is of the appropriate type.
void EnableAscii (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d)
 Enable ascii trace output on each device in the container which is of the appropriate type.
void EnableAscii (std::string prefix, NodeContainer n)
 Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container.
void EnableAscii (Ptr< OutputStreamWrapper > stream, NodeContainer n)
 Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container.
void EnableAscii (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool explicitFilename)
 Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id.
void EnableAscii (Ptr< OutputStreamWrapper > stream, uint32_t nodeid, uint32_t deviceid)
 Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id.
void EnableAsciiAll (std::string prefix)
 Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation.
void EnableAsciiAll (Ptr< OutputStreamWrapper > stream)
 Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation.
virtual void EnableAsciiInternal (Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< NetDevice > nd, bool explicitFilename)=0
 Enable ascii trace output on the indicated net device.

Protected Member Functions

virtual int CreateFileDescriptor (void) const
Ptr< NetDeviceInstallPriv (Ptr< Node > node) const
virtual void SetFileDescriptor (Ptr< FdNetDevice > device) const

Protected Attributes

std::string m_deviceName

Detailed Description

build a set of FdNetDevice objects attached to a physical network interface

Definition at line 39 of file emu-fd-net-device-helper.h.

Constructor & Destructor Documentation

ns3::EmuFdNetDeviceHelper::EmuFdNetDeviceHelper ( )

Construct a EmuFdNetDeviceHelper.

Definition at line 62 of file emu-fd-net-device-helper.cc.

References m_deviceName.

virtual ns3::EmuFdNetDeviceHelper::~EmuFdNetDeviceHelper ( )
inlinevirtual

Definition at line 46 of file emu-fd-net-device-helper.h.

Member Function Documentation

int ns3::EmuFdNetDeviceHelper::CreateFileDescriptor ( void  ) const
protectedvirtual

Call out to a separate process running as suid root in order to get a raw socket. We do this to avoid having the entire simulation running as root.

Reimplemented in ns3::TapFdNetDeviceHelper, and ns3::PlanetLabFdNetDeviceHelper.

Definition at line 193 of file emu-fd-net-device-helper.cc.

References ns3::BufferToString(), EMU_MAGIC, NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, and NS_LOG_INFO.

Referenced by SetFileDescriptor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::string ns3::EmuFdNetDeviceHelper::GetDeviceName ( void  )

Get the device name of this device.

Returns
The device name of this device.

Definition at line 74 of file emu-fd-net-device-helper.cc.

References m_deviceName.

Ptr< NetDevice > ns3::EmuFdNetDeviceHelper::InstallPriv ( Ptr< Node node) const
protectedvirtual

Reimplemented from ns3::FdNetDeviceHelper.

Reimplemented in ns3::TapFdNetDeviceHelper, and ns3::PlanetLabFdNetDeviceHelper.

Definition at line 80 of file emu-fd-net-device-helper.cc.

References ns3::Object::GetObject(), and SetFileDescriptor().

+ Here is the call graph for this function:

void ns3::EmuFdNetDeviceHelper::SetDeviceName ( std::string  deviceName)

Set the device name of this device.

Parameters
deviceNameThe device name of this device.

Definition at line 68 of file emu-fd-net-device-helper.cc.

References m_deviceName.

Referenced by main().

+ Here is the caller graph for this function:

void ns3::EmuFdNetDeviceHelper::SetFileDescriptor ( Ptr< FdNetDevice device) const
protectedvirtual

Sets a file descriptor on the FileDescriptorNetDevice.

Reimplemented in ns3::TapFdNetDeviceHelper, and ns3::PlanetLabFdNetDeviceHelper.

Definition at line 89 of file emu-fd-net-device-helper.cc.

References CreateFileDescriptor(), m_deviceName, NS_FATAL_ERROR, and NS_LOG_LOGIC.

Referenced by InstallPriv().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::string ns3::EmuFdNetDeviceHelper::m_deviceName
protected

The documentation for this class was generated from the following files: