A record of an IPv6 route. More...
#include "ipv6-routing-table-entry.h"
Public Member Functions | |
| Ipv6RoutingTableEntry () | |
| Constructor.   | |
| Ipv6RoutingTableEntry (const Ipv6RoutingTableEntry &route) | |
| Copy constructor.   | |
| Ipv6RoutingTableEntry (const Ipv6RoutingTableEntry *route) | |
| Copy constructor.   | |
| virtual | ~Ipv6RoutingTableEntry () | 
| Destructor.   | |
| Ipv6Address | GetDest () const | 
| Get the destination.   | |
| Ipv6Address | GetDestNetwork () const | 
| Get the destination network.   | |
| Ipv6Prefix | GetDestNetworkPrefix () const | 
| Get the destination prefix.   | |
| Ipv6Address | GetGateway () const | 
| Get the gateway.   | |
| uint32_t | GetInterface () const | 
| Get the interface index.   | |
| Ipv6Address | GetPrefixToUse () const | 
| Get the prefix to use (for multihomed link).   | |
| bool | IsDefault () const | 
| Is it the default route ?   | |
| bool | IsGateway () const | 
| Is it the gateway ?   | |
| bool | IsHost () const | 
| Is the route entry correspond to a host ?   | |
| bool | IsNetwork () const | 
| Is the route entry correspond to a network ?   | |
| void | SetPrefixToUse (Ipv6Address prefix) | 
| Set the prefix to use.   | |
Static Public Member Functions | |
| static Ipv6RoutingTableEntry | CreateDefaultRoute (Ipv6Address nextHop, uint32_t interface) | 
| Create a default route.   | |
| static Ipv6RoutingTableEntry | CreateHostRouteTo (Ipv6Address dest, Ipv6Address nextHop, uint32_t interface, Ipv6Address prefixToUse=Ipv6Address()) | 
| Create a route to a host.   | |
| static Ipv6RoutingTableEntry | CreateHostRouteTo (Ipv6Address dest, uint32_t interface) | 
| Create a route to a host.   | |
| static Ipv6RoutingTableEntry | CreateNetworkRouteTo (Ipv6Address network, Ipv6Prefix networkPrefix, Ipv6Address nextHop, uint32_t interface) | 
| Create a route to a network.   | |
| static Ipv6RoutingTableEntry | CreateNetworkRouteTo (Ipv6Address network, Ipv6Prefix networkPrefix, Ipv6Address nextHop, uint32_t interface, Ipv6Address prefixToUse) | 
| Create a route to a network.   | |
| static Ipv6RoutingTableEntry | CreateNetworkRouteTo (Ipv6Address network, Ipv6Prefix networkPrefix, uint32_t interface) | 
| Create a route to a network.   | |
Private Member Functions | |
| Ipv6RoutingTableEntry (Ipv6Address dest, Ipv6Address gateway, uint32_t interface) | |
| Constructor.   | |
| Ipv6RoutingTableEntry (Ipv6Address dest, Ipv6Prefix prefix, uint32_t interface) | |
| Constructor.   | |
| Ipv6RoutingTableEntry (Ipv6Address dest, uint32_t interface) | |
| Constructor.   | |
| Ipv6RoutingTableEntry (Ipv6Address network, Ipv6Prefix prefix, Ipv6Address gateway, uint32_t interface) | |
| Constructor.   | |
| Ipv6RoutingTableEntry (Ipv6Address network, Ipv6Prefix prefix, Ipv6Address gateway, uint32_t interface, Ipv6Address prefixToUse) | |
| Constructor.   | |
| Ipv6RoutingTableEntry (Ipv6Address network, Ipv6Prefix prefix, uint32_t interface, Ipv6Address prefixToUse) | |
| Constructor.   | |
Private Attributes | |
| Ipv6Address | m_dest | 
| IPv6 address of the destination.   | |
| Ipv6Prefix | m_destNetworkPrefix | 
| IPv6 prefix of the destination.   | |
| Ipv6Address | m_gateway | 
| IPv6 address of the gateway.   | |
| uint32_t | m_interface | 
| The interface index.   | |
| Ipv6Address | m_prefixToUse | 
| Prefix to use.   | |
A record of an IPv6 route.
Definition at line 26 of file ipv6-routing-table-entry.h.
| ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry | ( | ) | 
Constructor.
Definition at line 16 of file ipv6-routing-table-entry.cc.
Referenced by Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), ns3::RipNgRoutingTableEntry::RipNgRoutingTableEntry(), ns3::RipNgRoutingTableEntry::RipNgRoutingTableEntry(), CreateDefaultRoute(), CreateHostRouteTo(), CreateHostRouteTo(), CreateNetworkRouteTo(), CreateNetworkRouteTo(), and CreateNetworkRouteTo().
| ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry | ( | const Ipv6RoutingTableEntry & | route | ) | 
Copy constructor.
| route | the route to copy | 
Definition at line 20 of file ipv6-routing-table-entry.cc.
References Ipv6RoutingTableEntry(), m_dest, m_destNetworkPrefix, m_gateway, m_interface, and m_prefixToUse.
| ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry | ( | const Ipv6RoutingTableEntry * | route | ) | 
Copy constructor.
| route | the route to copy | 
Definition at line 29 of file ipv6-routing-table-entry.cc.
References Ipv6RoutingTableEntry(), m_dest, m_destNetworkPrefix, m_gateway, m_interface, and m_prefixToUse.
      
  | 
  virtual | 
Destructor.
Definition at line 106 of file ipv6-routing-table-entry.cc.
      
  | 
  private | 
Constructor.
| network | network address | 
| prefix | network prefix | 
| gateway | the gateway | 
| interface | the interface index | 
Definition at line 71 of file ipv6-routing-table-entry.cc.
References m_dest, m_destNetworkPrefix, m_gateway, m_interface, and m_prefixToUse.
      
  | 
  private | 
Constructor.
| network | network address | 
| prefix | network prefix | 
| interface | the interface index | 
| prefixToUse | prefix to use | 
Definition at line 83 of file ipv6-routing-table-entry.cc.
References m_dest, m_destNetworkPrefix, m_gateway, m_interface, and m_prefixToUse.
      
  | 
  private | 
Constructor.
| network | network address | 
| prefix | network prefix | 
| gateway | the gateway | 
| interface | the interface index | 
| prefixToUse | prefix to use | 
Definition at line 58 of file ipv6-routing-table-entry.cc.
References m_dest, m_destNetworkPrefix, m_gateway, m_interface, and m_prefixToUse.
      
  | 
  private | 
Constructor.
| dest | destination address | 
| prefix | destination prefix | 
| interface | interface index | 
Definition at line 95 of file ipv6-routing-table-entry.cc.
References m_dest, m_destNetworkPrefix, m_gateway, m_interface, and m_prefixToUse.
      
  | 
  private | 
Constructor.
| dest | destination address | 
| gateway | the gateway | 
| interface | interface index | 
Definition at line 38 of file ipv6-routing-table-entry.cc.
References m_dest, m_destNetworkPrefix, m_gateway, m_interface, and m_prefixToUse.
      
  | 
  private | 
Constructor.
| dest | destination address | 
| interface | interface index | 
Definition at line 49 of file ipv6-routing-table-entry.cc.
References m_dest, m_destNetworkPrefix, m_gateway, m_interface, and m_prefixToUse.
      
  | 
  static | 
Create a default route.
| nextHop | next hop address to route the packet | 
| interface | interface index | 
Definition at line 213 of file ipv6-routing-table-entry.cc.
References Ipv6RoutingTableEntry(), and ns3::Ipv6Address::GetZero().
      
  | 
  static | 
Create a route to a host.
| dest | destination address | 
| nextHop | next hop address to route the packet | 
| interface | interface index | 
| prefixToUse | prefix that should be used for source address for this destination | 
Definition at line 171 of file ipv6-routing-table-entry.cc.
References Ipv6RoutingTableEntry(), and ns3::Ipv6Prefix::GetOnes().
      
  | 
  static | 
Create a route to a host.
| dest | destination address | 
| interface | interface index | 
Definition at line 180 of file ipv6-routing-table-entry.cc.
References Ipv6RoutingTableEntry().
      
  | 
  static | 
Create a route to a network.
| network | network address | 
| networkPrefix | network prefix | 
| nextHop | next hop address to route the packet | 
| interface | interface index | 
Definition at line 186 of file ipv6-routing-table-entry.cc.
References Ipv6RoutingTableEntry().
Referenced by ns3::RipNgRoutingTableEntry::RipNgRoutingTableEntry(), ns3::RipNgRoutingTableEntry::RipNgRoutingTableEntry(), ns3::Ipv6StaticRouting::AddNetworkRouteTo(), ns3::Ipv6StaticRouting::AddNetworkRouteTo(), ns3::Ipv6StaticRouting::AddNetworkRouteTo(), and ns3::Ipv6StaticRouting::SetDefaultMulticastRoute().
      
  | 
  static | 
Create a route to a network.
| network | network address | 
| networkPrefix | network prefix | 
| nextHop | next hop address to route the packet | 
| interface | interface index | 
| prefixToUse | prefix that should be used for source address for this destination | 
Definition at line 195 of file ipv6-routing-table-entry.cc.
References Ipv6RoutingTableEntry().
      
  | 
  static | 
Create a route to a network.
| network | network address | 
| networkPrefix | network prefix | 
| interface | interface index | 
Definition at line 205 of file ipv6-routing-table-entry.cc.
References Ipv6RoutingTableEntry().
| Ipv6Address ns3::Ipv6RoutingTableEntry::GetDest | ( | ) | const | 
Get the destination.
Definition at line 117 of file ipv6-routing-table-entry.cc.
References m_dest.
Referenced by ns3::RipNg::Lookup(), ns3::Ipv6StaticRouting::LookupRoute(), ns3::Ipv6StaticRouting::LookupStatic(), ns3::operator<<(), ns3::Ipv6StaticRouting::PrintRoutingTable(), ns3::RipNg::PrintRoutingTable(), StackHelper::PrintRoutingTable(), and ns3::Ipv6StaticRouting::RemoveRoute().
| Ipv6Address ns3::Ipv6RoutingTableEntry::GetDestNetwork | ( | ) | const | 
Get the destination network.
Definition at line 147 of file ipv6-routing-table-entry.cc.
References m_dest.
Referenced by ns3::Ipv6StaticRouting::GetDefaultRoute(), ns3::Ipv6StaticRouting::HasNetworkDest(), ns3::RipNg::Lookup(), ns3::Ipv6StaticRouting::LookupStatic(), ns3::Ipv6StaticRouting::NotifyRemoveRoute(), and ns3::operator<<().
| Ipv6Prefix ns3::Ipv6RoutingTableEntry::GetDestNetworkPrefix | ( | ) | const | 
Get the destination prefix.
Definition at line 153 of file ipv6-routing-table-entry.cc.
References m_destNetworkPrefix.
Referenced by ns3::Ipv6StaticRouting::GetDefaultRoute(), ns3::Ipv6StaticRouting::HasNetworkDest(), ns3::RipNg::Lookup(), ns3::Ipv6StaticRouting::LookupRoute(), ns3::Ipv6StaticRouting::LookupStatic(), ns3::Ipv6StaticRouting::NotifyRemoveRoute(), ns3::operator<<(), ns3::Ipv6StaticRouting::PrintRoutingTable(), and ns3::RipNg::PrintRoutingTable().
| Ipv6Address ns3::Ipv6RoutingTableEntry::GetGateway | ( | ) | const | 
Get the gateway.
Definition at line 165 of file ipv6-routing-table-entry.cc.
References m_gateway.
Referenced by ns3::RipNg::Lookup(), ns3::Ipv6StaticRouting::LookupRoute(), ns3::Ipv6StaticRouting::LookupStatic(), ns3::operator<<(), ns3::Ipv6StaticRouting::PrintRoutingTable(), ns3::RipNg::PrintRoutingTable(), and StackHelper::PrintRoutingTable().
| uint32_t ns3::Ipv6RoutingTableEntry::GetInterface | ( | ) | const | 
Get the interface index.
Definition at line 219 of file ipv6-routing-table-entry.cc.
References m_interface.
Referenced by ns3::Ipv6StaticRouting::HasNetworkDest(), ns3::RipNg::Lookup(), ns3::Ipv6StaticRouting::LookupRoute(), ns3::Ipv6StaticRouting::LookupStatic(), ns3::Ipv6StaticRouting::NotifyRemoveRoute(), ns3::operator<<(), ns3::Ipv6StaticRouting::PrintRoutingTable(), ns3::RipNg::PrintRoutingTable(), StackHelper::PrintRoutingTable(), and ns3::Ipv6StaticRouting::RemoveRoute().
| Ipv6Address ns3::Ipv6RoutingTableEntry::GetPrefixToUse | ( | ) | const | 
Get the prefix to use (for multihomed link).
Definition at line 123 of file ipv6-routing-table-entry.cc.
References m_prefixToUse.
Referenced by ns3::RipNg::Lookup(), ns3::Ipv6StaticRouting::LookupRoute(), ns3::Ipv6StaticRouting::LookupStatic(), StackHelper::PrintRoutingTable(), and ns3::Ipv6StaticRouting::RemoveRoute().
| bool ns3::Ipv6RoutingTableEntry::IsDefault | ( | ) | const | 
Is it the default route ?
Definition at line 141 of file ipv6-routing-table-entry.cc.
References ns3::Ipv6Address::GetZero(), and m_dest.
Referenced by ns3::operator<<().
| bool ns3::Ipv6RoutingTableEntry::IsGateway | ( | ) | const | 
Is it the gateway ?
Definition at line 159 of file ipv6-routing-table-entry.cc.
References ns3::Ipv6Address::GetZero(), and m_gateway.
Referenced by ns3::operator<<(), ns3::Ipv6StaticRouting::PrintRoutingTable(), and ns3::RipNg::PrintRoutingTable().
| bool ns3::Ipv6RoutingTableEntry::IsHost | ( | ) | const | 
Is the route entry correspond to a host ?
Definition at line 111 of file ipv6-routing-table-entry.cc.
References ns3::Ipv6Prefix::GetOnes(), and m_destNetworkPrefix.
Referenced by IsNetwork(), ns3::operator<<(), ns3::Ipv6StaticRouting::PrintRoutingTable(), and ns3::RipNg::PrintRoutingTable().
| bool ns3::Ipv6RoutingTableEntry::IsNetwork | ( | ) | const | 
Is the route entry correspond to a network ?
Definition at line 135 of file ipv6-routing-table-entry.cc.
References IsHost().
Referenced by ns3::operator<<().
| void ns3::Ipv6RoutingTableEntry::SetPrefixToUse | ( | Ipv6Address | prefix | ) | 
Set the prefix to use.
| prefix | prefix to use | 
Definition at line 129 of file ipv6-routing-table-entry.cc.
References m_prefixToUse.
      
  | 
  private | 
IPv6 address of the destination.
Definition at line 250 of file ipv6-routing-table-entry.h.
Referenced by Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), GetDest(), GetDestNetwork(), and IsDefault().
      
  | 
  private | 
IPv6 prefix of the destination.
Definition at line 255 of file ipv6-routing-table-entry.h.
Referenced by Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), GetDestNetworkPrefix(), and IsHost().
      
  | 
  private | 
IPv6 address of the gateway.
Definition at line 260 of file ipv6-routing-table-entry.h.
Referenced by Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), GetGateway(), and IsGateway().
      
  | 
  private | 
The interface index.
Definition at line 265 of file ipv6-routing-table-entry.h.
Referenced by Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), and GetInterface().
      
  | 
  private | 
Prefix to use.
Definition at line 270 of file ipv6-routing-table-entry.h.
Referenced by Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), Ipv6RoutingTableEntry(), GetPrefixToUse(), and SetPrefixToUse().