build a set of FdNetDevice objects attached to a virtual TAP network interface More...
#include <planetlab-fd-net-device-helper.h>
Public Member Functions | |
PlanetLabFdNetDeviceHelper () | |
Construct a PlanetLabFdNetDeviceHelper. More... | |
virtual | ~PlanetLabFdNetDeviceHelper () |
void | SetTapIpAddress (Ipv4Address address) |
Set the device IPv4 address. More... | |
void | SetTapMask (Ipv4Mask mask) |
Set the network mask for the TAP device. More... | |
Public Member Functions inherited from ns3::EmuFdNetDeviceHelper | |
EmuFdNetDeviceHelper () | |
Construct a EmuFdNetDeviceHelper. More... | |
virtual | ~EmuFdNetDeviceHelper () |
std::string | GetDeviceName (void) |
Get the device name of this device. More... | |
void | SetDeviceName (std::string deviceName) |
Set the device name of this device. More... | |
Public Member Functions inherited from ns3::FdNetDeviceHelper | |
FdNetDeviceHelper () | |
Construct a FdNetDeviceHelper. More... | |
virtual | ~FdNetDeviceHelper () |
virtual NetDeviceContainer | Install (Ptr< Node > node) const |
This method creates a FdNetDevice and associates it to a node. More... | |
virtual NetDeviceContainer | Install (std::string name) const |
This method creates a FdNetDevice and associates it to a node. More... | |
virtual NetDeviceContainer | Install (const NodeContainer &c) const |
This method creates a FdNetDevice and associates it to a node. More... | |
void | SetAttribute (std::string n1, const AttributeValue &v1) |
Public Member Functions inherited from ns3::PcapHelperForDevice | |
PcapHelperForDevice () | |
Construct a PcapHelperForDevice. More... | |
virtual | ~PcapHelperForDevice () |
Destroy a PcapHelperForDevice. More... | |
void | EnablePcap (std::string prefix, Ptr< NetDevice > nd, bool promiscuous=false, bool explicitFilename=false) |
Enable pcap output the indicated net device. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
Public Member Functions inherited from ns3::AsciiTraceHelperForDevice | |
AsciiTraceHelperForDevice () | |
Construct an AsciiTraceHelperForDevice. More... | |
virtual | ~AsciiTraceHelperForDevice () |
Destroy an AsciiTraceHelperForDevice. More... | |
void | EnableAscii (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false) |
Enable ascii trace output on the indicated net device. More... | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd) |
Enable ascii trace output on the indicated net device. More... | |
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. More... | |
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. More... | |
void | EnableAscii (std::string prefix, NetDeviceContainer d) |
Enable ascii trace output on each device in the container which is of the appropriate type. More... | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d) |
Enable ascii trace output on each device in the container which is of the appropriate type. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
Protected Member Functions | |
virtual int | CreateFileDescriptor (void) const |
Call out to a separate process running as suid root in order to create a TAP device and obtain the file descriptor associated to it. More... | |
Ptr< NetDevice > | InstallPriv (Ptr< Node > node) const |
virtual void | SetFileDescriptor (Ptr< FdNetDevice > device) const |
Sets a file descriptor on the FileDescriptorNetDevice. More... | |
Protected Attributes | |
Ipv4Address | m_tapIp |
Ipv4Mask | m_tapMask |
Protected Attributes inherited from ns3::EmuFdNetDeviceHelper | |
std::string | m_deviceName |
build a set of FdNetDevice objects attached to a virtual TAP network interface
Definition at line 43 of file planetlab-fd-net-device-helper.h.
ns3::PlanetLabFdNetDeviceHelper::PlanetLabFdNetDeviceHelper | ( | ) |
Construct a PlanetLabFdNetDeviceHelper.
Definition at line 67 of file planetlab-fd-net-device-helper.cc.
|
inlinevirtual |
Definition at line 50 of file planetlab-fd-net-device-helper.h.
|
protectedvirtual |
Call out to a separate process running as suid root in order to create a TAP device and obtain the file descriptor associated to it.
Reimplemented from ns3::EmuFdNetDeviceHelper.
Definition at line 120 of file planetlab-fd-net-device-helper.cc.
References ns3::BufferToString(), ns3::Ipv4Mask::GetPrefixLength(), m_tapIp, m_tapMask, NS_ABORT_MSG_IF, NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_INFO, and PLANETLAB_MAGIC.
Referenced by SetFileDescriptor().
|
protectedvirtual |
Reimplemented from ns3::EmuFdNetDeviceHelper.
Definition at line 86 of file planetlab-fd-net-device-helper.cc.
References ns3::FdNetDevice::DIXPI, ns3::FdNetDeviceHelper::InstallPriv(), ns3::FdNetDevice::SetEncapsulationMode(), and SetFileDescriptor().
|
protectedvirtual |
Sets a file descriptor on the FileDescriptorNetDevice.
Reimplemented from ns3::EmuFdNetDeviceHelper.
Definition at line 107 of file planetlab-fd-net-device-helper.cc.
References CreateFileDescriptor(), and NS_LOG_LOGIC.
Referenced by InstallPriv().
void ns3::PlanetLabFdNetDeviceHelper::SetTapIpAddress | ( | Ipv4Address | address | ) |
Set the device IPv4 address.
address | The IPv4 address for the TAP device. |
Definition at line 74 of file planetlab-fd-net-device-helper.cc.
References first::address, and m_tapIp.
Referenced by main().
void ns3::PlanetLabFdNetDeviceHelper::SetTapMask | ( | Ipv4Mask | mask | ) |
Set the network mask for the TAP device.
mask | The network mask for the TAP device. |
Definition at line 80 of file planetlab-fd-net-device-helper.cc.
References m_tapMask.
Referenced by main().
|
protected |
The IP address for the TAP device.
Definition at line 90 of file planetlab-fd-net-device-helper.h.
Referenced by CreateFileDescriptor(), PlanetLabFdNetDeviceHelper(), and SetTapIpAddress().
|
protected |
The network mask for the TAP device.
Definition at line 97 of file planetlab-fd-net-device-helper.h.
Referenced by CreateFileDescriptor(), PlanetLabFdNetDeviceHelper(), and SetTapMask().