SatOrbiterNetDevice to be utilized in geostationary satellite. More...
#include "satellite-orbiter-net-device.h"
Public Member Functions | |
SatOrbiterNetDevice () | |
Default constructor. More... | |
void | AddFeederMac (Ptr< SatMac > mac, Ptr< SatMac > macUsed, uint32_t beamId) |
Add the Feeder MAC object for the beam. More... | |
void | AddFeederPair (uint32_t beamId, Mac48Address satelliteFeederAddress) |
Add an entry in the database to get satellite feeder address from beam ID. More... | |
void | AddFeederPhy (Ptr< SatPhy > phy, uint32_t beamId) |
Add the Feeder Phy object for the beam. More... | |
void | AddIslsNetDevice (Ptr< PointToPointIslNetDevice > islNetDevices) |
Add a ISL Net Device to this satellite. More... | |
virtual void | AddLinkChangeCallback (Callback< void > callback) |
void | AddUserMac (Ptr< SatMac > mac, uint32_t beamId) |
Add the User MAC object for the beam. More... | |
void | AddUserPair (uint32_t beamId, Mac48Address satelliteUserAddress) |
Add an entry in the database to get satellite user address from beam ID. More... | |
void | AddUserPhy (Ptr< SatPhy > phy, uint32_t beamId) |
Add the User Phy object for the beam. More... | |
void | ConnectGw (Mac48Address gwAddress, uint32_t beamId) |
Connect a GW to this satellite. More... | |
virtual void | ConnectUt (Mac48Address utAddress, uint32_t beamId)=0 |
Connect a UT to this satellite. More... | |
void | DisconnectGw (Mac48Address gwAddress, uint32_t beamId) |
Disconnect a GW to this satellite. More... | |
virtual void | DisconnectUt (Mac48Address utAddress, uint32_t beamId)=0 |
Disconnect a UT to this satellite. More... | |
virtual Address | GetAddress (void) const |
std::map< uint32_t, Ptr< SatMac > > | GetAllFeederMac () |
Get all Feeder MAC objects attached to this satellite. More... | |
Ptr< SatIslArbiter > | GetArbiter () |
Get the arbiter for ISL routing. More... | |
virtual Address | GetBroadcast (void) const |
virtual Ptr< Channel > | GetChannel (void) const |
std::map< uint32_t, Ptr< SatMac > > | GetFeederMac () |
Get all Feeder MAC objects attached to this satellite that are in use. More... | |
Ptr< SatMac > | GetFeederMac (uint32_t beamId) |
Get the Feeder MAC object for the beam. More... | |
std::map< uint32_t, Ptr< SatPhy > > | GetFeederPhy () |
Get all Feeder Phy objects attached to this satellite. More... | |
Ptr< SatPhy > | GetFeederPhy (uint32_t beamId) |
Get the Feeder Phy object for the beam. More... | |
std::set< Mac48Address > | GetGwConnected () |
The the list of MAC GW connected to this satellite. More... | |
virtual uint32_t | GetIfIndex (void) const |
std::vector< Ptr< PointToPointIslNetDevice > > | GetIslsNetDevices () |
Get all the ISL Net devices. More... | |
virtual uint16_t | GetMtu (void) const |
virtual Address | GetMulticast (Ipv4Address multicastGroup) const |
virtual Address | GetMulticast (Ipv6Address addr) const |
virtual Ptr< Node > | GetNode (void) const |
Mac48Address | GetSatelliteFeederAddress (uint32_t beamId) |
Get satellite feeder entry from associated beam ID. More... | |
Mac48Address | GetSatelliteUserAddress (uint32_t beamId) |
Get satellite user entry from associated beam ID. More... | |
std::map< uint32_t, Ptr< SatMac > > | GetUserMac () |
Get all User MAC objects attached to this satellite. More... | |
Ptr< SatMac > | GetUserMac (uint32_t beamId) |
Get the User MAC object for the beam. More... | |
std::map< uint32_t, Ptr< SatPhy > > | GetUserPhy () |
Get all User Phy objects attached to this satellite. More... | |
Ptr< SatPhy > | GetUserPhy (uint32_t beamId) |
Get the User Phy object for the beam. More... | |
std::set< Mac48Address > | GetUtConnected () |
The the list of UT MAC connected to this satellite. More... | |
virtual bool | IsBridge (void) const |
virtual bool | IsBroadcast (void) const |
virtual bool | IsLinkUp (void) const |
virtual bool | IsMulticast (void) const |
virtual bool | IsPointToPoint (void) const |
virtual bool | NeedsArp (void) const |
void | ReceiveFeeder (SatPhy::PacketContainer_t packets, Ptr< SatSignalParameters > rxParams) |
Receive the packet from the lower layers. More... | |
virtual void | ReceiveFromIsl (Ptr< Packet > packet, Mac48Address destination)=0 |
Receive a packet from ISL. More... | |
virtual void | ReceivePacketFeeder (Ptr< Packet > packet, const Address &feederAddress)=0 |
Receive the packet from the lower layers, in network regeneration on forward link. More... | |
virtual void | ReceivePacketUser (Ptr< Packet > packet, const Address &userAddress)=0 |
Receive the packet from the lower layers, in network regeneration on return link. More... | |
void | ReceiveUser (SatPhy::PacketContainer_t packets, Ptr< SatSignalParameters > rxParams) |
Receive the packet from the lower layers. More... | |
virtual bool | Send (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber) |
virtual bool | SendControlMsgToFeeder (Ptr< SatControlMessage > msg, const Address &dest, Ptr< SatSignalParameters > rxParams)=0 |
Send a control packet on the feeder link. More... | |
virtual bool | SendFrom (Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber) |
void | SendToIsl (Ptr< Packet > packet, Mac48Address destination) |
Send a packet to ISL. More... | |
virtual void | SetAddress (Address address) |
void | SetArbiter (Ptr< SatIslArbiter > arbiter) |
Set the arbiter for ISL routing. More... | |
void | SetForwardLinkRegenerationMode (SatEnums::RegenerationMode_t forwardLinkRegenerationMode) |
Set the forward link regeneration mode. More... | |
virtual void | SetIfIndex (const uint32_t index) |
virtual bool | SetMtu (const uint16_t mtu) |
virtual void | SetNode (Ptr< Node > node) |
void | SetNodeId (uint32_t nodeId) |
virtual void | SetPromiscReceiveCallback (PromiscReceiveCallback cb) |
virtual void | SetReceiveCallback (NetDevice::ReceiveCallback cb) |
void | SetReceiveErrorModel (Ptr< ErrorModel > em) |
Attach a receive ErrorModel to the SatOrbiterNetDevice. More... | |
void | SetReturnLinkRegenerationMode (SatEnums::RegenerationMode_t returnLinkRegenerationMode) |
Set the return link regeneration mode. More... | |
virtual bool | SupportsSendFrom (void) const |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Protected Member Functions | |
virtual void | DoDispose (void) |
Dispose of this class instance. More... | |
Address | GetRxUtAddress (Ptr< Packet > packet, SatEnums::SatLinkDir_t ld) |
Get UT MAC address associated to this packet. More... | |
Protected Attributes | |
Mac48Address | m_address |
std::map< uint32_t, Mac48Address > | m_addressMapFeeder |
std::map< uint32_t, Mac48Address > | m_addressMapUser |
std::map< uint32_t, Ptr< SatMac > > | m_allFeederMac |
Ptr< SatIslArbiter > | m_arbiter |
Arbiter used to route on ISLs. More... | |
std::set< uint32_t > | m_broadcastReceived |
Keep a count of all incoming broadcast data to avoid handling them several times. More... | |
std::map< uint32_t, Ptr< SatMac > > | m_feederMac |
std::map< uint32_t, Ptr< SatPhy > > | m_feederPhy |
SatEnums::RegenerationMode_t | m_forwardLinkRegenerationMode |
std::map< Mac48Address, uint32_t > | m_gwConnected |
Set containing all connected GWs. More... | |
uint32_t | m_ifIndex |
std::vector< Ptr< PointToPointIslNetDevice > > | m_islNetDevices |
List of ISLs starting from this node. More... | |
bool | m_isStatisticsTagsEnabled |
std::map< Mac48Address, Time > | m_lastDelays |
uint16_t | m_mtu |
Ptr< Node > | m_node |
uint32_t | m_nodeId |
TracedCallback< Time, SatEnums::SatPacketEvent_t, SatEnums::SatNodeType_t, uint32_t, Mac48Address, SatEnums::SatLogLevel_t, SatEnums::SatLinkDir_t, std::string > | m_packetTrace |
NetDevice::PromiscReceiveCallback | m_promiscCallback |
Ptr< ErrorModel > | m_receiveErrorModel |
SatEnums::RegenerationMode_t | m_returnLinkRegenerationMode |
NetDevice::ReceiveCallback | m_rxCallback |
TracedCallback< const Time &, const Address & > | m_rxFeederLinkDelayTrace |
Traced callback for all received packets, including feeder link delay information and the address of the senders. More... | |
TracedCallback< const Time &, const Address & > | m_rxFeederLinkJitterTrace |
Traced callback for all received packets, including feeder link jitter information and the address of the senders. More... | |
TracedCallback< Ptr< const Packet >, const Address & > | m_rxFeederTrace |
Traced callback for all received packets on feeder, including the address of the senders. More... | |
TracedCallback< const Time &, const Address & > | m_rxUserLinkDelayTrace |
Traced callback for all received packets, including user link delay information and the address of the senders. More... | |
TracedCallback< const Time &, const Address & > | m_rxUserLinkJitterTrace |
Traced callback for all received packets, including user link jitter information and the address of the senders. More... | |
TracedCallback< Ptr< const Packet >, const Address & > | m_rxUserTrace |
Traced callback for all received packets on user, including the address of the senders. More... | |
TracedCallback< Ptr< const Packet >, const Address & > | m_signallingTxTrace |
Traced callback for all signalling (control message) packets sent, including the destination address. More... | |
TracedCallback< Ptr< const Packet > > | m_txTrace |
Traced callback for all packets received to be transmitted. More... | |
std::map< uint32_t, Ptr< SatMac > > | m_userMac |
std::map< uint32_t, Ptr< SatPhy > > | m_userPhy |
std::map< Mac48Address, uint32_t > | m_utConnected |
Set containing all connected UTs. More... | |
SatOrbiterNetDevice to be utilized in geostationary satellite.
SatOrbiterNetDevice holds a set of phy layers towards user and feeder links; one pair of phy layers for each spot-beam. The SatNetDevice implements a simple switching between all user and feeder links modeling transparent payload.
Definition at line 57 of file satellite-orbiter-net-device.h.
ns3::SatOrbiterNetDevice::SatOrbiterNetDevice | ( | ) |
Default constructor.
Definition at line 141 of file satellite-orbiter-net-device.cc.
void ns3::SatOrbiterNetDevice::AddFeederMac | ( | Ptr< SatMac > | mac, |
Ptr< SatMac > | macUsed, | ||
uint32_t | beamId | ||
) |
Add the Feeder MAC object for the beam.
mac | feeder MAC created for this beam |
macUsed | feeder MAC that will be used to send data |
beamId | the id of the beam to use MAC for |
Definition at line 489 of file satellite-orbiter-net-device.cc.
References m_allFeederMac, and m_feederMac.
void ns3::SatOrbiterNetDevice::AddFeederPair | ( | uint32_t | beamId, |
Mac48Address | satelliteFeederAddress | ||
) |
Add an entry in the database to get satellite feeder address from beam ID.
beamId | Beam ID |
satelliteFeederAddress | MAC address on the satellite feeder |
Definition at line 535 of file satellite-orbiter-net-device.cc.
References m_addressMapFeeder.
void ns3::SatOrbiterNetDevice::AddFeederPhy | ( | Ptr< SatPhy > | phy, |
uint32_t | beamId | ||
) |
Add the Feeder Phy object for the beam.
phy | feeder phy object to add. |
beamId | the id of the beam to use phy for |
Definition at line 443 of file satellite-orbiter-net-device.cc.
References m_feederPhy.
void ns3::SatOrbiterNetDevice::AddIslsNetDevice | ( | Ptr< PointToPointIslNetDevice > | islNetDevices | ) |
Add a ISL Net Device to this satellite.
islNetDevices | ISL Net Device to add. |
Definition at line 672 of file satellite-orbiter-net-device.cc.
References m_islNetDevices.
|
virtual |
Definition at line 289 of file satellite-orbiter-net-device.cc.
void ns3::SatOrbiterNetDevice::AddUserMac | ( | Ptr< SatMac > | mac, |
uint32_t | beamId | ||
) |
Add the User MAC object for the beam.
mac | user MAC object to add. |
beamId | the id of the beam to use MAC for |
Definition at line 482 of file satellite-orbiter-net-device.cc.
References m_userMac.
void ns3::SatOrbiterNetDevice::AddUserPair | ( | uint32_t | beamId, |
Mac48Address | satelliteUserAddress | ||
) |
Add an entry in the database to get satellite user address from beam ID.
beamId | Beam ID |
satelliteUserAddress | MAC address on the satellite user |
Definition at line 543 of file satellite-orbiter-net-device.cc.
References m_addressMapUser.
void ns3::SatOrbiterNetDevice::AddUserPhy | ( | Ptr< SatPhy > | phy, |
uint32_t | beamId | ||
) |
Add the User Phy object for the beam.
phy | user phy object to add. |
beamId | the id of the beam to use phy for |
Definition at line 436 of file satellite-orbiter-net-device.cc.
References m_userPhy.
void ns3::SatOrbiterNetDevice::ConnectGw | ( | Mac48Address | gwAddress, |
uint32_t | beamId | ||
) |
Connect a GW to this satellite.
gwAddress | MAC address of the GW to connect |
beamId | beam used by satellite to reach this GW |
Definition at line 599 of file satellite-orbiter-net-device.cc.
References GetFeederMac(), m_feederMac, m_gwConnected, and m_nodeId.
|
pure virtual |
Connect a UT to this satellite.
utAddress | MAC address of the UT to connect |
beamId | beam used by satellite to reach this UT |
Implemented in ns3::SatOrbiterNetDeviceLora, and ns3::SatOrbiterNetDeviceDvb.
void ns3::SatOrbiterNetDevice::DisconnectGw | ( | Mac48Address | gwAddress, |
uint32_t | beamId | ||
) |
Disconnect a GW to this satellite.
gwAddress | MAC address of the GW to disconnect |
beamId | beam used by satellite to reach this GW |
Definition at line 621 of file satellite-orbiter-net-device.cc.
References GetFeederMac(), m_feederMac, and m_gwConnected.
|
pure virtual |
Disconnect a UT to this satellite.
utAddress | MAC address of the UT to disconnect |
beamId | beam used by satellite to reach this UT |
Implemented in ns3::SatOrbiterNetDeviceLora, and ns3::SatOrbiterNetDeviceDvb.
|
protectedvirtual |
Dispose of this class instance.
Definition at line 400 of file satellite-orbiter-net-device.cc.
References m_addressMapFeeder, m_addressMapUser, m_feederMac, m_feederPhy, m_node, m_receiveErrorModel, m_userMac, and m_userPhy.
|
virtual |
Definition at line 257 of file satellite-orbiter-net-device.cc.
References m_address.
std::map< uint32_t, Ptr< SatMac > > ns3::SatOrbiterNetDevice::GetAllFeederMac | ( | ) |
Get all Feeder MAC objects attached to this satellite.
Definition at line 529 of file satellite-orbiter-net-device.cc.
References m_allFeederMac.
Ptr< SatIslArbiter > ns3::SatOrbiterNetDevice::GetArbiter | ( | ) |
Get the arbiter for ISL routing.
Definition at line 696 of file satellite-orbiter-net-device.cc.
References m_arbiter.
|
virtual |
Definition at line 302 of file satellite-orbiter-net-device.cc.
|
virtual |
Definition at line 429 of file satellite-orbiter-net-device.cc.
std::map< uint32_t, Ptr< SatMac > > ns3::SatOrbiterNetDevice::GetFeederMac | ( | ) |
Get all Feeder MAC objects attached to this satellite that are in use.
Definition at line 523 of file satellite-orbiter-net-device.cc.
References m_feederMac.
Referenced by ConnectGw(), and DisconnectGw().
Ptr< SatMac > ns3::SatOrbiterNetDevice::GetFeederMac | ( | uint32_t | beamId | ) |
Get the Feeder MAC object for the beam.
beamId | the id of the beam to use MAC for |
Definition at line 507 of file satellite-orbiter-net-device.cc.
References m_feederMac.
std::map< uint32_t, Ptr< SatPhy > > ns3::SatOrbiterNetDevice::GetFeederPhy | ( | ) |
Get all Feeder Phy objects attached to this satellite.
Definition at line 476 of file satellite-orbiter-net-device.cc.
References m_feederPhy.
Ptr< SatPhy > ns3::SatOrbiterNetDevice::GetFeederPhy | ( | uint32_t | beamId | ) |
Get the Feeder Phy object for the beam.
beamId | the id of the beam to use phy for |
Definition at line 460 of file satellite-orbiter-net-device.cc.
References m_feederPhy, and m_userPhy.
std::set< Mac48Address > ns3::SatOrbiterNetDevice::GetGwConnected | ( | ) |
The the list of MAC GW connected to this satellite.
The SatOrbiterNetDevice will send to a GW if connected, otherwise it will send to ISLs.
Definition at line 642 of file satellite-orbiter-net-device.cc.
References m_gwConnected.
|
virtual |
Definition at line 243 of file satellite-orbiter-net-device.cc.
References m_ifIndex.
std::vector< Ptr< PointToPointIslNetDevice > > ns3::SatOrbiterNetDevice::GetIslsNetDevices | ( | ) |
Get all the ISL Net devices.
Definition at line 680 of file satellite-orbiter-net-device.cc.
References m_islNetDevices.
|
virtual |
Definition at line 275 of file satellite-orbiter-net-device.cc.
References m_mtu.
|
virtual |
Definition at line 316 of file satellite-orbiter-net-device.cc.
|
virtual |
Definition at line 323 of file satellite-orbiter-net-device.cc.
|
virtual |
Definition at line 373 of file satellite-orbiter-net-device.cc.
References m_node.
|
protected |
Get UT MAC address associated to this packet.
May be source or destination depending on link
Definition at line 575 of file satellite-orbiter-net-device.cc.
References ns3::SatAddressE2ETag::GetE2EDestAddress(), ns3::SatAddressE2ETag::GetE2ESourceAddress(), ns3::SatEnums::LD_FORWARD, and ns3::SatEnums::LD_RETURN.
Referenced by ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketUser().
Mac48Address ns3::SatOrbiterNetDevice::GetSatelliteFeederAddress | ( | uint32_t | beamId | ) |
Get satellite feeder entry from associated beam ID.
beamId | Beam ID |
Definition at line 551 of file satellite-orbiter-net-device.cc.
References m_addressMapFeeder.
Mac48Address ns3::SatOrbiterNetDevice::GetSatelliteUserAddress | ( | uint32_t | beamId | ) |
Get satellite user entry from associated beam ID.
beamId | Beam ID |
Definition at line 563 of file satellite-orbiter-net-device.cc.
References m_addressMapUser.
|
static |
Get the type ID.
Definition at line 65 of file satellite-orbiter-net-device.cc.
References m_feederMac, m_feederPhy, m_isStatisticsTagsEnabled, m_packetTrace, m_receiveErrorModel, m_rxFeederLinkDelayTrace, m_rxFeederLinkJitterTrace, m_rxFeederTrace, m_rxUserLinkDelayTrace, m_rxUserLinkJitterTrace, m_rxUserTrace, m_signallingTxTrace, m_txTrace, m_userMac, and m_userPhy.
std::map< uint32_t, Ptr< SatMac > > ns3::SatOrbiterNetDevice::GetUserMac | ( | ) |
Get all User MAC objects attached to this satellite.
Definition at line 517 of file satellite-orbiter-net-device.cc.
References m_userMac.
Referenced by ns3::SatOrbiterNetDeviceDvb::ConnectUt(), and ns3::SatOrbiterNetDeviceDvb::DisconnectUt().
Ptr< SatMac > ns3::SatOrbiterNetDevice::GetUserMac | ( | uint32_t | beamId | ) |
Get the User MAC object for the beam.
beamId | the id of the beam to use MAC for |
Definition at line 497 of file satellite-orbiter-net-device.cc.
References m_userMac.
std::map< uint32_t, Ptr< SatPhy > > ns3::SatOrbiterNetDevice::GetUserPhy | ( | ) |
Get all User Phy objects attached to this satellite.
Definition at line 470 of file satellite-orbiter-net-device.cc.
References m_userPhy.
Ptr< SatPhy > ns3::SatOrbiterNetDevice::GetUserPhy | ( | uint32_t | beamId | ) |
Get the User Phy object for the beam.
beamId | the id of the beam to use phy for |
Definition at line 450 of file satellite-orbiter-net-device.cc.
References m_userPhy.
std::set< Mac48Address > ns3::SatOrbiterNetDevice::GetUtConnected | ( | ) |
The the list of UT MAC connected to this satellite.
The SatOrbiterNetDevice will send to a UT if connected, otherwise it will send to ISLs.
Definition at line 657 of file satellite-orbiter-net-device.cc.
References m_utConnected.
|
virtual |
Definition at line 337 of file satellite-orbiter-net-device.cc.
|
virtual |
Definition at line 295 of file satellite-orbiter-net-device.cc.
|
virtual |
Definition at line 282 of file satellite-orbiter-net-device.cc.
|
virtual |
Definition at line 309 of file satellite-orbiter-net-device.cc.
|
virtual |
Definition at line 330 of file satellite-orbiter-net-device.cc.
|
virtual |
Definition at line 387 of file satellite-orbiter-net-device.cc.
void ns3::SatOrbiterNetDevice::ReceiveFeeder | ( | SatPhy::PacketContainer_t | packets, |
Ptr< SatSignalParameters > | rxParams | ||
) |
Receive the packet from the lower layers.
packets | Container of pointers to the packets to be received. |
rxParams | Packet transmission parameters |
Definition at line 185 of file satellite-orbiter-net-device.cc.
References m_forwardLinkRegenerationMode, m_userPhy, ns3::SatEnums::REGENERATION_NETWORK, ns3::SatEnums::REGENERATION_PHY, and ns3::SatEnums::TRANSPARENT.
Referenced by ns3::SatOrbiterHelper::AttachChannelsFeeder().
|
pure virtual |
Receive a packet from ISL.
packet | The packet to send |
destination | The MAC address of ground station that will receive the packet |
Implemented in ns3::SatOrbiterNetDeviceLora, and ns3::SatOrbiterNetDeviceDvb.
|
pure virtual |
Receive the packet from the lower layers, in network regeneration on forward link.
packet | Packet received |
feederAddress | MAC address of feeder that received this packet |
Implemented in ns3::SatOrbiterNetDeviceLora, and ns3::SatOrbiterNetDeviceDvb.
Referenced by ns3::SatOrbiterHelper::AttachChannelsFeeder().
|
pure virtual |
Receive the packet from the lower layers, in network regeneration on return link.
packet | Packet received |
userAddress | MAC address of user that received this packet |
Implemented in ns3::SatOrbiterNetDeviceLora, and ns3::SatOrbiterNetDeviceDvb.
Referenced by ns3::SatOrbiterHelperDvb::AttachChannelsUser().
void ns3::SatOrbiterNetDevice::ReceiveUser | ( | SatPhy::PacketContainer_t | packets, |
Ptr< SatSignalParameters > | rxParams | ||
) |
Receive the packet from the lower layers.
packets | Container of pointers to the packets to be received. |
rxParams | Packet transmission parameters |
Definition at line 150 of file satellite-orbiter-net-device.cc.
References m_feederMac, m_feederPhy, m_returnLinkRegenerationMode, ns3::SatEnums::REGENERATION_LINK, ns3::SatEnums::REGENERATION_NETWORK, ns3::SatEnums::REGENERATION_PHY, and ns3::SatEnums::TRANSPARENT.
Referenced by ns3::SatOrbiterHelperDvb::AttachChannelsUser(), and ns3::SatOrbiterHelperLora::AttachChannelsUser().
|
virtual |
The satellite does not have higher protocol layers which utilize the Send method! Thus, this method should not be used!
Definition at line 344 of file satellite-orbiter-net-device.cc.
|
pure virtual |
Send a control packet on the feeder link.
msg | The control message to send |
dest | The MAC destination |
rxParams | Strucutre storing additional parameters |
Implemented in ns3::SatOrbiterNetDeviceLora, and ns3::SatOrbiterNetDeviceDvb.
Referenced by ns3::SatOrbiterHelperDvb::AttachChannelsUser(), and ns3::SatOrbiterHelperLora::AttachChannelsUser().
|
virtual |
The satellite does not have higher protocol layers which utilize the SendFrom method! Thus, this method should not be used!
Definition at line 357 of file satellite-orbiter-net-device.cc.
void ns3::SatOrbiterNetDevice::SendToIsl | ( | Ptr< Packet > | packet, |
Mac48Address | destination | ||
) |
Send a packet to ISL.
packet | The packet to send |
destination | The MAC address of ground station that will receive the packet |
Definition at line 704 of file satellite-orbiter-net-device.cc.
References m_arbiter, m_islNetDevices, and m_nodeId.
Referenced by ns3::SatOrbiterNetDeviceDvb::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceLora::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketUser().
|
virtual |
Definition at line 250 of file satellite-orbiter-net-device.cc.
References m_address.
void ns3::SatOrbiterNetDevice::SetArbiter | ( | Ptr< SatIslArbiter > | arbiter | ) |
Set the arbiter for ISL routing.
arbiter | The arbiter to set |
Definition at line 688 of file satellite-orbiter-net-device.cc.
References m_arbiter.
void ns3::SatOrbiterNetDevice::SetForwardLinkRegenerationMode | ( | SatEnums::RegenerationMode_t | forwardLinkRegenerationMode | ) |
Set the forward link regeneration mode.
forwardLinkRegenerationMode | The regeneration mode. |
Definition at line 216 of file satellite-orbiter-net-device.cc.
References m_forwardLinkRegenerationMode.
|
virtual |
Definition at line 236 of file satellite-orbiter-net-device.cc.
References m_ifIndex.
|
virtual |
Definition at line 267 of file satellite-orbiter-net-device.cc.
References m_mtu.
|
virtual |
Definition at line 380 of file satellite-orbiter-net-device.cc.
References m_node.
void ns3::SatOrbiterNetDevice::SetNodeId | ( | uint32_t | nodeId | ) |
Definition at line 230 of file satellite-orbiter-net-device.cc.
References m_nodeId.
|
virtual |
Definition at line 415 of file satellite-orbiter-net-device.cc.
References m_promiscCallback.
|
virtual |
Definition at line 394 of file satellite-orbiter-net-device.cc.
void ns3::SatOrbiterNetDevice::SetReceiveErrorModel | ( | Ptr< ErrorModel > | em | ) |
Attach a receive ErrorModel to the SatOrbiterNetDevice.
em | Ptr to the ErrorModel. |
Definition at line 209 of file satellite-orbiter-net-device.cc.
References m_receiveErrorModel.
void ns3::SatOrbiterNetDevice::SetReturnLinkRegenerationMode | ( | SatEnums::RegenerationMode_t | returnLinkRegenerationMode | ) |
Set the return link regeneration mode.
returnLinkRegenerationMode | The regeneration mode. |
Definition at line 223 of file satellite-orbiter-net-device.cc.
References m_returnLinkRegenerationMode.
|
virtual |
Definition at line 422 of file satellite-orbiter-net-device.cc.
|
protected |
Definition at line 373 of file satellite-orbiter-net-device.h.
Referenced by GetAddress(), ns3::SatOrbiterNetDeviceDvb::SendControlMsgToFeeder(), and SetAddress().
|
protected |
Definition at line 382 of file satellite-orbiter-net-device.h.
Referenced by AddFeederPair(), DoDispose(), and GetSatelliteFeederAddress().
|
protected |
Definition at line 384 of file satellite-orbiter-net-device.h.
Referenced by AddUserPair(), DoDispose(), and GetSatelliteUserAddress().
|
protected |
Definition at line 380 of file satellite-orbiter-net-device.h.
Referenced by AddFeederMac(), and GetAllFeederMac().
|
protected |
Arbiter used to route on ISLs.
Definition at line 412 of file satellite-orbiter-net-device.h.
Referenced by GetArbiter(), SendToIsl(), and SetArbiter().
|
protected |
Keep a count of all incoming broadcast data to avoid handling them several times.
Definition at line 417 of file satellite-orbiter-net-device.h.
Referenced by ns3::SatOrbiterNetDeviceDvb::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceLora::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder().
|
protected |
Definition at line 378 of file satellite-orbiter-net-device.h.
Referenced by AddFeederMac(), ConnectGw(), DisconnectGw(), DoDispose(), GetFeederMac(), GetTypeId(), ns3::SatOrbiterNetDeviceDvb::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceLora::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), ns3::SatOrbiterNetDeviceLora::ReceivePacketUser(), ReceiveUser(), and ns3::SatOrbiterNetDeviceDvb::SendControlMsgToFeeder().
|
protected |
Definition at line 376 of file satellite-orbiter-net-device.h.
Referenced by AddFeederPhy(), DoDispose(), GetFeederPhy(), GetTypeId(), ReceiveUser(), and ns3::SatOrbiterNetDeviceDvb::SendControlMsgToFeeder().
|
protected |
Definition at line 386 of file satellite-orbiter-net-device.h.
Referenced by ReceiveFeeder(), and SetForwardLinkRegenerationMode().
|
protected |
Set containing all connected GWs.
Key is GW MAC address, and value is associated beam ID
Definition at line 397 of file satellite-orbiter-net-device.h.
Referenced by ConnectGw(), DisconnectGw(), GetGwConnected(), ns3::SatOrbiterNetDeviceDvb::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceLora::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketUser().
|
protected |
Definition at line 372 of file satellite-orbiter-net-device.h.
Referenced by GetIfIndex(), and SetIfIndex().
|
protected |
List of ISLs starting from this node.
Definition at line 407 of file satellite-orbiter-net-device.h.
Referenced by AddIslsNetDevice(), GetIslsNetDevices(), ns3::SatOrbiterNetDeviceDvb::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceLora::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), ns3::SatOrbiterNetDeviceLora::ReceivePacketUser(), and SendToIsl().
|
protected |
Definition at line 390 of file satellite-orbiter-net-device.h.
Referenced by GetTypeId(), ns3::SatOrbiterNetDeviceDvb::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceLora::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), ns3::SatOrbiterNetDeviceLora::ReceivePacketUser(), and ns3::SatOrbiterNetDeviceDvb::SendControlMsgToFeeder().
|
protected |
|
protected |
Definition at line 371 of file satellite-orbiter-net-device.h.
|
protected |
Definition at line 370 of file satellite-orbiter-net-device.h.
Referenced by DoDispose(), GetNode(), and SetNode().
|
protected |
Definition at line 388 of file satellite-orbiter-net-device.h.
Referenced by ConnectGw(), ns3::SatOrbiterNetDeviceDvb::ConnectUt(), ns3::SatOrbiterNetDeviceLora::ConnectUt(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), ns3::SatOrbiterNetDeviceLora::ReceivePacketUser(), SendToIsl(), and SetNodeId().
|
protected |
|
protected |
Definition at line 369 of file satellite-orbiter-net-device.h.
Referenced by SetPromiscReceiveCallback().
|
protected |
Definition at line 374 of file satellite-orbiter-net-device.h.
Referenced by DoDispose(), GetTypeId(), and SetReceiveErrorModel().
|
protected |
Definition at line 387 of file satellite-orbiter-net-device.h.
Referenced by ReceiveUser(), ns3::SatOrbiterNetDeviceDvb::SendControlMsgToFeeder(), and SetReturnLinkRegenerationMode().
|
protected |
Definition at line 368 of file satellite-orbiter-net-device.h.
|
protected |
Traced callback for all received packets, including feeder link delay information and the address of the senders.
Definition at line 456 of file satellite-orbiter-net-device.h.
Referenced by GetTypeId(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder().
|
protected |
Traced callback for all received packets, including feeder link jitter information and the address of the senders.
Definition at line 462 of file satellite-orbiter-net-device.h.
Referenced by GetTypeId(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder().
|
protected |
Traced callback for all received packets on feeder, including the address of the senders.
Definition at line 444 of file satellite-orbiter-net-device.h.
Referenced by GetTypeId(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder().
|
protected |
Traced callback for all received packets, including user link delay information and the address of the senders.
Definition at line 468 of file satellite-orbiter-net-device.h.
Referenced by GetTypeId(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketUser().
|
protected |
Traced callback for all received packets, including user link jitter information and the address of the senders.
Definition at line 474 of file satellite-orbiter-net-device.h.
Referenced by GetTypeId(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketUser().
|
protected |
Traced callback for all received packets on user, including the address of the senders.
Definition at line 450 of file satellite-orbiter-net-device.h.
Referenced by GetTypeId(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketUser().
|
protected |
Traced callback for all signalling (control message) packets sent, including the destination address.
Definition at line 438 of file satellite-orbiter-net-device.h.
Referenced by GetTypeId().
|
protected |
Traced callback for all packets received to be transmitted.
Definition at line 432 of file satellite-orbiter-net-device.h.
Referenced by GetTypeId().
|
protected |
Definition at line 377 of file satellite-orbiter-net-device.h.
Referenced by AddUserMac(), ns3::SatOrbiterNetDeviceDvb::ConnectUt(), ns3::SatOrbiterNetDeviceDvb::DisconnectUt(), DoDispose(), GetTypeId(), GetUserMac(), ns3::SatOrbiterNetDeviceDvb::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceLora::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder().
|
protected |
Definition at line 375 of file satellite-orbiter-net-device.h.
Referenced by AddUserPhy(), DoDispose(), GetFeederPhy(), GetTypeId(), GetUserPhy(), and ReceiveFeeder().
|
protected |
Set containing all connected UTs.
Key is UT MAC address, and value is associated beam ID
Definition at line 402 of file satellite-orbiter-net-device.h.
Referenced by ns3::SatOrbiterNetDeviceDvb::ConnectUt(), ns3::SatOrbiterNetDeviceLora::ConnectUt(), ns3::SatOrbiterNetDeviceDvb::DisconnectUt(), ns3::SatOrbiterNetDeviceLora::DisconnectUt(), GetUtConnected(), ns3::SatOrbiterNetDeviceDvb::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceLora::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), and ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder().