create a quagga routing daemon as an application and associate it to a node More...
#include <quagga-helper.h>
Public Member Functions | |
| QuaggaHelper () | |
| void | BgpAddNeighbor (Ptr< Node > node, std::string neighbor, uint32_t asn) |
| Configure the neighbor of BGP peer to exchange the route information to the bgp daemon (via neighbor remote-as command). | |
| void | EnableBgp (NodeContainer nodes) |
| Enable the bgpd daemon to the nodes. | |
| void | EnableHomeAgentFlag (Ptr< Node > node, const char *ifname) |
| Configure HomeAgent Information Option (RFC 3775) in Router Advertisement to the zebra daemon (via ipv6 nd home-agent-config-flag). | |
| void | EnableOspf (NodeContainer nodes, const char *network) |
| Enable the ospfd daemon to the nodes. | |
| void | EnableOspf6 (NodeContainer nodes, const char *ifname) |
| Enable the ospf6d daemon (OSPFv3) to the nodes. | |
| void | EnableOspf6Debug (NodeContainer nodes) |
| Configure the debug option to the ospf6d daemon (via debug ospf6d xxx). | |
| void | EnableOspfDebug (NodeContainer nodes) |
| Configure the debug option to the ospfd daemon (via debug ospf xxx). | |
| void | EnableRadvd (Ptr< Node > node, const char *ifname, const char *prefix) |
| Enable Router Advertisement configuration to the zebra daemon (via no ipv6 nd suppress-ra xxx). | |
| void | EnableRip (NodeContainer nodes, const char *ifname) |
| Enable the ripd daemon (RIP v1/v2, RFC2453) to the nodes. | |
| void | EnableRipDebug (NodeContainer nodes) |
| Configure the debug option to the ripd daemon (via debug rip xxx). | |
| void | EnableRipng (NodeContainer nodes, const char *ifname) |
| Enable the ripngd daemon (RIPng, RFC2080) to the nodes. | |
| void | EnableRipngDebug (NodeContainer nodes) |
| Configure the debug option to the ripngd daemon (via debug ripng xxx). | |
| void | EnableZebraDebug (NodeContainer nodes) |
| Configure the debug option to the zebra daemon (via debug zebra xxx). | |
| uint32_t | GetAsn (Ptr< Node > node) |
| Get the Autonomous System number (AS number) of the nodes. | |
| ApplicationContainer | Install (NodeContainer nodes) |
| ApplicationContainer | Install (Ptr< Node > node) |
| ApplicationContainer | Install (std::string nodeName) |
| void | SetAttribute (std::string name, const AttributeValue &value) |
| Configure ping applications attribute. | |
| void | UseManualZebraConfig (NodeContainer nodes) |
| Indicate the config file to edit by manually (locate zebra.conf at files-X/usr/local/etc/zebra.conf). | |
Private Member Functions | |
| void | GenerateConfigBgp (Ptr< Node > node) |
| void | GenerateConfigOspf (Ptr< Node > node) |
| void | GenerateConfigOspf6 (Ptr< Node > node) |
| void | GenerateConfigRip (Ptr< Node > node) |
| void | GenerateConfigRipng (Ptr< Node > node) |
| void | GenerateConfigZebra (Ptr< Node > node) |
| ApplicationContainer | InstallPriv (Ptr< Node > node) |
create a quagga routing daemon as an application and associate it to a node
This class creates one or multiple instances of ns3::Quagga and associates it/them to one/multiple node(s).
Definition at line 34 of file quagga-helper.h.
| ns3::QuaggaHelper::QuaggaHelper | ( | ) |
Create a QuaggaHelper which is used to make life easier for people wanting to use quagga Applications.
Definition at line 591 of file quagga-helper.cc.
| void ns3::QuaggaHelper::BgpAddNeighbor | ( | Ptr< Node > | node, |
| std::string | neighbor, | ||
| uint32_t | asn | ||
| ) |
Configure the neighbor of BGP peer to exchange the route information to the bgp daemon (via neighbor remote-as command).
| neighbor | The string of the experssion of a remote neighbor (IPv4/v6 address). |
| asn | The AS number of the remote neighbor. |
Definition at line 730 of file quagga-helper.cc.
References ns3::BgpConfig::SetAsn().
Here is the call graph for this function:| void ns3::QuaggaHelper::EnableBgp | ( | NodeContainer | nodes | ) |
Enable the bgpd daemon to the nodes.
| nodes | The node(s) to enable BGP (quagga bgpd). |
Definition at line 702 of file quagga-helper.cc.
References ns3::BgpConfig::SetAsn().
Here is the call graph for this function:| void ns3::QuaggaHelper::EnableHomeAgentFlag | ( | Ptr< Node > | node, |
| const char * | ifname | ||
| ) |
Configure HomeAgent Information Option (RFC 3775) in Router Advertisement to the zebra daemon (via ipv6 nd home-agent-config-flag).
| ifname | The string of the interface name to enable this option. |
Definition at line 669 of file quagga-helper.cc.
| void ns3::QuaggaHelper::EnableOspf | ( | NodeContainer | nodes, |
| const char * | network | ||
| ) |
Enable the ospfd daemon to the nodes.
| nodes | The node(s) to enable OSPFv2 (quagga ospfd). |
| network | The network to enable ospf protocol. |
Definition at line 602 of file quagga-helper.cc.
| void ns3::QuaggaHelper::EnableOspf6 | ( | NodeContainer | nodes, |
| const char * | ifname | ||
| ) |
Enable the ospf6d daemon (OSPFv3) to the nodes.
| nodes | The node(s) to enable OSPFv3 (quagga ospf6d). |
| ifname | The interface to enable OSPFv3. |
Definition at line 745 of file quagga-helper.cc.
| void ns3::QuaggaHelper::EnableOspf6Debug | ( | NodeContainer | nodes | ) |
Configure the debug option to the ospf6d daemon (via debug ospf6d xxx).
| nodes | The node(s) to configure the options. |
Definition at line 764 of file quagga-helper.cc.
| void ns3::QuaggaHelper::EnableOspfDebug | ( | NodeContainer | nodes | ) |
Configure the debug option to the ospfd daemon (via debug ospf xxx).
| nodes | The node(s) to configure the options. |
Definition at line 619 of file quagga-helper.cc.
| void ns3::QuaggaHelper::EnableRadvd | ( | Ptr< Node > | node, |
| const char * | ifname, | ||
| const char * | prefix | ||
| ) |
Enable Router Advertisement configuration to the zebra daemon (via no ipv6 nd suppress-ra xxx).
| node | The node to configure the options. |
| ifname | The string of the interface name to enable this option. |
| prefix | The string of the network prefix to advertise. |
Definition at line 652 of file quagga-helper.cc.
| void ns3::QuaggaHelper::EnableRip | ( | NodeContainer | nodes, |
| const char * | ifname | ||
| ) |
Enable the ripd daemon (RIP v1/v2, RFC2453) to the nodes.
| nodes | The node(s) to enable RIP (quagga ripd). |
| ifname | The interface to enable RIP. |
Definition at line 781 of file quagga-helper.cc.
| void ns3::QuaggaHelper::EnableRipDebug | ( | NodeContainer | nodes | ) |
Configure the debug option to the ripd daemon (via debug rip xxx).
| nodes | The node(s) to configure the options. |
Definition at line 799 of file quagga-helper.cc.
| void ns3::QuaggaHelper::EnableRipng | ( | NodeContainer | nodes, |
| const char * | ifname | ||
| ) |
Enable the ripngd daemon (RIPng, RFC2080) to the nodes.
| nodes | The node(s) to enable RIPng (quagga ripngd). |
| ifname | The interface to enable RIPng. |
Definition at line 816 of file quagga-helper.cc.
| void ns3::QuaggaHelper::EnableRipngDebug | ( | NodeContainer | nodes | ) |
Configure the debug option to the ripngd daemon (via debug ripng xxx).
| nodes | The node(s) to configure the options. |
Definition at line 834 of file quagga-helper.cc.
| void ns3::QuaggaHelper::EnableZebraDebug | ( | NodeContainer | nodes | ) |
Configure the debug option to the zebra daemon (via debug zebra xxx).
| nodes | The node(s) to configure the options. |
Definition at line 636 of file quagga-helper.cc.
|
private |
Definition at line 942 of file quagga-helper.cc.
References ns3::BgpConfig::SetFilename().
Referenced by InstallPriv().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 912 of file quagga-helper.cc.
References ns3::OspfConfig::m_routerId.
Referenced by InstallPriv().
Here is the caller graph for this function:
|
private |
Definition at line 969 of file quagga-helper.cc.
References ns3::Ospf6Config::SetFilename().
Referenced by InstallPriv().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 994 of file quagga-helper.cc.
References ns3::RipConfig::SetFilename().
Referenced by InstallPriv().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1022 of file quagga-helper.cc.
References ns3::RipngConfig::SetFilename().
Referenced by InstallPriv().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 850 of file quagga-helper.cc.
References ns3::QuaggaConfig::SetFilename().
Referenced by InstallPriv().
Here is the call graph for this function:
Here is the caller graph for this function:| uint32_t ns3::QuaggaHelper::GetAsn | ( | Ptr< Node > | node | ) |
Get the Autonomous System number (AS number) of the nodes.
| node | The node to obtain ASN. |
Definition at line 719 of file quagga-helper.cc.
References ns3::BgpConfig::GetAsn().
Here is the call graph for this function:| ApplicationContainer ns3::QuaggaHelper::Install | ( | NodeContainer | nodes | ) |
Install a quagga application on each Node in the provided NodeContainer.
| nodes | The NodeContainer containing all of the nodes to get a quagga application via ProcessManager. |
Definition at line 1063 of file quagga-helper.cc.
References InstallPriv().
Here is the call graph for this function:| ApplicationContainer ns3::QuaggaHelper::Install | ( | Ptr< Node > | node | ) |
Install a quagga application on the provided Node. The Node is specified directly by a Ptr<Node>
| node | The node to install the QuaggaApplication on. |
Definition at line 1050 of file quagga-helper.cc.
References InstallPriv().
Here is the call graph for this function:| ApplicationContainer ns3::QuaggaHelper::Install | ( | std::string | nodeName | ) |
Install a quagga application on the provided Node. The Node is specified by a string that must have previosly been associated with a Node using the Object Name Service.
| nodeName | The node to install the ProcessApplication on. |
Definition at line 1056 of file quagga-helper.cc.
References InstallPriv().
Here is the call graph for this function:
|
private |
Definition at line 1075 of file quagga-helper.cc.
References ns3::DceApplicationHelper::AddArguments(), GenerateConfigBgp(), GenerateConfigOspf(), GenerateConfigOspf6(), GenerateConfigRip(), GenerateConfigRipng(), GenerateConfigZebra(), ns3::DceApplicationHelper::Install(), ns3::DceApplicationHelper::ResetArguments(), ns3::DceApplicationHelper::SetBinary(), and ns3::DceApplicationHelper::SetStackSize().
Referenced by Install().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::QuaggaHelper::SetAttribute | ( | std::string | name, |
| const AttributeValue & | value | ||
| ) |
Configure ping applications attribute.
| name | attribute's name |
| value | attribute's value |
Definition at line 596 of file quagga-helper.cc.
| void ns3::QuaggaHelper::UseManualZebraConfig | ( | NodeContainer | nodes | ) |
Indicate the config file to edit by manually (locate zebra.conf at files-X/usr/local/etc/zebra.conf).
| nodes | The node(s) to configure the options. |
Definition at line 684 of file quagga-helper.cc.