diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 853cd2903..e19184219 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -79,6 +79,7 @@ Bugs fixed - Bug 2246 - Some DSR LogComponents and classes are not defined in a unique way. - Bug 2254 - Ipv[4,6]RawSocket can return the wrong number of bytes sent. - Bug 2255 - Ipv6RawSocket does not call data sent callbacks. +- Bug 2257 - Ipv[4,6]InterfaceContainer::Add are not consistent Known issues ------------ diff --git a/src/internet/bindings/modulegen__gcc_ILP32.py b/src/internet/bindings/modulegen__gcc_ILP32.py index be1a102b9..dd0c4c89d 100644 --- a/src/internet/bindings/modulegen__gcc_ILP32.py +++ b/src/internet/bindings/modulegen__gcc_ILP32.py @@ -199,7 +199,7 @@ def register_types(module): ## trace-helper.h (module 'network'): ns3::PcapHelper [class] module.add_class('PcapHelper', import_from_module='ns.network') ## trace-helper.h (module 'network'): ns3::PcapHelper [enumeration] - module.add_enum('', ['DLT_NULL', 'DLT_EN10MB', 'DLT_PPP', 'DLT_RAW', 'DLT_IEEE802_11', 'DLT_LINUX_SSL', 'DLT_PRISM_HEADER', 'DLT_IEEE802_11_RADIO', 'DLT_IEEE802_15_4', 'DLT_NETLINK'], outer_class=root_module['ns3::PcapHelper'], import_from_module='ns.network') + module.add_enum('', ['DLT_NULL', 'DLT_EN10MB', 'DLT_PPP', 'DLT_RAW', 'DLT_IEEE802_11', 'DLT_LINUX_SLL', 'DLT_PRISM_HEADER', 'DLT_IEEE802_11_RADIO', 'DLT_IEEE802_15_4', 'DLT_NETLINK'], outer_class=root_module['ns3::PcapHelper'], import_from_module='ns.network') ## trace-helper.h (module 'network'): ns3::PcapHelperForDevice [class] module.add_class('PcapHelperForDevice', allow_subclassing=True, import_from_module='ns.network') ## internet-trace-helper.h (module 'internet'): ns3::PcapHelperForIpv4 [class] @@ -2612,10 +2612,10 @@ def register_Ns3Ipv4InterfaceContainer_methods(root_module, cls): cls.add_constructor([param('ns3::Ipv4InterfaceContainer const &', 'arg0')]) ## ipv4-interface-container.h (module 'internet'): ns3::Ipv4InterfaceContainer::Ipv4InterfaceContainer() [constructor] cls.add_constructor([]) - ## ipv4-interface-container.h (module 'internet'): void ns3::Ipv4InterfaceContainer::Add(ns3::Ipv4InterfaceContainer other) [member function] + ## ipv4-interface-container.h (module 'internet'): void ns3::Ipv4InterfaceContainer::Add(ns3::Ipv4InterfaceContainer const & other) [member function] cls.add_method('Add', 'void', - [param('ns3::Ipv4InterfaceContainer', 'other')]) + [param('ns3::Ipv4InterfaceContainer const &', 'other')]) ## ipv4-interface-container.h (module 'internet'): void ns3::Ipv4InterfaceContainer::Add(ns3::Ptr ipv4, uint32_t interface) [member function] cls.add_method('Add', 'void', @@ -3315,10 +3315,10 @@ def register_Ns3Ipv6InterfaceContainer_methods(root_module, cls): cls.add_method('Add', 'void', [param('ns3::Ptr< ns3::Ipv6 >', 'ipv6'), param('uint32_t', 'interface')]) - ## ipv6-interface-container.h (module 'internet'): void ns3::Ipv6InterfaceContainer::Add(ns3::Ipv6InterfaceContainer & c) [member function] + ## ipv6-interface-container.h (module 'internet'): void ns3::Ipv6InterfaceContainer::Add(ns3::Ipv6InterfaceContainer const & c) [member function] cls.add_method('Add', 'void', - [param('ns3::Ipv6InterfaceContainer &', 'c')]) + [param('ns3::Ipv6InterfaceContainer const &', 'c')]) ## ipv6-interface-container.h (module 'internet'): void ns3::Ipv6InterfaceContainer::Add(std::string ipv6Name, uint32_t interface) [member function] cls.add_method('Add', 'void', @@ -9474,6 +9474,11 @@ def register_Ns3TcpSocketBase_methods(root_module, cls): 'ns3::Socket::SocketErrno', [], is_const=True, is_virtual=True) + ## tcp-socket-base.h (module 'internet'): ns3::TypeId ns3::TcpSocketBase::GetInstanceTypeId() const [member function] + cls.add_method('GetInstanceTypeId', + 'ns3::TypeId', + [], + is_const=True, is_virtual=True) ## tcp-socket-base.h (module 'internet'): ns3::Time ns3::TcpSocketBase::GetMinRto() const [member function] cls.add_method('GetMinRto', 'ns3::Time', diff --git a/src/internet/bindings/modulegen__gcc_LP64.py b/src/internet/bindings/modulegen__gcc_LP64.py index be1a102b9..dd0c4c89d 100644 --- a/src/internet/bindings/modulegen__gcc_LP64.py +++ b/src/internet/bindings/modulegen__gcc_LP64.py @@ -199,7 +199,7 @@ def register_types(module): ## trace-helper.h (module 'network'): ns3::PcapHelper [class] module.add_class('PcapHelper', import_from_module='ns.network') ## trace-helper.h (module 'network'): ns3::PcapHelper [enumeration] - module.add_enum('', ['DLT_NULL', 'DLT_EN10MB', 'DLT_PPP', 'DLT_RAW', 'DLT_IEEE802_11', 'DLT_LINUX_SSL', 'DLT_PRISM_HEADER', 'DLT_IEEE802_11_RADIO', 'DLT_IEEE802_15_4', 'DLT_NETLINK'], outer_class=root_module['ns3::PcapHelper'], import_from_module='ns.network') + module.add_enum('', ['DLT_NULL', 'DLT_EN10MB', 'DLT_PPP', 'DLT_RAW', 'DLT_IEEE802_11', 'DLT_LINUX_SLL', 'DLT_PRISM_HEADER', 'DLT_IEEE802_11_RADIO', 'DLT_IEEE802_15_4', 'DLT_NETLINK'], outer_class=root_module['ns3::PcapHelper'], import_from_module='ns.network') ## trace-helper.h (module 'network'): ns3::PcapHelperForDevice [class] module.add_class('PcapHelperForDevice', allow_subclassing=True, import_from_module='ns.network') ## internet-trace-helper.h (module 'internet'): ns3::PcapHelperForIpv4 [class] @@ -2612,10 +2612,10 @@ def register_Ns3Ipv4InterfaceContainer_methods(root_module, cls): cls.add_constructor([param('ns3::Ipv4InterfaceContainer const &', 'arg0')]) ## ipv4-interface-container.h (module 'internet'): ns3::Ipv4InterfaceContainer::Ipv4InterfaceContainer() [constructor] cls.add_constructor([]) - ## ipv4-interface-container.h (module 'internet'): void ns3::Ipv4InterfaceContainer::Add(ns3::Ipv4InterfaceContainer other) [member function] + ## ipv4-interface-container.h (module 'internet'): void ns3::Ipv4InterfaceContainer::Add(ns3::Ipv4InterfaceContainer const & other) [member function] cls.add_method('Add', 'void', - [param('ns3::Ipv4InterfaceContainer', 'other')]) + [param('ns3::Ipv4InterfaceContainer const &', 'other')]) ## ipv4-interface-container.h (module 'internet'): void ns3::Ipv4InterfaceContainer::Add(ns3::Ptr ipv4, uint32_t interface) [member function] cls.add_method('Add', 'void', @@ -3315,10 +3315,10 @@ def register_Ns3Ipv6InterfaceContainer_methods(root_module, cls): cls.add_method('Add', 'void', [param('ns3::Ptr< ns3::Ipv6 >', 'ipv6'), param('uint32_t', 'interface')]) - ## ipv6-interface-container.h (module 'internet'): void ns3::Ipv6InterfaceContainer::Add(ns3::Ipv6InterfaceContainer & c) [member function] + ## ipv6-interface-container.h (module 'internet'): void ns3::Ipv6InterfaceContainer::Add(ns3::Ipv6InterfaceContainer const & c) [member function] cls.add_method('Add', 'void', - [param('ns3::Ipv6InterfaceContainer &', 'c')]) + [param('ns3::Ipv6InterfaceContainer const &', 'c')]) ## ipv6-interface-container.h (module 'internet'): void ns3::Ipv6InterfaceContainer::Add(std::string ipv6Name, uint32_t interface) [member function] cls.add_method('Add', 'void', @@ -9474,6 +9474,11 @@ def register_Ns3TcpSocketBase_methods(root_module, cls): 'ns3::Socket::SocketErrno', [], is_const=True, is_virtual=True) + ## tcp-socket-base.h (module 'internet'): ns3::TypeId ns3::TcpSocketBase::GetInstanceTypeId() const [member function] + cls.add_method('GetInstanceTypeId', + 'ns3::TypeId', + [], + is_const=True, is_virtual=True) ## tcp-socket-base.h (module 'internet'): ns3::Time ns3::TcpSocketBase::GetMinRto() const [member function] cls.add_method('GetMinRto', 'ns3::Time', diff --git a/src/internet/helper/ipv4-interface-container.cc b/src/internet/helper/ipv4-interface-container.cc index b791e976f..33dab5a77 100644 --- a/src/internet/helper/ipv4-interface-container.cc +++ b/src/internet/helper/ipv4-interface-container.cc @@ -29,7 +29,7 @@ Ipv4InterfaceContainer::Ipv4InterfaceContainer () } void -Ipv4InterfaceContainer::Add (Ipv4InterfaceContainer other) +Ipv4InterfaceContainer::Add (const Ipv4InterfaceContainer& other) { for (InterfaceVector::const_iterator i = other.m_interfaces.begin (); i != other.m_interfaces.end (); i++) { diff --git a/src/internet/helper/ipv4-interface-container.h b/src/internet/helper/ipv4-interface-container.h index 37c966b5d..d6181a966 100644 --- a/src/internet/helper/ipv4-interface-container.h +++ b/src/internet/helper/ipv4-interface-container.h @@ -66,7 +66,7 @@ public: * Concatenate the entries in the other container with ours. * \param other container */ - void Add (Ipv4InterfaceContainer other); + void Add (const Ipv4InterfaceContainer& other); /** * \brief Get an iterator which refers to the first pair in the diff --git a/src/internet/helper/ipv6-interface-container.cc b/src/internet/helper/ipv6-interface-container.cc index 38f157f8f..514f84a75 100644 --- a/src/internet/helper/ipv6-interface-container.cc +++ b/src/internet/helper/ipv6-interface-container.cc @@ -72,7 +72,7 @@ void Ipv6InterfaceContainer::Add (std::string ipv6Name, uint32_t interface) m_interfaces.push_back (std::make_pair (ipv6, interface)); } -void Ipv6InterfaceContainer::Add (Ipv6InterfaceContainer& c) +void Ipv6InterfaceContainer::Add (const Ipv6InterfaceContainer& c) { for (InterfaceVector::const_iterator it = c.m_interfaces.begin (); it != c.m_interfaces.end (); it++) { diff --git a/src/internet/helper/ipv6-interface-container.h b/src/internet/helper/ipv6-interface-container.h index 5c2d4f156..48860af4a 100644 --- a/src/internet/helper/ipv6-interface-container.h +++ b/src/internet/helper/ipv6-interface-container.h @@ -156,7 +156,7 @@ public: * \brief Fusion with another Ipv6InterfaceContainer. * \param c container */ - void Add (Ipv6InterfaceContainer& c); + void Add (const Ipv6InterfaceContainer& c); /** * \brief Add a couple of name/interface.