24 #ifndef CLICK_INTERNET_STACK_HELPER_H
25 #define CLICK_INTERNET_STACK_HELPER_H
27 #include "ns3/node-container.h"
28 #include "ns3/net-device-container.h"
29 #include "ns3/packet.h"
31 #include "ns3/object-factory.h"
32 #include "ns3/ipv4-l3-protocol.h"
33 #include "ns3/ipv6-l3-protocol.h"
34 #include "ns3/internet-trace-helper.h"
40 class Ipv4RoutingHelper;
49 class ClickInternetStackHelper :
public PcapHelperForIpv4,
50 public AsciiTraceHelperForIpv4
56 ClickInternetStackHelper (
void);
61 virtual ~ClickInternetStackHelper (
void);
62 ClickInternetStackHelper (
const ClickInternetStackHelper &);
63 ClickInternetStackHelper &operator = (
const ClickInternetStackHelper &o);
77 void Install (std::string nodeName)
const;
86 void Install (Ptr<Node> node)
const;
97 void Install (NodeContainer c)
const;
102 void InstallAll (
void)
const;
115 void SetTcp (std::string tid);
129 void SetTcp (std::string tid, std::string attr,
const AttributeValue &val);
136 void SetClickFile (NodeContainer c, std::string clickfile);
143 void SetClickFile (Ptr<Node> node, std::string clickfile);
150 void SetDefines (NodeContainer c, std::map<std::string, std::string> defines);
157 void SetDefines (Ptr<Node> node, std::map<std::string, std::string> defines);
164 void SetRoutingTableElement (NodeContainer c, std::string rt);
171 void SetRoutingTableElement (Ptr<Node> node, std::string rt);
181 virtual void EnablePcapIpv4Internal (std::string prefix,
184 bool explicitFilename);
196 virtual void EnableAsciiIpv4Internal (Ptr<OutputStreamWrapper> stream,
200 bool explicitFilename);
202 void Initialize (
void);
203 ObjectFactory m_tcpFactory;
208 static void CreateAndAggregateObjectFromTypeId (Ptr<Node> node,
const std::string typeId);
213 static void Cleanup (
void);
218 bool PcapHooked (Ptr<Ipv4> ipv4);
223 bool AsciiHooked (Ptr<Ipv4> ipv4);
233 std::map < Ptr<Node>, std::string > m_nodeToClickFileMap;
238 std::map < Ptr<Node>, std::map<std::string, std::string> > m_nodeToDefinesMap;
243 std::map < Ptr<Node>, std::string > m_nodeToRoutingTableElementMap;
void Reset(void)
Reset the initial value of every attribute as well as the value of every global to what they were bef...