SatOrbiterNetDevice to be utilized in geostationary satellite. More...
#include "satellite-orbiter-net-device.h"
Inheritance diagram for ns3::SatOrbiterNetDevice:
Collaboration diagram for ns3::SatOrbiterNetDevice: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.
Here is the call graph for this function:
|
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.
Here is the call graph for this function:
|
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().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().