Update internet-stack-helper API for jitter and CHANGES.html
This commit is contained in:
13
CHANGES.html
13
CHANGES.html
@@ -71,11 +71,11 @@ us a note on ns-developers mailing list.</p>
|
||||
IPv6 to make an Autoconfigured address.</li>
|
||||
<li>IPv6 can now detect and use Path-MTU. See
|
||||
examples/ipv6/fragmentation-ipv6-two-MTU.cc for an example.</li>
|
||||
<li>Radvd application have a new Helper. See the updated
|
||||
<li>Radvd application has a new Helper. See the updated
|
||||
examples/ipv6/radvd.cc for an example.</li>
|
||||
<li>InternetStackHelper have two new functions:<tt>SetIpv4ArpJitter (bool enable)</tt>
|
||||
<li>InternetStackHelper has two new functions:<tt>SetIpv4ArpJitter (bool enable)</tt>
|
||||
and <tt>SetIpv6NsRsJitter (bool enable)</tt> to enable/disable
|
||||
the random jitter on IPv4's ARP and IPv6's NS/RS.</li>
|
||||
the random jitter on the tranmission of IPv4 ARP Request and IPv6 NS/RS. </li>
|
||||
</ul>
|
||||
|
||||
<h2>Changes to existing API:</h2>
|
||||
@@ -134,9 +134,10 @@ or
|
||||
cmd.PrintHelp (std::cerr);
|
||||
</pre>
|
||||
</li>
|
||||
<li>IPv4's ARP and IPv6's NS/RS are now issued with a random delay.
|
||||
The delay is, by default, between 0 and 10ms.
|
||||
This behaviour can be modify by using ArpL3Protocol's
|
||||
<li>IPv4's ARP Request and IPv6's NS/RS are now transmitted with a random delay.
|
||||
The delay is, by default, a uniform random variable in time between 0 and 10ms.
|
||||
This is aimed at preventing reception errors due to collisions during wifi broadcasts.
|
||||
This behaviour can be modified by using ArpL3Protocol's
|
||||
<tt>RequestJitter</tt> and Icmpv6L4Protocol's <tt>SolicitationJitter</tt>
|
||||
attributes or by using the new InternetStackHelper functions.
|
||||
</li>
|
||||
|
||||
@@ -236,7 +236,7 @@ InternetStackHelper::InternetStackHelper ()
|
||||
m_ipv4Enabled (true),
|
||||
m_ipv6Enabled (true),
|
||||
m_ipv4ArpJitterEnabled (true),
|
||||
m_ipv6NsRsEnabled (true)
|
||||
m_ipv6NsRsJitterEnabled (true)
|
||||
|
||||
{
|
||||
Initialize ();
|
||||
@@ -273,7 +273,7 @@ InternetStackHelper::InternetStackHelper (const InternetStackHelper &o)
|
||||
m_ipv6Enabled = o.m_ipv6Enabled;
|
||||
m_tcpFactory = o.m_tcpFactory;
|
||||
m_ipv4ArpJitterEnabled = o.m_ipv4ArpJitterEnabled;
|
||||
m_ipv6NsRsEnabled = o.m_ipv6NsRsEnabled;
|
||||
m_ipv6NsRsJitterEnabled = o.m_ipv6NsRsJitterEnabled;
|
||||
}
|
||||
|
||||
InternetStackHelper &
|
||||
@@ -298,7 +298,7 @@ InternetStackHelper::Reset (void)
|
||||
m_ipv4Enabled = true;
|
||||
m_ipv6Enabled = true;
|
||||
m_ipv4ArpJitterEnabled = true;
|
||||
m_ipv6NsRsEnabled = true;
|
||||
m_ipv6NsRsJitterEnabled = true;
|
||||
Initialize ();
|
||||
}
|
||||
|
||||
@@ -334,7 +334,7 @@ void InternetStackHelper::SetIpv4ArpJitter (bool enable)
|
||||
|
||||
void InternetStackHelper::SetIpv6NsRsJitter (bool enable)
|
||||
{
|
||||
m_ipv6NsRsEnabled = enable;
|
||||
m_ipv6NsRsJitterEnabled = enable;
|
||||
}
|
||||
|
||||
int64_t
|
||||
@@ -437,6 +437,7 @@ InternetStackHelper::Install (Ptr<Node> node) const
|
||||
if (m_ipv4ArpJitterEnabled == false)
|
||||
{
|
||||
Ptr<ArpL3Protocol> arp = node->GetObject<ArpL3Protocol> ();
|
||||
NS_ASSERT (arp);
|
||||
arp->SetAttribute ("RequestJitter", StringValue ("ns3::ConstantRandomVariable[Constant=0.0]"));
|
||||
}
|
||||
// Set routing
|
||||
@@ -457,9 +458,10 @@ InternetStackHelper::Install (Ptr<Node> node) const
|
||||
|
||||
CreateAndAggregateObjectFromTypeId (node, "ns3::Ipv6L3Protocol");
|
||||
CreateAndAggregateObjectFromTypeId (node, "ns3::Icmpv6L4Protocol");
|
||||
if (m_ipv6NsRsEnabled == false)
|
||||
if (m_ipv6NsRsJitterEnabled == false)
|
||||
{
|
||||
Ptr<Icmpv6L4Protocol> icmpv6l4 = node->GetObject<Icmpv6L4Protocol> ();
|
||||
NS_ASSERT (icmpv6l4);
|
||||
icmpv6l4->SetAttribute ("SolicitationJitter", StringValue ("ns3::ConstantRandomVariable[Constant=0.0]"));
|
||||
}
|
||||
// Set routing
|
||||
|
||||
@@ -324,7 +324,7 @@ private:
|
||||
/**
|
||||
* \brief IPv6 IPv6 NS and RS Jitter state (enabled/disabled) ?
|
||||
*/
|
||||
bool m_ipv6NsRsEnabled;
|
||||
bool m_ipv6NsRsJitterEnabled;
|
||||
};
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
Reference in New Issue
Block a user