From cd39d96f2b0f0e1f93dd9923e6629236831ac2a8 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Tue, 2 Sep 2008 17:20:32 -0700 Subject: [PATCH] bug 282: remove Ipv4L4Demux --- bindings/python/ns3_module_helper.py | 4 + bindings/python/ns3_module_internet_stack.py | 18 +++- bindings/python/ns3_module_wifi.py | 4 +- src/internet-stack/internet-stack.cc | 31 +++---- src/internet-stack/ipv4-l3-protocol.cc | 34 ++++++- src/internet-stack/ipv4-l3-protocol.h | 34 +++++++ src/internet-stack/ipv4-l4-demux.cc | 97 -------------------- src/internet-stack/ipv4-l4-demux.h | 88 ------------------ src/internet-stack/ipv4-l4-protocol.cc | 4 - src/internet-stack/ipv4-l4-protocol.h | 4 - src/internet-stack/tcp-l4-protocol.cc | 5 - src/internet-stack/tcp-l4-protocol.h | 1 - src/internet-stack/tcp-socket-impl.cc | 1 - src/internet-stack/udp-l4-protocol.cc | 5 - src/internet-stack/udp-l4-protocol.h | 1 - src/internet-stack/udp-socket-impl.cc | 1 - src/internet-stack/wscript | 1 - utils/print-introspected-doxygen.cc | 1 - 18 files changed, 98 insertions(+), 236 deletions(-) delete mode 100644 src/internet-stack/ipv4-l4-demux.cc delete mode 100644 src/internet-stack/ipv4-l4-demux.h diff --git a/bindings/python/ns3_module_helper.py b/bindings/python/ns3_module_helper.py index 1caea62b9..4c29797c2 100644 --- a/bindings/python/ns3_module_helper.py +++ b/bindings/python/ns3_module_helper.py @@ -168,6 +168,10 @@ def register_Ns3InternetStackHelper_methods(root_module, cls): cls.add_method('Install', 'void', [param('ns3::NodeContainer', 'c')]) + ## internet-stack-helper.h: void ns3::InternetStackHelper::SetNscStack(std::string soname) [member function] + cls.add_method('SetNscStack', + 'void', + [param('std::string', 'soname')]) ## internet-stack-helper.h: static void ns3::InternetStackHelper::EnablePcapAll(std::string filename) [member function] cls.add_method('EnablePcapAll', 'void', diff --git a/bindings/python/ns3_module_internet_stack.py b/bindings/python/ns3_module_internet_stack.py index 521058075..c6150fe29 100644 --- a/bindings/python/ns3_module_internet_stack.py +++ b/bindings/python/ns3_module_internet_stack.py @@ -343,8 +343,6 @@ def register_Ns3TcpHeader_methods(root_module, cls): def register_Ns3Ipv4L3Protocol_methods(root_module, cls): ## ipv4-l3-protocol.h: ns3::Ipv4L3Protocol::PROT_NUMBER [variable] cls.add_static_attribute('PROT_NUMBER', 'uint16_t const', is_const=True) - ## ipv4-l3-protocol.h: ns3::Ipv4L3Protocol::Ipv4L3Protocol(ns3::Ipv4L3Protocol const & arg0) [copy constructor] - cls.add_constructor([param('ns3::Ipv4L3Protocol const &', 'arg0')]) ## ipv4-l3-protocol.h: static ns3::TypeId ns3::Ipv4L3Protocol::GetTypeId() [member function] cls.add_method('GetTypeId', 'ns3::TypeId', @@ -356,6 +354,18 @@ def register_Ns3Ipv4L3Protocol_methods(root_module, cls): cls.add_method('SetNode', 'void', [param('ns3::Ptr< ns3::Node >', 'node')]) + ## ipv4-l3-protocol.h: void ns3::Ipv4L3Protocol::Insert(ns3::Ptr protocol) [member function] + cls.add_method('Insert', + 'void', + [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')]) + ## ipv4-l3-protocol.h: ns3::Ptr ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) [member function] + cls.add_method('GetProtocol', + 'ns3::Ptr< ns3::Ipv4L4Protocol >', + [param('int', 'protocolNumber')]) + ## ipv4-l3-protocol.h: void ns3::Ipv4L3Protocol::Remove(ns3::Ptr protocol) [member function] + cls.add_method('Remove', + 'void', + [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')]) ## ipv4-l3-protocol.h: void ns3::Ipv4L3Protocol::SetDefaultTtl(uint8_t ttl) [member function] cls.add_method('SetDefaultTtl', 'void', @@ -627,6 +637,10 @@ def register_functions(root_module): module.add_function('AddInternetStack', 'void', [param('ns3::Ptr< ns3::Node >', 'node')]) + ## internet-stack.h: extern void ns3::AddNscInternetStack(ns3::Ptr node, std::string const & soname) [free function] + module.add_function('AddNscInternetStack', + 'void', + [param('ns3::Ptr< ns3::Node >', 'node'), param('std::string const &', 'soname')]) register_functions_ns3_internal(module.get_submodule('internal'), root_module) register_functions_ns3_TimeStepPrecision(module.get_submodule('TimeStepPrecision'), root_module) register_functions_ns3_Config(module.get_submodule('Config'), root_module) diff --git a/bindings/python/ns3_module_wifi.py b/bindings/python/ns3_module_wifi.py index f957884d7..cc3db7053 100644 --- a/bindings/python/ns3_module_wifi.py +++ b/bindings/python/ns3_module_wifi.py @@ -675,8 +675,8 @@ def register_Ns3Ssid_methods(root_module, cls): cls.add_constructor([param('ns3::Ssid const &', 'arg0')]) ## ssid.h: ns3::Ssid::Ssid() [constructor] cls.add_constructor([]) - ## ssid.h: ns3::Ssid::Ssid(char const * ssid) [constructor] - cls.add_constructor([param('char const *', 'ssid')]) + ## ssid.h: ns3::Ssid::Ssid(std::string s) [constructor] + cls.add_constructor([param('std::string', 's')]) ## ssid.h: ns3::Ssid::Ssid(char const * ssid, uint8_t length) [constructor] cls.add_constructor([param('char const *', 'ssid'), param('uint8_t', 'length')]) ## ssid.h: ns3::Buffer::Iterator ns3::Ssid::Deserialize(ns3::Buffer::Iterator i) [member function] diff --git a/src/internet-stack/internet-stack.cc b/src/internet-stack/internet-stack.cc index 56d287ebf..280423bff 100644 --- a/src/internet-stack/internet-stack.cc +++ b/src/internet-stack/internet-stack.cc @@ -23,7 +23,6 @@ #include "ns3/node.h" #include "ns3/core-config.h" -#include "ipv4-l4-demux.h" #include "udp-l4-protocol.h" #include "tcp-l4-protocol.h" #include "ipv4-l3-protocol.h" @@ -48,22 +47,22 @@ AddArpStack (Ptr node) } static void -AddUdpStack(Ptr node, Ptr ipv4L4Demux) +AddUdpStack(Ptr node, Ptr ipv4) { Ptr udp = CreateObject (); udp->SetNode (node); - ipv4L4Demux->Insert (udp); + ipv4->Insert (udp); Ptr udpFactory = CreateObject (); udpFactory->SetUdp (udp); node->AggregateObject (udpFactory); } static void -AddTcpStack(Ptr node, Ptr ipv4L4Demux) +AddTcpStack(Ptr node, Ptr ipv4) { Ptr tcp = CreateObject (); tcp->SetNode (node); - ipv4L4Demux->Insert (tcp); + ipv4->Insert (tcp); Ptr tcpFactory = CreateObject (); tcpFactory->SetTcp (tcp); node->AggregateObject (tcpFactory); @@ -74,7 +73,6 @@ AddIpv4Impl(Ptr node, Ptr ipv4) { Ptr ipv4Impl = CreateObject (); ipv4Impl->SetIpv4 (ipv4); - node->AggregateObject (ipv4); node->AggregateObject (ipv4Impl); } @@ -85,25 +83,22 @@ AddInternetStack (Ptr node) Ptr ipv4 = CreateObject (); ipv4->SetNode (node); - Ptr ipv4L4Demux = CreateObject (); - ipv4L4Demux->SetNode (node); - - AddUdpStack (node, ipv4L4Demux); - AddTcpStack (node, ipv4L4Demux); + AddUdpStack (node, ipv4); + AddTcpStack (node, ipv4); AddIpv4Impl (node, ipv4); - node->AggregateObject (ipv4L4Demux); + node->AggregateObject (ipv4); } #ifdef NETWORK_SIMULATION_CRADLE static void -AddNscStack(Ptr node, Ptr ipv4L4Demux, const std::string &soname) +AddNscStack(Ptr node, Ptr ipv4, const std::string &soname) { Ptr tcp = CreateObject (); tcp->SetNscLibrary(soname); tcp->SetNode (node); - ipv4L4Demux->Insert (tcp); + ipv4->Insert (tcp); Ptr tcpFactory = CreateObject (); tcpFactory->SetTcp (tcp); node->AggregateObject (tcpFactory); @@ -117,14 +112,10 @@ AddNscInternetStack (Ptr node, const std::string &soname) Ptr ipv4 = CreateObject (); ipv4->SetNode (node); - Ptr ipv4L4Demux = CreateObject (); - ipv4L4Demux->SetNode (node); - - AddUdpStack (node, ipv4L4Demux); - AddNscStack (node, ipv4L4Demux, soname); + AddUdpStack (node, ipv4); + AddNscStack (node, ipv4, soname); AddIpv4Impl (node, ipv4); - node->AggregateObject (ipv4L4Demux); } #else void diff --git a/src/internet-stack/ipv4-l3-protocol.cc b/src/internet-stack/ipv4-l3-protocol.cc index 95d34d340..c19e21c5a 100644 --- a/src/internet-stack/ipv4-l3-protocol.cc +++ b/src/internet-stack/ipv4-l3-protocol.cc @@ -38,7 +38,6 @@ #include "ipv4-interface.h" #include "ipv4-loopback-interface.h" #include "arp-ipv4-interface.h" -#include "ipv4-l4-demux.h" NS_LOG_COMPONENT_DEFINE ("Ipv4L3Protocol"); @@ -91,6 +90,29 @@ Ipv4L3Protocol::~Ipv4L3Protocol () NS_LOG_FUNCTION (this); } +void +Ipv4L3Protocol::Insert(Ptr protocol) +{ + m_protocols.push_back (protocol); +} +Ptr +Ipv4L3Protocol::GetProtocol(int protocolNumber) +{ + for (L4List_t::iterator i = m_protocols.begin(); i != m_protocols.end(); ++i) + { + if ((*i)->GetProtocolNumber () == protocolNumber) + { + return *i; + } + } + return 0; +} +void +Ipv4L3Protocol::Remove (Ptr protocol) +{ + m_protocols.remove (protocol); +} + void Ipv4L3Protocol::SetNode (Ptr node) { @@ -102,6 +124,13 @@ void Ipv4L3Protocol::DoDispose (void) { NS_LOG_FUNCTION (this); + for (L4List_t::iterator i = m_protocols.begin(); i != m_protocols.end(); ++i) + { + (*i)->Dispose (); + *i = 0; + } + m_protocols.clear (); + for (Ipv4InterfaceList::const_iterator i = m_interfaces.begin (); i != m_interfaces.end (); ++i) { Ptr interface = *i; @@ -699,8 +728,7 @@ Ipv4L3Protocol::ForwardUp (Ptr p, Ipv4Header const&ip, { NS_LOG_FUNCTION (this << p << &ip); - Ptr demux = m_node->GetObject (); - Ptr protocol = demux->GetProtocol (ip.GetProtocol ()); + Ptr protocol = GetProtocol (ip.GetProtocol ()); protocol->Receive (p, ip.GetSource (), ip.GetDestination (), incomingInterface); } diff --git a/src/internet-stack/ipv4-l3-protocol.h b/src/internet-stack/ipv4-l3-protocol.h index 493be5610..b66267b5b 100644 --- a/src/internet-stack/ipv4-l3-protocol.h +++ b/src/internet-stack/ipv4-l3-protocol.h @@ -40,6 +40,7 @@ class Ipv4Address; class Ipv4Header; class Ipv4Route; class Node; +class Ipv4L4Protocol; /** @@ -59,6 +60,35 @@ public: void SetNode (Ptr node); + /** + * \param protocol a template for the protocol to add to this L4 Demux. + * \returns the L4Protocol effectively added. + * + * Invoke Copy on the input template to get a copy of the input + * protocol which can be used on the Node on which this L4 Demux + * is running. The new L4Protocol is registered internally as + * a working L4 Protocol and returned from this method. + * The caller does not get ownership of the returned pointer. + */ + void Insert(Ptr protocol); + /** + * \param protocolNumber number of protocol to lookup + * in this L4 Demux + * \returns a matching L4 Protocol + * + * This method is typically called by lower layers + * to forward packets up the stack to the right protocol. + * It is also called from NodeImpl::GetUdp for example. + */ + Ptr GetProtocol(int protocolNumber); + /** + * \param protocol protocol to remove from this demux. + * + * The input value to this method should be the value + * returned from the Ipv4L4Protocol::Insert method. + */ + void Remove (Ptr protocol); + /** * \param ttl default ttl to use * @@ -187,12 +217,16 @@ private: void ForwardUp (Ptr p, Ipv4Header const&ip, Ptr incomingInterface); uint32_t AddIpv4Interface (Ptr interface); void SetupLoopback (void); + Ipv4L3Protocol(const Ipv4L3Protocol &); + Ipv4L3Protocol &operator = (const Ipv4L3Protocol &); typedef std::list > Ipv4InterfaceList; typedef std::list > Ipv4MulticastGroupList; typedef std::list< std::pair< int, Ptr > > Ipv4RoutingProtocolList; + typedef std::list > L4List_t; + L4List_t m_protocols; Ipv4InterfaceList m_interfaces; uint32_t m_nInterfaces; uint8_t m_defaultTtl; diff --git a/src/internet-stack/ipv4-l4-demux.cc b/src/internet-stack/ipv4-l4-demux.cc deleted file mode 100644 index a40614891..000000000 --- a/src/internet-stack/ipv4-l4-demux.cc +++ /dev/null @@ -1,97 +0,0 @@ -// -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- -// -// Copyright (c) 2006 Georgia Tech Research Corporation -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License version 2 as -// published by the Free Software Foundation; -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// Author: George F. Riley -// - -// Define the layer 4 demultiplexer object for ns3. -// George F. Riley, Georgia Tech, Fall 2006 - -#include -#include "ns3/node.h" -#include "ns3/object-vector.h" -#include "ipv4-l4-demux.h" -#include "ipv4-l4-protocol.h" - -namespace ns3 { - -NS_OBJECT_ENSURE_REGISTERED (Ipv4L4Demux); - -TypeId -Ipv4L4Demux::GetTypeId (void) -{ - static TypeId tid = TypeId ("ns3::Ipv4L4Demux") - .SetParent () - .AddAttribute ("Protocols", "The set of protocols registered with this demux.", - ObjectVectorValue (), - MakeObjectVectorAccessor (&Ipv4L4Demux::m_protocols), - MakeObjectVectorChecker ()) - ; - return tid; -} - -Ipv4L4Demux::Ipv4L4Demux () -{} - -Ipv4L4Demux::~Ipv4L4Demux() -{} - -void -Ipv4L4Demux::SetNode (Ptr node) -{ - m_node = node; -} - -void -Ipv4L4Demux::DoDispose (void) -{ - for (L4List_t::iterator i = m_protocols.begin(); i != m_protocols.end(); ++i) - { - (*i)->Dispose (); - *i = 0; - } - m_protocols.clear (); - m_node = 0; - Object::DoDispose (); -} - -void -Ipv4L4Demux::Insert(Ptr protocol) -{ - m_protocols.push_back (protocol); -} -Ptr -Ipv4L4Demux::GetProtocol(int protocolNumber) -{ - for (L4List_t::iterator i = m_protocols.begin(); i != m_protocols.end(); ++i) - { - if ((*i)->GetProtocolNumber () == protocolNumber) - { - return *i; - } - } - return 0; -} -void -Ipv4L4Demux::Remove (Ptr protocol) -{ - m_protocols.remove (protocol); -} - - - -}//namespace ns3 diff --git a/src/internet-stack/ipv4-l4-demux.h b/src/internet-stack/ipv4-l4-demux.h deleted file mode 100644 index 54ceda210..000000000 --- a/src/internet-stack/ipv4-l4-demux.h +++ /dev/null @@ -1,88 +0,0 @@ -// -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- -// -// Copyright (c) 2006 Georgia Tech Research Corporation -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License version 2 as -// published by the Free Software Foundation; -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// Author: George F. Riley -// - -// Define the layer 4 demultiplexer object for ns3. -// George F. Riley, Georgia Tech, Fall 2006 - -#ifndef IPV4_L4_DEMUX_H -#define IPV4_L4_DEMUX_H - -#include -#include "ns3/object.h" -#include "ns3/ptr.h" - -namespace ns3 { - -class Ipv4L4Protocol; -class Node; - -/** - * \brief L4 Ipv4 Demux - * - * This class demultiplexes IP datagrams to the correct layer four protocol - * object. This demux sits between IP and layer 4. - */ -class Ipv4L4Demux : public Object -{ -public: - static TypeId GetTypeId (void); - Ipv4L4Demux (); - virtual ~Ipv4L4Demux(); - - void SetNode (Ptr node); - - /** - * \param protocol a template for the protocol to add to this L4 Demux. - * \returns the L4Protocol effectively added. - * - * Invoke Copy on the input template to get a copy of the input - * protocol which can be used on the Node on which this L4 Demux - * is running. The new L4Protocol is registered internally as - * a working L4 Protocol and returned from this method. - * The caller does not get ownership of the returned pointer. - */ - void Insert(Ptr protocol); - /** - * \param protocolNumber number of protocol to lookup - * in this L4 Demux - * \returns a matching L4 Protocol - * - * This method is typically called by lower layers - * to forward packets up the stack to the right protocol. - * It is also called from NodeImpl::GetUdp for example. - */ - Ptr GetProtocol(int protocolNumber); - /** - * \param protocol protocol to remove from this demux. - * - * The input value to this method should be the value - * returned from the Ipv4L4Protocol::Insert method. - */ - void Remove (Ptr protocol); -protected: - virtual void DoDispose (void); -private: - typedef std::list > L4List_t; - L4List_t m_protocols; - Ptr m_node; -}; - -} //namespace ns3 -#endif diff --git a/src/internet-stack/ipv4-l4-protocol.cc b/src/internet-stack/ipv4-l4-protocol.cc index 662dc37b3..83e56b0f9 100644 --- a/src/internet-stack/ipv4-l4-protocol.cc +++ b/src/internet-stack/ipv4-l4-protocol.cc @@ -37,10 +37,6 @@ Ipv4L4Protocol::GetTypeId (void) UintegerValue (0), MakeUintegerAccessor (&Ipv4L4Protocol::GetProtocolNumber), MakeUintegerChecker ()) - .AddAttribute ("Version", "The version of the protocol.", - UintegerValue (0), - MakeUintegerAccessor (&Ipv4L4Protocol::GetVersion), - MakeUintegerChecker ()) ; return tid; } diff --git a/src/internet-stack/ipv4-l4-protocol.h b/src/internet-stack/ipv4-l4-protocol.h index 1a8595a5b..bb348bcd9 100644 --- a/src/internet-stack/ipv4-l4-protocol.h +++ b/src/internet-stack/ipv4-l4-protocol.h @@ -49,10 +49,6 @@ public: * \returns the protocol number of this protocol. */ virtual int GetProtocolNumber (void) const = 0; - /** - * \returns the version number of this protocol. - */ - virtual int GetVersion (void) const = 0; /** * \param p packet to forward up diff --git a/src/internet-stack/tcp-l4-protocol.cc b/src/internet-stack/tcp-l4-protocol.cc index 3f385cf5a..9b0d56a1f 100644 --- a/src/internet-stack/tcp-l4-protocol.cc +++ b/src/internet-stack/tcp-l4-protocol.cc @@ -361,11 +361,6 @@ TcpL4Protocol::GetProtocolNumber (void) const { return PROT_NUMBER; } -int -TcpL4Protocol::GetVersion (void) const -{ - return 2; -} void TcpL4Protocol::DoDispose (void) diff --git a/src/internet-stack/tcp-l4-protocol.h b/src/internet-stack/tcp-l4-protocol.h index 710143001..492abb2f8 100644 --- a/src/internet-stack/tcp-l4-protocol.h +++ b/src/internet-stack/tcp-l4-protocol.h @@ -62,7 +62,6 @@ public: void SetNode (Ptr node); virtual int GetProtocolNumber (void) const; - virtual int GetVersion (void) const; /** * \return A smart Socket pointer to a TcpSocketImpl, allocated by this instance diff --git a/src/internet-stack/tcp-socket-impl.cc b/src/internet-stack/tcp-socket-impl.cc index a55edc7af..7902dd259 100644 --- a/src/internet-stack/tcp-socket-impl.cc +++ b/src/internet-stack/tcp-socket-impl.cc @@ -26,7 +26,6 @@ #include "tcp-socket-impl.h" #include "tcp-l4-protocol.h" #include "ipv4-end-point.h" -#include "ipv4-l4-demux.h" #include "ns3/simulation-singleton.h" #include "tcp-typedefs.h" #include "ns3/simulator.h" diff --git a/src/internet-stack/udp-l4-protocol.cc b/src/internet-stack/udp-l4-protocol.cc index 75b6e756d..080813b2c 100644 --- a/src/internet-stack/udp-l4-protocol.cc +++ b/src/internet-stack/udp-l4-protocol.cc @@ -77,11 +77,6 @@ UdpL4Protocol::GetProtocolNumber (void) const { return PROT_NUMBER; } -int -UdpL4Protocol::GetVersion (void) const -{ - return 2; -} void diff --git a/src/internet-stack/udp-l4-protocol.h b/src/internet-stack/udp-l4-protocol.h index 29d1551cc..e5ae60dda 100644 --- a/src/internet-stack/udp-l4-protocol.h +++ b/src/internet-stack/udp-l4-protocol.h @@ -47,7 +47,6 @@ public: void SetNode (Ptr node); virtual int GetProtocolNumber (void) const; - virtual int GetVersion (void) const; /** * \return A smart Socket pointer to a UdpSocket, allocated by this instance diff --git a/src/internet-stack/udp-socket-impl.cc b/src/internet-stack/udp-socket-impl.cc index 003478a37..56335118e 100644 --- a/src/internet-stack/udp-socket-impl.cc +++ b/src/internet-stack/udp-socket-impl.cc @@ -30,7 +30,6 @@ #include "udp-socket-impl.h" #include "udp-l4-protocol.h" #include "ipv4-end-point.h" -#include "ipv4-l4-demux.h" NS_LOG_COMPONENT_DEFINE ("UdpSocketImpl"); diff --git a/src/internet-stack/wscript b/src/internet-stack/wscript index 1a4c615b0..fed2b8520 100644 --- a/src/internet-stack/wscript +++ b/src/internet-stack/wscript @@ -62,7 +62,6 @@ def build(bld): obj = bld.create_ns3_module('internet-stack', ['node']) obj.source = [ 'internet-stack.cc', - 'ipv4-l4-demux.cc', 'ipv4-l4-protocol.cc', 'udp-header.cc', 'tcp-header.cc', diff --git a/utils/print-introspected-doxygen.cc b/utils/print-introspected-doxygen.cc index 24f8b944f..12684629a 100644 --- a/utils/print-introspected-doxygen.cc +++ b/utils/print-introspected-doxygen.cc @@ -241,7 +241,6 @@ int main (int argc, char *argv[]) info.RecordAggregationInfo ("ns3::Node", "ns3::PacketSocketFactory"); info.RecordAggregationInfo ("ns3::Node", "ns3::olsr::Agent"); info.RecordAggregationInfo ("ns3::Node", "ns3::MobilityModel"); - info.RecordAggregationInfo ("ns3::Node", "ns3::Ipv4L4Demux"); info.RecordAggregationInfo ("ns3::Node", "ns3::Ipv4L3Protocol"); info.RecordAggregationInfo ("ns3::Node", "ns3::ArpL3Protocol");