Add warnings for zero lifetime IPv6 autogenerated addresses
authorTommaso Pecorella <tommaso.pecorella@unifi.it>
Tue, 22 Dec 2015 01:41:55 +0100
changeset 11796 f4a2618b97df
parent 11795 7a682566d57d
child 11797 ff7a8f205e97
Add warnings for zero lifetime IPv6 autogenerated addresses
src/internet/model/ipv6-autoconfigured-prefix.cc
src/internet/model/ipv6-autoconfigured-prefix.h
--- a/src/internet/model/ipv6-autoconfigured-prefix.cc	Tue Dec 22 01:40:25 2015 +0100
+++ b/src/internet/model/ipv6-autoconfigured-prefix.cc	Tue Dec 22 01:41:55 2015 +0100
@@ -33,6 +33,10 @@
 
 Ipv6AutoconfiguredPrefix::Ipv6AutoconfiguredPrefix (Ptr<Node> node, uint32_t interface, Ipv6Address prefix, Ipv6Prefix mask, uint32_t preferredLifeTime, uint32_t validLifeTime, Ipv6Address router)
 {
+  if (preferredLifeTime+validLifeTime == 0)
+    {
+      NS_LOG_WARN ("Ipv6AutoconfiguredPrefix: Preferred and Valid Lifetimes are zero, the address will be removed immediately.");
+    }
   m_node = node;
   m_interface = interface;
   m_validLifeTime = validLifeTime;
@@ -73,6 +77,10 @@
 void Ipv6AutoconfiguredPrefix::SetPreferredLifeTime (uint32_t t)
 {
   m_preferredLifeTime = t;
+  if (m_preferredLifeTime+m_validLifeTime == 0)
+    {
+      NS_LOG_WARN ("Ipv6AutoconfiguredPrefix: Preferred and Valid Lifetimes are zero, the address will be removed immediately.");
+    }
 }
 
 uint32_t Ipv6AutoconfiguredPrefix::GetPreferredLifeTime () const
@@ -83,6 +91,10 @@
 void Ipv6AutoconfiguredPrefix::SetValidLifeTime (uint32_t t)
 {
   m_validLifeTime = t;
+  if (m_preferredLifeTime+m_validLifeTime == 0)
+    {
+      NS_LOG_WARN ("Ipv6AutoconfiguredPrefix: Preferred and Valid Lifetimes are zero, the address will be removed immediately.");
+    }
 }
 
 uint32_t Ipv6AutoconfiguredPrefix::GetValidLifeTime () const
--- a/src/internet/model/ipv6-autoconfigured-prefix.h	Tue Dec 22 01:40:25 2015 +0100
+++ b/src/internet/model/ipv6-autoconfigured-prefix.h	Tue Dec 22 01:41:55 2015 +0100
@@ -219,7 +219,7 @@
   Ptr<Node> m_node;
 
   /**
-   * \brief The prefix IP6 address.
+   * \brief The prefix IPv6 address.
    */
   Ipv6Address m_prefix;