A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
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 ()
 Construct a EmuFdNetDeviceHelper.
 
 ~EmuFdNetDeviceHelper () override
 
std::string GetDeviceName ()
 Get the device name of this device.
 
void HostQdiscBypass (bool hostQdiscBypass)
 Request host qdisc bypass.
 
void SetDeviceName (std::string deviceName)
 Set the device name of this device.
 
- Public Member Functions inherited from ns3::FdNetDeviceHelper
 FdNetDeviceHelper ()
 Construct a FdNetDeviceHelper.
 
 ~FdNetDeviceHelper () override
 
virtual NetDeviceContainer Install (const NodeContainer &c) const
 This method creates a FdNetDevice and associates it to a node.
 
virtual NetDeviceContainer Install (Ptr< Node > node) const
 This method creates a FdNetDevice and associates it to a node.
 
virtual NetDeviceContainer Install (std::string name) const
 This method creates a FdNetDevice and associates it to a node.
 
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.
 
- Public Member Functions inherited from ns3::PcapHelperForDevice
 PcapHelperForDevice ()
 Construct a PcapHelperForDevice.
 
virtual ~PcapHelperForDevice ()
 Destroy a PcapHelperForDevice.
 
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, 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, 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 (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d)
 Enable ascii trace output on each device in the container which is of the appropriate type.
 
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 (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd)
 Enable ascii trace output on the indicated net device.
 
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 (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 EnableAscii (std::string prefix, 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 (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false)
 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 (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 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.
 
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.
 
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 () const
 Call out to a separate process running as suid root in order to get a raw socket.
 
Ptr< NetDeviceInstallPriv (Ptr< Node > node) const override
 This method creates an ns3::FdNetDevice attached to a physical network interface.
 
virtual void SetFileDescriptor (Ptr< FdNetDevice > device) const
 Sets a file descriptor on the FileDescriptorNetDevice.
 
virtual Ptr< NetDeviceInstallPriv (Ptr< Node > node) const
 This method creates an ns3::FdNetDevice and associates it to a node.
 

Protected Attributes

std::string m_deviceName
 The Unix/Linux name of the underlying device (e.g., eth0)
 
bool m_hostQdiscBypass
 True if request host qdisc bypass.
 

Detailed Description

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

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

Constructor & Destructor Documentation

◆ EmuFdNetDeviceHelper()

ns3::EmuFdNetDeviceHelper::EmuFdNetDeviceHelper ( )

Construct a EmuFdNetDeviceHelper.

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

References m_deviceName, and m_hostQdiscBypass.

◆ ~EmuFdNetDeviceHelper()

ns3::EmuFdNetDeviceHelper::~EmuFdNetDeviceHelper ( )
inlineoverride

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

Member Function Documentation

◆ CreateFileDescriptor()

int ns3::EmuFdNetDeviceHelper::CreateFileDescriptor ( ) 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.

Returns
the rawSocket number

Reimplemented in ns3::TapFdNetDeviceHelper.

Definition at line 221 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:

◆ GetDeviceName()

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

Get the device name of this device.

Returns
The device name of this device.

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

References m_deviceName.

◆ HostQdiscBypass()

void ns3::EmuFdNetDeviceHelper::HostQdiscBypass ( bool  hostQdiscBypass)

Request host qdisc bypass.

Parameters
hostQdiscBypassto enable host qdisc bypass

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

References m_hostQdiscBypass.

◆ InstallPriv()

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

This method creates an ns3::FdNetDevice attached to a physical network interface.

Parameters
nodeThe node to install the device in
Returns
A container holding the added net device.

Reimplemented from ns3::FdNetDeviceHelper.

Reimplemented in ns3::TapFdNetDeviceHelper.

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

References ns3::FdNetDeviceHelper::InstallPriv(), and SetFileDescriptor().

+ Here is the call graph for this function:

◆ SetDeviceName()

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

Set the device name of this device.

Parameters
deviceNameThe device name of this device.

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

References m_deviceName.

Referenced by ns3::EmuEpcHelper::EmuEpcHelper(), and ns3::EmuEpcHelper::AddEnb().

+ Here is the caller graph for this function:

◆ SetFileDescriptor()

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

Sets a file descriptor on the FileDescriptorNetDevice.

Parameters
devicethe device to install the file descriptor in

Reimplemented in ns3::TapFdNetDeviceHelper.

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

References CreateFileDescriptor(), m_deviceName, m_hostQdiscBypass, NS_FATAL_ERROR, NS_LOG_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

◆ m_deviceName

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

◆ m_hostQdiscBypass

bool ns3::EmuFdNetDeviceHelper::m_hostQdiscBypass
protected

True if request host qdisc bypass.

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

Referenced by EmuFdNetDeviceHelper(), HostQdiscBypass(), and SetFileDescriptor().


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