build a set of FdNetDevice objects attached to a virtual TAP network interface More...
#include "planetlab-fd-net-device-helper.h"
 Inheritance diagram for ns3::PlanetLabFdNetDeviceHelper:
 Inheritance diagram for ns3::PlanetLabFdNetDeviceHelper: Collaboration diagram for ns3::PlanetLabFdNetDeviceHelper:
 Collaboration diagram for ns3::PlanetLabFdNetDeviceHelper:| 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 | HostQdiscBypass (bool hostQdiscBypass) | 
| Request host qdisc bypass.  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) | 
| void | SetTypeId (std::string type) | 
| Set the TypeId of the Objects to be created by this helper.  More... | |
|  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 | 
| This method creates an ns3::FdNetDevice attached to a virtual TAP network interface.  More... | |
| virtual void | SetFileDescriptor (Ptr< FdNetDevice > device) const | 
| Sets a file descriptor on the FileDescriptorNetDevice.  More... | |
| Protected Attributes | |
| Ipv4Address | m_tapIp | 
| The IP address for the TAP device.  More... | |
| Ipv4Mask | m_tapMask | 
| The network mask for the TAP device.  More... | |
|  Protected Attributes inherited from ns3::EmuFdNetDeviceHelper | |
| std::string | m_deviceName | 
| The Unix/Linux name of the underlying device (e.g., eth0)  More... | |
| bool | m_hostQdiscBypass | 
build a set of FdNetDevice objects attached to a virtual TAP network interface
Definition at line 44 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 51 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | protectedvirtual | 
This method creates an ns3::FdNetDevice attached to a virtual TAP network interface.
| node | The node to install the device in | 
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().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 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.
| 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.
| 
 | protected | 
The IP address for the TAP device.
Definition at line 94 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 99 of file planetlab-fd-net-device-helper.h.
Referenced by CreateFileDescriptor(), PlanetLabFdNetDeviceHelper(), and SetTapMask().