LEFT | RIGHT |
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2010 Lalith Suresh | 3 * Copyright (c) 2010 Lalith Suresh |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 * new stacks. | 106 * new stacks. |
107 */ | 107 */ |
108 void Install (NodeContainer c) const; | 108 void Install (NodeContainer c) const; |
109 | 109 |
110 /** | 110 /** |
111 * Aggregate IPv4, UDP, and TCP stacks to all nodes in the simulation | 111 * Aggregate IPv4, UDP, and TCP stacks to all nodes in the simulation |
112 */ | 112 */ |
113 void InstallAll (void) const; | 113 void InstallAll (void) const; |
114 | 114 |
115 /** | 115 /** |
116 * \brief set the Tcp stack which will not need any other parameter. | 116 * \brief set the Tcp stack which will not need any other parameter. |
117 * | 117 * |
118 * This function sets up the tcp stack to the given TypeId. It should not be· | 118 * This function sets up the tcp stack to the given TypeId. It should not be· |
119 * used for NSC stack setup because the nsc stack needs the Library attribute | 119 * used for NSC stack setup because the nsc stack needs the Library attribute |
120 * to be setup, please use instead the version that requires an attribute | 120 * to be setup, please use instead the version that requires an attribute |
121 * and a value. If you choose to use this function anyways to set nsc stack | 121 * and a value. If you choose to use this function anyways to set nsc stack |
122 * the default value for the linux library will be used: "liblinux2.6.26.so". | 122 * the default value for the linux library will be used: "liblinux2.6.26.so". |
123 * | 123 * |
124 * \param tid the type id, typically it is set to "ns3::TcpL4Protocol" | 124 * \param tid the type id, typically it is set to "ns3::TcpL4Protocol" |
125 */ | 125 */ |
126 void SetTcp(std::string tid); | 126 void SetTcp(std::string tid); |
127 | 127 |
128 /** | 128 /** |
129 * \brief This function is used to setup the Network Simulation Cradle stack w
ith library value. | 129 * \brief This function is used to setup the Network Simulation Cradle stack w
ith library value. |
130 *· | 130 *· |
131 * Give the NSC stack a shared library file name to use when creating the· | 131 * Give the NSC stack a shared library file name to use when creating the· |
132 * stack implementation. The attr string is actually the attribute name to· | 132 * stack implementation. The attr string is actually the attribute name to· |
133 * be setup and val is its value. The attribute is the stack implementation· | 133 * be setup and val is its value. The attribute is the stack implementation· |
134 * to be used and the value is the shared library name. | 134 * to be used and the value is the shared library name. |
135 *· | 135 *· |
136 * \param tid The type id, for the case of nsc it would be "ns3::NscTcpL4Proto
col"· | 136 * \param tid The type id, for the case of nsc it would be "ns3::NscTcpL4Proto
col"· |
137 * \param attr The attribute name that must be setup, for example "Library" | 137 * \param attr The attribute name that must be setup, for example "Library" |
138 * \param val The attribute value, which will be in fact the shared library na
me (example:"liblinux2.6.26.so") | 138 * \param val The attribute value, which will be in fact the shared library na
me (example:"liblinux2.6.26.so") |
139 */ | 139 */ |
140 void SetTcp (std::string tid, std::string attr, const AttributeValue &val);· | 140 void SetTcp (std::string tid, std::string attr, const AttributeValue &val);· |
141 | 141 |
142 /** | 142 /** |
143 * \brief Enable/disable IPv4 stack install. | |
144 * \param enable enable state | |
145 */ | |
146 void SetIpv4StackInstall (bool enable); | |
147 | |
148 /** | |
149 * \brief Set a Click file to be used for a group of nodes. | 143 * \brief Set a Click file to be used for a group of nodes. |
150 * \param c NodeContainer of nodes | 144 * \param c NodeContainer of nodes |
151 * \param clickfile Click file to be used | 145 * \param clickfile Click file to be used |
152 */ | 146 */ |
153 void SetClickFile (NodeContainer c, std::string clickfile); | 147 void SetClickFile (NodeContainer c, std::string clickfile); |
154 | 148 |
155 /** | 149 /** |
156 * \brief Set a Click file to be used for a group of nodes. | 150 * \brief Set a Click file to be used for a group of nodes. |
157 * \param node Node for which Click file is to be set | 151 * \param node Node for which Click file is to be set |
158 * \param clickfile Click file to be used | 152 * \param clickfile Click file to be used |
159 */ | 153 */ |
160 void SetClickFile (Ptr<Node> node, std::string clickfile); | 154 void SetClickFile (Ptr<Node> node, std::string clickfile); |
161 | 155 |
162 /** | 156 /** |
163 * \brief Set a Click file to be used for a group of nodes. | 157 * \brief Set a Click file to be used for a group of nodes. |
164 * \param c NodeContainer of nodes | 158 * \param c NodeContainer of nodes |
165 * \param rt Click file to be used | 159 * \param rt Click file to be used |
166 */ | 160 */ |
167 void SetRoutingTableElement (NodeContainer c, std::string rt); | 161 void SetRoutingTableElement (NodeContainer c, std::string rt); |
168 | 162 |
169 /** | 163 /** |
170 * \brief Set a Click file to be used for a group of nodes. | 164 * \brief Set a Click file to be used for a group of nodes. |
171 * \param node Node for which Click file is to be set | 165 * \param node Node for which Click file is to be set |
(...skipping 25 matching lines...) Expand all Loading... |
197 * @param interface Interface ID on the Ipv4 on which you want to enable traci
ng. | 191 * @param interface Interface ID on the Ipv4 on which you want to enable traci
ng. |
198 */ | 192 */ |
199 virtual void EnableAsciiIpv4Internal (Ptr<OutputStreamWrapper> stream,· | 193 virtual void EnableAsciiIpv4Internal (Ptr<OutputStreamWrapper> stream,· |
200 std::string prefix,· | 194 std::string prefix,· |
201 Ptr<Ipv4> ipv4,· | 195 Ptr<Ipv4> ipv4,· |
202 uint32_t interface, | 196 uint32_t interface, |
203 bool explicitFilename); | 197 bool explicitFilename); |
204 | 198 |
205 void Initialize (void); | 199 void Initialize (void); |
206 ObjectFactory m_tcpFactory; | 200 ObjectFactory m_tcpFactory; |
207 | 201 |
208 /** | 202 /** |
209 * \internal | 203 * \internal |
210 */ | 204 */ |
211 static void CreateAndAggregateObjectFromTypeId (Ptr<Node> node, const std::str
ing typeId); | 205 static void CreateAndAggregateObjectFromTypeId (Ptr<Node> node, const std::str
ing typeId); |
212 | 206 |
213 /** | 207 /** |
214 * \internal | 208 * \internal |
215 */ | 209 */ |
216 static void Cleanup (void); | 210 static void Cleanup (void); |
217 | 211 |
(...skipping 21 matching lines...) Expand all Loading... |
239 * \brief Node to Routing Table Element mapping | 233 * \brief Node to Routing Table Element mapping |
240 */ | 234 */ |
241 std::map < Ptr<Node>, std::string > m_nodeToRoutingTableElementMap; | 235 std::map < Ptr<Node>, std::string > m_nodeToRoutingTableElementMap; |
242 }; | 236 }; |
243 | 237 |
244 } // namespace ns3 | 238 } // namespace ns3 |
245 | 239 |
246 #endif /* CLICK_INTERNET_STACK_HELPER_H */ | 240 #endif /* CLICK_INTERNET_STACK_HELPER_H */ |
247 | 241 |
248 #endif // NS3_CLICK | 242 #endif // NS3_CLICK |
LEFT | RIGHT |