1.1 --- a/bindings/python/ns3_module_bridge.py Wed Nov 05 14:33:20 2008 -0800
1.2 +++ b/bindings/python/ns3_module_bridge.py Wed Nov 05 14:49:21 2008 -0800
1.3 @@ -158,14 +158,9 @@
1.4 'bool',
1.5 [],
1.6 is_const=True, is_virtual=True)
1.7 - ## bridge-net-device.h: ns3::Address ns3::BridgeNetDevice::GetMulticast() const [member function]
1.8 + ## bridge-net-device.h: ns3::Address ns3::BridgeNetDevice::GetMulticast(ns3::Ipv4Address multicastGroup) const [member function]
1.9 cls.add_method('GetMulticast',
1.10 'ns3::Address',
1.11 - [],
1.12 - is_const=True, is_virtual=True)
1.13 - ## bridge-net-device.h: ns3::Address ns3::BridgeNetDevice::MakeMulticastAddress(ns3::Ipv4Address multicastGroup) const [member function]
1.14 - cls.add_method('MakeMulticastAddress',
1.15 - 'ns3::Address',
1.16 [param('ns3::Ipv4Address', 'multicastGroup')],
1.17 is_const=True, is_virtual=True)
1.18 ## bridge-net-device.h: bool ns3::BridgeNetDevice::IsPointToPoint() const [member function]
2.1 --- a/bindings/python/ns3_module_core.py Wed Nov 05 14:33:20 2008 -0800
2.2 +++ b/bindings/python/ns3_module_core.py Wed Nov 05 14:49:21 2008 -0800
2.3 @@ -1879,7 +1879,7 @@
2.4 cls.add_method('ConnectWithoutContext',
2.5 'void',
2.6 [param('ns3::CallbackBase const &', 'cb')])
2.7 - ## traced-value.h: void ns3::TracedValue<unsigned int>::Connect(ns3::CallbackBase const & cb, std::string path) [member function]
2.8 + ## traced-value.h: void ns3::TracedValue<unsigned int>::Connect(ns3::CallbackBase const & cb, std::basic_string<char,std::char_traits<char>,std::allocator<char> > path) [member function]
2.9 cls.add_method('Connect',
2.10 'void',
2.11 [param('ns3::CallbackBase const &', 'cb'), param('std::string', 'path')])
2.12 @@ -1887,7 +1887,7 @@
2.13 cls.add_method('DisconnectWithoutContext',
2.14 'void',
2.15 [param('ns3::CallbackBase const &', 'cb')])
2.16 - ## traced-value.h: void ns3::TracedValue<unsigned int>::Disconnect(ns3::CallbackBase const & cb, std::string path) [member function]
2.17 + ## traced-value.h: void ns3::TracedValue<unsigned int>::Disconnect(ns3::CallbackBase const & cb, std::basic_string<char,std::char_traits<char>,std::allocator<char> > path) [member function]
2.18 cls.add_method('Disconnect',
2.19 'void',
2.20 [param('ns3::CallbackBase const &', 'cb'), param('std::string', 'path')])
2.21 @@ -1981,7 +1981,7 @@
2.22 module.add_function('TypeNameGet',
2.23 'std::string',
2.24 [],
2.25 - template_parameters=['long long'])
2.26 + template_parameters=['long'])
2.27 ## type-name.h: extern std::string ns3::TypeNameGet() [free function]
2.28 module.add_function('TypeNameGet',
2.29 'std::string',
2.30 @@ -2001,7 +2001,7 @@
2.31 module.add_function('TypeNameGet',
2.32 'std::string',
2.33 [],
2.34 - template_parameters=['unsigned long long'])
2.35 + template_parameters=['unsigned long'])
2.36 ## type-name.h: extern std::string ns3::TypeNameGet() [free function]
2.37 module.add_function('TypeNameGet',
2.38 'std::string',
2.39 @@ -2017,18 +2017,22 @@
2.40 'std::string',
2.41 [],
2.42 template_parameters=['unsigned char'])
2.43 - ## log.h: extern void ns3::LogComponentDisable(char const * name, ns3::LogLevel level) [free function]
2.44 - module.add_function('LogComponentDisable',
2.45 - 'void',
2.46 - [param('char const *', 'name'), param('ns3::LogLevel', 'level')])
2.47 ## string.h: extern ns3::Ptr<ns3::AttributeChecker const> ns3::MakeStringChecker() [free function]
2.48 module.add_function('MakeStringChecker',
2.49 'ns3::Ptr< ns3::AttributeChecker const >',
2.50 [])
2.51 + ## enum.h: extern ns3::Ptr<ns3::AttributeChecker const> ns3::MakeEnumChecker(int v1, std::string n1, int v2=0, std::string n2="", int v3=0, std::string n3="", int v4=0, std::string n4="", int v5=0, std::string n5="", int v6=0, std::string n6="", int v7=0, std::string n7="", int v8=0, std::string n8="", int v9=0, std::string n9="", int v10=0, std::string n10="", int v11=0, std::string n11="", int v12=0, std::string n12="") [free function]
2.52 + module.add_function('MakeEnumChecker',
2.53 + 'ns3::Ptr< ns3::AttributeChecker const >',
2.54 + [param('int', 'v1'), param('std::string', 'n1'), param('int', 'v2', default_value='0'), param('std::string', 'n2', default_value='""'), param('int', 'v3', default_value='0'), param('std::string', 'n3', default_value='""'), param('int', 'v4', default_value='0'), param('std::string', 'n4', default_value='""'), param('int', 'v5', default_value='0'), param('std::string', 'n5', default_value='""'), param('int', 'v6', default_value='0'), param('std::string', 'n6', default_value='""'), param('int', 'v7', default_value='0'), param('std::string', 'n7', default_value='""'), param('int', 'v8', default_value='0'), param('std::string', 'n8', default_value='""'), param('int', 'v9', default_value='0'), param('std::string', 'n9', default_value='""'), param('int', 'v10', default_value='0'), param('std::string', 'n10', default_value='""'), param('int', 'v11', default_value='0'), param('std::string', 'n11', default_value='""'), param('int', 'v12', default_value='0'), param('std::string', 'n12', default_value='""')])
2.55 ## type-id.h: extern ns3::Ptr<ns3::AttributeChecker const> ns3::MakeTypeIdChecker() [free function]
2.56 module.add_function('MakeTypeIdChecker',
2.57 'ns3::Ptr< ns3::AttributeChecker const >',
2.58 [])
2.59 + ## log.h: extern void ns3::LogComponentEnableAll(ns3::LogLevel level) [free function]
2.60 + module.add_function('LogComponentEnableAll',
2.61 + 'void',
2.62 + [param('ns3::LogLevel', 'level')])
2.63 ## ptr.h: extern ns3::Ptr<ns3::PointerValue> ns3::Create() [free function]
2.64 module.add_function('Create',
2.65 'ns3::Ptr< ns3::PointerValue >',
2.66 @@ -2039,10 +2043,6 @@
2.67 'ns3::Ptr< ns3::ObjectVectorValue >',
2.68 [],
2.69 template_parameters=['ns3::ObjectVectorValue'])
2.70 - ## log.h: extern void ns3::LogComponentEnableAll(ns3::LogLevel level) [free function]
2.71 - module.add_function('LogComponentEnableAll',
2.72 - 'void',
2.73 - [param('ns3::LogLevel', 'level')])
2.74 ## object-factory.h: extern ns3::Ptr<ns3::AttributeChecker const> ns3::MakeObjectFactoryChecker() [free function]
2.75 module.add_function('MakeObjectFactoryChecker',
2.76 'ns3::Ptr< ns3::AttributeChecker const >',
2.77 @@ -2063,14 +2063,14 @@
2.78 module.add_function('MakeRandomVariableChecker',
2.79 'ns3::Ptr< ns3::AttributeChecker const >',
2.80 [])
2.81 + ## log.h: extern void ns3::LogComponentDisable(char const * name, ns3::LogLevel level) [free function]
2.82 + module.add_function('LogComponentDisable',
2.83 + 'void',
2.84 + [param('char const *', 'name'), param('ns3::LogLevel', 'level')])
2.85 ## log.h: extern void ns3::LogComponentEnable(char const * name, ns3::LogLevel level) [free function]
2.86 module.add_function('LogComponentEnable',
2.87 'void',
2.88 [param('char const *', 'name'), param('ns3::LogLevel', 'level')])
2.89 - ## enum.h: extern ns3::Ptr<ns3::AttributeChecker const> ns3::MakeEnumChecker(int v1, std::string n1, int v2=0, std::string n2="", int v3=0, std::string n3="", int v4=0, std::string n4="", int v5=0, std::string n5="", int v6=0, std::string n6="", int v7=0, std::string n7="", int v8=0, std::string n8="", int v9=0, std::string n9="", int v10=0, std::string n10="", int v11=0, std::string n11="", int v12=0, std::string n12="") [free function]
2.90 - module.add_function('MakeEnumChecker',
2.91 - 'ns3::Ptr< ns3::AttributeChecker const >',
2.92 - [param('int', 'v1'), param('std::string', 'n1'), param('int', 'v2', default_value='0'), param('std::string', 'n2', default_value='""'), param('int', 'v3', default_value='0'), param('std::string', 'n3', default_value='""'), param('int', 'v4', default_value='0'), param('std::string', 'n4', default_value='""'), param('int', 'v5', default_value='0'), param('std::string', 'n5', default_value='""'), param('int', 'v6', default_value='0'), param('std::string', 'n6', default_value='""'), param('int', 'v7', default_value='0'), param('std::string', 'n7', default_value='""'), param('int', 'v8', default_value='0'), param('std::string', 'n8', default_value='""'), param('int', 'v9', default_value='0'), param('std::string', 'n9', default_value='""'), param('int', 'v10', default_value='0'), param('std::string', 'n10', default_value='""'), param('int', 'v11', default_value='0'), param('std::string', 'n11', default_value='""'), param('int', 'v12', default_value='0'), param('std::string', 'n12', default_value='""')])
2.93 register_functions_ns3_internal(module.get_submodule('internal'), root_module)
2.94 register_functions_ns3_TimeStepPrecision(module.get_submodule('TimeStepPrecision'), root_module)
2.95 register_functions_ns3_Config(module.get_submodule('Config'), root_module)
2.96 @@ -2132,10 +2132,6 @@
2.97 module.add_function('SetGlobalFailSafe',
2.98 'bool',
2.99 [param('std::string', 'name'), param('ns3::AttributeValue const &', 'value')])
2.100 - ## config.h: extern void ns3::Config::Disconnect(std::string path, ns3::CallbackBase const & cb) [free function]
2.101 - module.add_function('Disconnect',
2.102 - 'void',
2.103 - [param('std::string', 'path'), param('ns3::CallbackBase const &', 'cb')])
2.104 ## config.h: extern uint32_t ns3::Config::GetRootNamespaceObjectN() [free function]
2.105 module.add_function('GetRootNamespaceObjectN',
2.106 'uint32_t',
2.107 @@ -2152,6 +2148,10 @@
2.108 module.add_function('RegisterRootNamespaceObject',
2.109 'void',
2.110 [param('ns3::Ptr< ns3::Object >', 'obj')])
2.111 + ## config.h: extern void ns3::Config::Disconnect(std::string path, ns3::CallbackBase const & cb) [free function]
2.112 + module.add_function('Disconnect',
2.113 + 'void',
2.114 + [param('std::string', 'path'), param('ns3::CallbackBase const &', 'cb')])
2.115 return
2.116
2.117 def register_functions_ns3_olsr(module, root_module):
3.1 --- a/bindings/python/ns3_module_csma.py Wed Nov 05 14:33:20 2008 -0800
3.2 +++ b/bindings/python/ns3_module_csma.py Wed Nov 05 14:49:21 2008 -0800
3.3 @@ -338,14 +338,9 @@
3.4 'bool',
3.5 [],
3.6 is_const=True, is_virtual=True)
3.7 - ## csma-net-device.h: ns3::Address ns3::CsmaNetDevice::GetMulticast() const [member function]
3.8 + ## csma-net-device.h: ns3::Address ns3::CsmaNetDevice::GetMulticast(ns3::Ipv4Address multicastGroup) const [member function]
3.9 cls.add_method('GetMulticast',
3.10 'ns3::Address',
3.11 - [],
3.12 - is_const=True, is_virtual=True)
3.13 - ## csma-net-device.h: ns3::Address ns3::CsmaNetDevice::MakeMulticastAddress(ns3::Ipv4Address multicastGroup) const [member function]
3.14 - cls.add_method('MakeMulticastAddress',
3.15 - 'ns3::Address',
3.16 [param('ns3::Ipv4Address', 'multicastGroup')],
3.17 is_const=True, is_virtual=True)
3.18 ## csma-net-device.h: bool ns3::CsmaNetDevice::IsPointToPoint() const [member function]
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/bindings/python/ns3_module_emu.py Wed Nov 05 14:49:21 2008 -0800
4.3 @@ -0,0 +1,232 @@
4.4 +from pybindgen import Module, FileCodeSink, param, retval, cppclass
4.5 +
4.6 +def register_types(module):
4.7 + root_module = module.get_root()
4.8 +
4.9 + ## emu-net-device.h: ns3::EmuNetDevice [class]
4.10 + module.add_class('EmuNetDevice', parent=root_module['ns3::NetDevice'])
4.11 +
4.12 + ## Register a nested module for the namespace internal
4.13 +
4.14 + nested_module = module.add_cpp_namespace('internal')
4.15 + register_types_ns3_internal(nested_module)
4.16 +
4.17 +
4.18 + ## Register a nested module for the namespace TimeStepPrecision
4.19 +
4.20 + nested_module = module.add_cpp_namespace('TimeStepPrecision')
4.21 + register_types_ns3_TimeStepPrecision(nested_module)
4.22 +
4.23 +
4.24 + ## Register a nested module for the namespace Config
4.25 +
4.26 + nested_module = module.add_cpp_namespace('Config')
4.27 + register_types_ns3_Config(nested_module)
4.28 +
4.29 +
4.30 + ## Register a nested module for the namespace olsr
4.31 +
4.32 + nested_module = module.add_cpp_namespace('olsr')
4.33 + register_types_ns3_olsr(nested_module)
4.34 +
4.35 +
4.36 +def register_types_ns3_internal(module):
4.37 + root_module = module.get_root()
4.38 +
4.39 +
4.40 +def register_types_ns3_TimeStepPrecision(module):
4.41 + root_module = module.get_root()
4.42 +
4.43 +
4.44 +def register_types_ns3_Config(module):
4.45 + root_module = module.get_root()
4.46 +
4.47 +
4.48 +def register_types_ns3_olsr(module):
4.49 + root_module = module.get_root()
4.50 +
4.51 +
4.52 +def register_methods(root_module):
4.53 + register_Ns3EmuNetDevice_methods(root_module, root_module['ns3::EmuNetDevice'])
4.54 + return
4.55 +
4.56 +def register_Ns3EmuNetDevice_methods(root_module, cls):
4.57 + ## emu-net-device.h: ns3::EmuNetDevice::EmuNetDevice(ns3::EmuNetDevice const & arg0) [copy constructor]
4.58 + cls.add_constructor([param('ns3::EmuNetDevice const &', 'arg0')])
4.59 + ## emu-net-device.h: static ns3::TypeId ns3::EmuNetDevice::GetTypeId() [member function]
4.60 + cls.add_method('GetTypeId',
4.61 + 'ns3::TypeId',
4.62 + [],
4.63 + is_static=True)
4.64 + ## emu-net-device.h: ns3::EmuNetDevice::EmuNetDevice() [constructor]
4.65 + cls.add_constructor([])
4.66 + ## emu-net-device.h: void ns3::EmuNetDevice::SetDataRate(ns3::DataRate bps) [member function]
4.67 + cls.add_method('SetDataRate',
4.68 + 'void',
4.69 + [param('ns3::DataRate', 'bps')])
4.70 + ## emu-net-device.h: void ns3::EmuNetDevice::SetInterframeGap(ns3::Time t) [member function]
4.71 + cls.add_method('SetInterframeGap',
4.72 + 'void',
4.73 + [param('ns3::Time', 't')])
4.74 + ## emu-net-device.h: void ns3::EmuNetDevice::Start(ns3::Time tStart) [member function]
4.75 + cls.add_method('Start',
4.76 + 'void',
4.77 + [param('ns3::Time', 'tStart')])
4.78 + ## emu-net-device.h: void ns3::EmuNetDevice::Stop(ns3::Time tStop) [member function]
4.79 + cls.add_method('Stop',
4.80 + 'void',
4.81 + [param('ns3::Time', 'tStop')])
4.82 + ## emu-net-device.h: void ns3::EmuNetDevice::SetQueue(ns3::Ptr<ns3::Queue> queue) [member function]
4.83 + cls.add_method('SetQueue',
4.84 + 'void',
4.85 + [param('ns3::Ptr< ns3::Queue >', 'queue')])
4.86 + ## emu-net-device.h: void ns3::EmuNetDevice::Receive(ns3::Ptr<ns3::Packet> p) [member function]
4.87 + cls.add_method('Receive',
4.88 + 'void',
4.89 + [param('ns3::Ptr< ns3::Packet >', 'p')])
4.90 + ## emu-net-device.h: void ns3::EmuNetDevice::SetAddress(ns3::Mac48Address addr) [member function]
4.91 + cls.add_method('SetAddress',
4.92 + 'void',
4.93 + [param('ns3::Mac48Address', 'addr')])
4.94 + ## emu-net-device.h: void ns3::EmuNetDevice::SetName(std::string const name) [member function]
4.95 + cls.add_method('SetName',
4.96 + 'void',
4.97 + [param('std::string const', 'name')],
4.98 + is_virtual=True)
4.99 + ## emu-net-device.h: std::string ns3::EmuNetDevice::GetName() const [member function]
4.100 + cls.add_method('GetName',
4.101 + 'std::string',
4.102 + [],
4.103 + is_const=True, is_virtual=True)
4.104 + ## emu-net-device.h: void ns3::EmuNetDevice::SetIfIndex(uint32_t const index) [member function]
4.105 + cls.add_method('SetIfIndex',
4.106 + 'void',
4.107 + [param('uint32_t const', 'index')],
4.108 + is_virtual=True)
4.109 + ## emu-net-device.h: uint32_t ns3::EmuNetDevice::GetIfIndex() const [member function]
4.110 + cls.add_method('GetIfIndex',
4.111 + 'uint32_t',
4.112 + [],
4.113 + is_const=True, is_virtual=True)
4.114 + ## emu-net-device.h: ns3::Ptr<ns3::Channel> ns3::EmuNetDevice::GetChannel() const [member function]
4.115 + cls.add_method('GetChannel',
4.116 + 'ns3::Ptr< ns3::Channel >',
4.117 + [],
4.118 + is_const=True, is_virtual=True)
4.119 + ## emu-net-device.h: ns3::Address ns3::EmuNetDevice::GetAddress() const [member function]
4.120 + cls.add_method('GetAddress',
4.121 + 'ns3::Address',
4.122 + [],
4.123 + is_const=True, is_virtual=True)
4.124 + ## emu-net-device.h: bool ns3::EmuNetDevice::SetMtu(uint16_t const mtu) [member function]
4.125 + cls.add_method('SetMtu',
4.126 + 'bool',
4.127 + [param('uint16_t const', 'mtu')],
4.128 + is_virtual=True)
4.129 + ## emu-net-device.h: uint16_t ns3::EmuNetDevice::GetMtu() const [member function]
4.130 + cls.add_method('GetMtu',
4.131 + 'uint16_t',
4.132 + [],
4.133 + is_const=True, is_virtual=True)
4.134 + ## emu-net-device.h: bool ns3::EmuNetDevice::IsLinkUp() const [member function]
4.135 + cls.add_method('IsLinkUp',
4.136 + 'bool',
4.137 + [],
4.138 + is_const=True, is_virtual=True)
4.139 + ## emu-net-device.h: void ns3::EmuNetDevice::SetLinkChangeCallback(ns3::Callback<void, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> callback) [member function]
4.140 + cls.add_method('SetLinkChangeCallback',
4.141 + 'void',
4.142 + [param('ns3::Callback< void, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'callback')],
4.143 + is_virtual=True)
4.144 + ## emu-net-device.h: bool ns3::EmuNetDevice::IsBroadcast() const [member function]
4.145 + cls.add_method('IsBroadcast',
4.146 + 'bool',
4.147 + [],
4.148 + is_const=True, is_virtual=True)
4.149 + ## emu-net-device.h: ns3::Address ns3::EmuNetDevice::GetBroadcast() const [member function]
4.150 + cls.add_method('GetBroadcast',
4.151 + 'ns3::Address',
4.152 + [],
4.153 + is_const=True, is_virtual=True)
4.154 + ## emu-net-device.h: bool ns3::EmuNetDevice::IsMulticast() const [member function]
4.155 + cls.add_method('IsMulticast',
4.156 + 'bool',
4.157 + [],
4.158 + is_const=True, is_virtual=True)
4.159 + ## emu-net-device.h: ns3::Address ns3::EmuNetDevice::GetMulticast(ns3::Ipv4Address multicastGroup) const [member function]
4.160 + cls.add_method('GetMulticast',
4.161 + 'ns3::Address',
4.162 + [param('ns3::Ipv4Address', 'multicastGroup')],
4.163 + is_const=True, is_virtual=True)
4.164 + ## emu-net-device.h: bool ns3::EmuNetDevice::IsPointToPoint() const [member function]
4.165 + cls.add_method('IsPointToPoint',
4.166 + 'bool',
4.167 + [],
4.168 + is_const=True, is_virtual=True)
4.169 + ## emu-net-device.h: bool ns3::EmuNetDevice::Send(ns3::Ptr<ns3::Packet> packet, ns3::Address const & dest, uint16_t protocolNumber) [member function]
4.170 + cls.add_method('Send',
4.171 + 'bool',
4.172 + [param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Address const &', 'dest'), param('uint16_t', 'protocolNumber')],
4.173 + is_virtual=True)
4.174 + ## emu-net-device.h: bool ns3::EmuNetDevice::SendFrom(ns3::Ptr<ns3::Packet> packet, ns3::Address const & source, ns3::Address const & dest, uint16_t protocolNumber) [member function]
4.175 + cls.add_method('SendFrom',
4.176 + 'bool',
4.177 + [param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Address const &', 'source'), param('ns3::Address const &', 'dest'), param('uint16_t', 'protocolNumber')],
4.178 + is_virtual=True)
4.179 + ## emu-net-device.h: ns3::Ptr<ns3::Node> ns3::EmuNetDevice::GetNode() const [member function]
4.180 + cls.add_method('GetNode',
4.181 + 'ns3::Ptr< ns3::Node >',
4.182 + [],
4.183 + is_const=True, is_virtual=True)
4.184 + ## emu-net-device.h: void ns3::EmuNetDevice::SetNode(ns3::Ptr<ns3::Node> node) [member function]
4.185 + cls.add_method('SetNode',
4.186 + 'void',
4.187 + [param('ns3::Ptr< ns3::Node >', 'node')],
4.188 + is_virtual=True)
4.189 + ## emu-net-device.h: bool ns3::EmuNetDevice::NeedsArp() const [member function]
4.190 + cls.add_method('NeedsArp',
4.191 + 'bool',
4.192 + [],
4.193 + is_const=True, is_virtual=True)
4.194 + ## emu-net-device.h: void ns3::EmuNetDevice::SetReceiveCallback(ns3::Callback<bool, ns3::Ptr<ns3::NetDevice>, ns3::Ptr<ns3::Packet const>, unsigned short, ns3::Address const&, ns3::empty, ns3::empty> cb) [member function]
4.195 + cls.add_method('SetReceiveCallback',
4.196 + 'void',
4.197 + [param('ns3::Callback< bool, ns3::Ptr< ns3::NetDevice >, ns3::Ptr< ns3::Packet const >, unsigned short, ns3::Address const &, ns3::empty, ns3::empty >', 'cb')],
4.198 + is_virtual=True)
4.199 + ## emu-net-device.h: void ns3::EmuNetDevice::SetPromiscReceiveCallback(ns3::Callback<bool, ns3::Ptr<ns3::NetDevice>, ns3::Ptr<ns3::Packet const>, unsigned short, ns3::Address const&, ns3::Address const&, ns3::NetDevice::PacketType> cb) [member function]
4.200 + cls.add_method('SetPromiscReceiveCallback',
4.201 + 'void',
4.202 + [param('ns3::Callback< bool, ns3::Ptr< ns3::NetDevice >, ns3::Ptr< ns3::Packet const >, unsigned short, ns3::Address const &, ns3::Address const &, ns3::NetDevice::PacketType >', 'cb')],
4.203 + is_virtual=True)
4.204 + ## emu-net-device.h: bool ns3::EmuNetDevice::SupportsSendFrom() const [member function]
4.205 + cls.add_method('SupportsSendFrom',
4.206 + 'bool',
4.207 + [],
4.208 + is_const=True, is_virtual=True)
4.209 + ## emu-net-device.h: void ns3::EmuNetDevice::DoDispose() [member function]
4.210 + cls.add_method('DoDispose',
4.211 + 'void',
4.212 + [],
4.213 + visibility='private', is_virtual=True)
4.214 + return
4.215 +
4.216 +def register_functions(root_module):
4.217 + module = root_module
4.218 + register_functions_ns3_internal(module.get_submodule('internal'), root_module)
4.219 + register_functions_ns3_TimeStepPrecision(module.get_submodule('TimeStepPrecision'), root_module)
4.220 + register_functions_ns3_Config(module.get_submodule('Config'), root_module)
4.221 + register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
4.222 + return
4.223 +
4.224 +def register_functions_ns3_internal(module, root_module):
4.225 + return
4.226 +
4.227 +def register_functions_ns3_TimeStepPrecision(module, root_module):
4.228 + return
4.229 +
4.230 +def register_functions_ns3_Config(module, root_module):
4.231 + return
4.232 +
4.233 +def register_functions_ns3_olsr(module, root_module):
4.234 + return
4.235 +
5.1 --- a/bindings/python/ns3_module_helper.py Wed Nov 05 14:33:20 2008 -0800
5.2 +++ b/bindings/python/ns3_module_helper.py Wed Nov 05 14:49:21 2008 -0800
5.3 @@ -9,6 +9,8 @@
5.4 module.add_class('BridgeHelper', allow_subclassing=False)
5.5 ## csma-helper.h: ns3::CsmaHelper [class]
5.6 module.add_class('CsmaHelper', allow_subclassing=False)
5.7 + ## emu-helper.h: ns3::EmuHelper [class]
5.8 + module.add_class('EmuHelper', allow_subclassing=False)
5.9 ## internet-stack-helper.h: ns3::InternetStackHelper [class]
5.10 module.add_class('InternetStackHelper', allow_subclassing=False)
5.11 ## ipv4-address-helper.h: ns3::Ipv4AddressHelper [class]
5.12 @@ -39,6 +41,8 @@
5.13 module.add_class('UdpEchoClientHelper', allow_subclassing=False)
5.14 ## udp-echo-helper.h: ns3::UdpEchoServerHelper [class]
5.15 module.add_class('UdpEchoServerHelper', allow_subclassing=False)
5.16 + ## v4ping-helper.h: ns3::V4PingHelper [class]
5.17 + module.add_class('V4PingHelper', allow_subclassing=False)
5.18 ## wifi-helper.h: ns3::WifiHelper [class]
5.19 module.add_class('WifiHelper', allow_subclassing=False)
5.20
5.21 @@ -86,6 +90,7 @@
5.22 register_Ns3ApplicationContainer_methods(root_module, root_module['ns3::ApplicationContainer'])
5.23 register_Ns3BridgeHelper_methods(root_module, root_module['ns3::BridgeHelper'])
5.24 register_Ns3CsmaHelper_methods(root_module, root_module['ns3::CsmaHelper'])
5.25 + register_Ns3EmuHelper_methods(root_module, root_module['ns3::EmuHelper'])
5.26 register_Ns3InternetStackHelper_methods(root_module, root_module['ns3::InternetStackHelper'])
5.27 register_Ns3Ipv4AddressHelper_methods(root_module, root_module['ns3::Ipv4AddressHelper'])
5.28 register_Ns3Ipv4InterfaceContainer_methods(root_module, root_module['ns3::Ipv4InterfaceContainer'])
5.29 @@ -101,6 +106,7 @@
5.30 register_Ns3StaticMulticastRouteHelper_methods(root_module, root_module['ns3::StaticMulticastRouteHelper'])
5.31 register_Ns3UdpEchoClientHelper_methods(root_module, root_module['ns3::UdpEchoClientHelper'])
5.32 register_Ns3UdpEchoServerHelper_methods(root_module, root_module['ns3::UdpEchoServerHelper'])
5.33 + register_Ns3V4PingHelper_methods(root_module, root_module['ns3::V4PingHelper'])
5.34 register_Ns3WifiHelper_methods(root_module, root_module['ns3::WifiHelper'])
5.35 return
5.36
5.37 @@ -243,6 +249,65 @@
5.38 [param('ns3::Ptr< ns3::Node >', 'hub'), param('ns3::NodeContainer', 'spokes'), param('ns3::NetDeviceContainer &', 'hubDevices'), param('ns3::NetDeviceContainer &', 'spokeDevices')])
5.39 return
5.40
5.41 +def register_Ns3EmuHelper_methods(root_module, cls):
5.42 + ## emu-helper.h: ns3::EmuHelper::EmuHelper(ns3::EmuHelper const & arg0) [copy constructor]
5.43 + cls.add_constructor([param('ns3::EmuHelper const &', 'arg0')])
5.44 + ## emu-helper.h: ns3::EmuHelper::EmuHelper() [constructor]
5.45 + cls.add_constructor([])
5.46 + ## emu-helper.h: void ns3::EmuHelper::SetQueue(std::string type, std::string n1="", ns3::AttributeValue const & v1=ns3::EmptyAttributeValue(), std::string n2="", ns3::AttributeValue const & v2=ns3::EmptyAttributeValue(), std::string n3="", ns3::AttributeValue const & v3=ns3::EmptyAttributeValue(), std::string n4="", ns3::AttributeValue const & v4=ns3::EmptyAttributeValue()) [member function]
5.47 + cls.add_method('SetQueue',
5.48 + 'void',
5.49 + [param('std::string', 'type'), param('std::string', 'n1', default_value='""'), param('ns3::AttributeValue const &', 'v1', default_value='ns3::EmptyAttributeValue()'), param('std::string', 'n2', default_value='""'), param('ns3::AttributeValue const &', 'v2', default_value='ns3::EmptyAttributeValue()'), param('std::string', 'n3', default_value='""'), param('ns3::AttributeValue const &', 'v3', default_value='ns3::EmptyAttributeValue()'), param('std::string', 'n4', default_value='""'), param('ns3::AttributeValue const &', 'v4', default_value='ns3::EmptyAttributeValue()')])
5.50 + ## emu-helper.h: void ns3::EmuHelper::SetAttribute(std::string n1, ns3::AttributeValue const & v1) [member function]
5.51 + cls.add_method('SetAttribute',
5.52 + 'void',
5.53 + [param('std::string', 'n1'), param('ns3::AttributeValue const &', 'v1')])
5.54 + ## emu-helper.h: static void ns3::EmuHelper::EnablePcap(std::string filename, uint32_t nodeid, uint32_t deviceid) [member function]
5.55 + cls.add_method('EnablePcap',
5.56 + 'void',
5.57 + [param('std::string', 'filename'), param('uint32_t', 'nodeid'), param('uint32_t', 'deviceid')],
5.58 + is_static=True)
5.59 + ## emu-helper.h: static void ns3::EmuHelper::EnablePcap(std::string filename, ns3::NetDeviceContainer d) [member function]
5.60 + cls.add_method('EnablePcap',
5.61 + 'void',
5.62 + [param('std::string', 'filename'), param('ns3::NetDeviceContainer', 'd')],
5.63 + is_static=True)
5.64 + ## emu-helper.h: static void ns3::EmuHelper::EnablePcap(std::string filename, ns3::NodeContainer n) [member function]
5.65 + cls.add_method('EnablePcap',
5.66 + 'void',
5.67 + [param('std::string', 'filename'), param('ns3::NodeContainer', 'n')],
5.68 + is_static=True)
5.69 + ## emu-helper.h: static void ns3::EmuHelper::EnablePcapAll(std::string filename) [member function]
5.70 + cls.add_method('EnablePcapAll',
5.71 + 'void',
5.72 + [param('std::string', 'filename')],
5.73 + is_static=True)
5.74 + ## emu-helper.h: static void ns3::EmuHelper::EnableAscii(std::ostream & os, uint32_t nodeid, uint32_t deviceid) [member function]
5.75 + cls.add_method('EnableAscii',
5.76 + 'void',
5.77 + [param('std::ostream &', 'os'), param('uint32_t', 'nodeid'), param('uint32_t', 'deviceid')],
5.78 + is_static=True)
5.79 + ## emu-helper.h: static void ns3::EmuHelper::EnableAscii(std::ostream & os, ns3::NetDeviceContainer d) [member function]
5.80 + cls.add_method('EnableAscii',
5.81 + 'void',
5.82 + [param('std::ostream &', 'os'), param('ns3::NetDeviceContainer', 'd')],
5.83 + is_static=True)
5.84 + ## emu-helper.h: static void ns3::EmuHelper::EnableAscii(std::ostream & os, ns3::NodeContainer n) [member function]
5.85 + cls.add_method('EnableAscii',
5.86 + 'void',
5.87 + [param('std::ostream &', 'os'), param('ns3::NodeContainer', 'n')],
5.88 + is_static=True)
5.89 + ## emu-helper.h: static void ns3::EmuHelper::EnableAsciiAll(std::ostream & os) [member function]
5.90 + cls.add_method('EnableAsciiAll',
5.91 + 'void',
5.92 + [param('std::ostream &', 'os')],
5.93 + is_static=True)
5.94 + ## emu-helper.h: ns3::NetDeviceContainer ns3::EmuHelper::Install(ns3::NodeContainer const & c) [member function]
5.95 + cls.add_method('Install',
5.96 + 'ns3::NetDeviceContainer',
5.97 + [param('ns3::NodeContainer const &', 'c')])
5.98 + return
5.99 +
5.100 def register_Ns3InternetStackHelper_methods(root_module, cls):
5.101 ## internet-stack-helper.h: ns3::InternetStackHelper::InternetStackHelper(ns3::InternetStackHelper const & arg0) [copy constructor]
5.102 cls.add_constructor([param('ns3::InternetStackHelper const &', 'arg0')])
5.103 @@ -667,6 +732,21 @@
5.104 [param('ns3::NodeContainer', 'c')])
5.105 return
5.106
5.107 +def register_Ns3V4PingHelper_methods(root_module, cls):
5.108 + ## v4ping-helper.h: ns3::V4PingHelper::V4PingHelper(ns3::V4PingHelper const & arg0) [copy constructor]
5.109 + cls.add_constructor([param('ns3::V4PingHelper const &', 'arg0')])
5.110 + ## v4ping-helper.h: ns3::V4PingHelper::V4PingHelper(ns3::Ipv4Address remote) [constructor]
5.111 + cls.add_constructor([param('ns3::Ipv4Address', 'remote')])
5.112 + ## v4ping-helper.h: void ns3::V4PingHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
5.113 + cls.add_method('SetAttribute',
5.114 + 'void',
5.115 + [param('std::string', 'name'), param('ns3::AttributeValue const &', 'value')])
5.116 + ## v4ping-helper.h: ns3::ApplicationContainer ns3::V4PingHelper::Install(ns3::NodeContainer nodes) [member function]
5.117 + cls.add_method('Install',
5.118 + 'ns3::ApplicationContainer',
5.119 + [param('ns3::NodeContainer', 'nodes')])
5.120 + return
5.121 +
5.122 def register_Ns3WifiHelper_methods(root_module, cls):
5.123 ## wifi-helper.h: ns3::WifiHelper::WifiHelper(ns3::WifiHelper const & arg0) [copy constructor]
5.124 cls.add_constructor([param('ns3::WifiHelper const &', 'arg0')])
6.1 --- a/bindings/python/ns3_module_node.py Wed Nov 05 14:33:20 2008 -0800
6.2 +++ b/bindings/python/ns3_module_node.py Wed Nov 05 14:49:21 2008 -0800
6.3 @@ -100,7 +100,7 @@
6.4 ## net-device.h: ns3::NetDevice [class]
6.5 module.add_class('NetDevice', parent=root_module['ns3::Object'])
6.6 ## net-device.h: ns3::NetDevice::PacketType [enumeration]
6.7 - module.add_enum('PacketType', ['PACKET_HOST', 'PACKET_BROADCAST', 'PACKET_MULTICAST', 'PACKET_OTHERHOST'], outer_class=root_module['ns3::NetDevice'])
6.8 + module.add_enum('PacketType', ['PACKET_HOST', 'NS3_PACKET_HOST', 'PACKET_BROADCAST', 'NS3_PACKET_BROADCAST', 'PACKET_MULTICAST', 'NS3_PACKET_MULTICAST', 'PACKET_OTHERHOST', 'NS3_PACKET_OTHERHOST'], outer_class=root_module['ns3::NetDevice'])
6.9 ## node.h: ns3::Node [class]
6.10 module.add_class('Node', parent=root_module['ns3::Object'])
6.11 ## packet-socket-factory.h: ns3::PacketSocketFactory [class]
6.12 @@ -2339,14 +2339,9 @@
6.13 'bool',
6.14 [],
6.15 is_pure_virtual=True, is_const=True, is_virtual=True)
6.16 - ## net-device.h: ns3::Address ns3::NetDevice::GetMulticast() const [member function]
6.17 + ## net-device.h: ns3::Address ns3::NetDevice::GetMulticast(ns3::Ipv4Address multicastGroup) const [member function]
6.18 cls.add_method('GetMulticast',
6.19 'ns3::Address',
6.20 - [],
6.21 - is_pure_virtual=True, is_const=True, is_virtual=True)
6.22 - ## net-device.h: ns3::Address ns3::NetDevice::MakeMulticastAddress(ns3::Ipv4Address multicastGroup) const [member function]
6.23 - cls.add_method('MakeMulticastAddress',
6.24 - 'ns3::Address',
6.25 [param('ns3::Ipv4Address', 'multicastGroup')],
6.26 is_pure_virtual=True, is_const=True, is_virtual=True)
6.27 ## net-device.h: bool ns3::NetDevice::IsPointToPoint() const [member function]
6.28 @@ -2600,14 +2595,9 @@
6.29 'bool',
6.30 [],
6.31 is_const=True, is_virtual=True)
6.32 - ## simple-net-device.h: ns3::Address ns3::SimpleNetDevice::GetMulticast() const [member function]
6.33 + ## simple-net-device.h: ns3::Address ns3::SimpleNetDevice::GetMulticast(ns3::Ipv4Address multicastGroup) const [member function]
6.34 cls.add_method('GetMulticast',
6.35 'ns3::Address',
6.36 - [],
6.37 - is_const=True, is_virtual=True)
6.38 - ## simple-net-device.h: ns3::Address ns3::SimpleNetDevice::MakeMulticastAddress(ns3::Ipv4Address multicastGroup) const [member function]
6.39 - cls.add_method('MakeMulticastAddress',
6.40 - 'ns3::Address',
6.41 [param('ns3::Ipv4Address', 'multicastGroup')],
6.42 is_const=True, is_virtual=True)
6.43 ## simple-net-device.h: bool ns3::SimpleNetDevice::IsPointToPoint() const [member function]
6.44 @@ -2664,18 +2654,10 @@
6.45
6.46 def register_functions(root_module):
6.47 module = root_module
6.48 - ## address-utils.h: extern void ns3::ReadFrom(ns3::Buffer::Iterator & i, ns3::Mac48Address & ad) [free function]
6.49 - module.add_function('ReadFrom',
6.50 - 'void',
6.51 - [param('ns3::Buffer::Iterator &', 'i'), param('ns3::Mac48Address &', 'ad')])
6.52 - ## address-utils.h: extern void ns3::ReadFrom(ns3::Buffer::Iterator & i, ns3::Address & ad, uint32_t len) [free function]
6.53 - module.add_function('ReadFrom',
6.54 - 'void',
6.55 - [param('ns3::Buffer::Iterator &', 'i'), param('ns3::Address &', 'ad'), param('uint32_t', 'len')])
6.56 - ## address-utils.h: extern void ns3::ReadFrom(ns3::Buffer::Iterator & i, ns3::Ipv4Address & ad) [free function]
6.57 - module.add_function('ReadFrom',
6.58 - 'void',
6.59 - [param('ns3::Buffer::Iterator &', 'i'), param('ns3::Ipv4Address &', 'ad')])
6.60 + ## mac48-address.h: extern ns3::Ptr<ns3::AttributeChecker const> ns3::MakeMac48AddressChecker() [free function]
6.61 + module.add_function('MakeMac48AddressChecker',
6.62 + 'ns3::Ptr< ns3::AttributeChecker const >',
6.63 + [])
6.64 ## ipv4-address.h: extern ns3::Ptr<ns3::AttributeChecker const> ns3::MakeIpv4AddressChecker() [free function]
6.65 module.add_function('MakeIpv4AddressChecker',
6.66 'ns3::Ptr< ns3::AttributeChecker const >',
6.67 @@ -2700,10 +2682,18 @@
6.68 module.add_function('MakeIpv4MaskChecker',
6.69 'ns3::Ptr< ns3::AttributeChecker const >',
6.70 [])
6.71 - ## mac48-address.h: extern ns3::Ptr<ns3::AttributeChecker const> ns3::MakeMac48AddressChecker() [free function]
6.72 - module.add_function('MakeMac48AddressChecker',
6.73 - 'ns3::Ptr< ns3::AttributeChecker const >',
6.74 - [])
6.75 + ## address-utils.h: extern void ns3::ReadFrom(ns3::Buffer::Iterator & i, ns3::Mac48Address & ad) [free function]
6.76 + module.add_function('ReadFrom',
6.77 + 'void',
6.78 + [param('ns3::Buffer::Iterator &', 'i'), param('ns3::Mac48Address &', 'ad')])
6.79 + ## address-utils.h: extern void ns3::ReadFrom(ns3::Buffer::Iterator & i, ns3::Address & ad, uint32_t len) [free function]
6.80 + module.add_function('ReadFrom',
6.81 + 'void',
6.82 + [param('ns3::Buffer::Iterator &', 'i'), param('ns3::Address &', 'ad'), param('uint32_t', 'len')])
6.83 + ## address-utils.h: extern void ns3::ReadFrom(ns3::Buffer::Iterator & i, ns3::Ipv4Address & ad) [free function]
6.84 + module.add_function('ReadFrom',
6.85 + 'void',
6.86 + [param('ns3::Buffer::Iterator &', 'i'), param('ns3::Ipv4Address &', 'ad')])
6.87 register_functions_ns3_internal(module.get_submodule('internal'), root_module)
6.88 register_functions_ns3_TimeStepPrecision(module.get_submodule('TimeStepPrecision'), root_module)
6.89 register_functions_ns3_Config(module.get_submodule('Config'), root_module)
7.1 --- a/bindings/python/ns3_module_point_to_point.py Wed Nov 05 14:33:20 2008 -0800
7.2 +++ b/bindings/python/ns3_module_point_to_point.py Wed Nov 05 14:49:21 2008 -0800
7.3 @@ -200,14 +200,9 @@
7.4 'bool',
7.5 [],
7.6 is_const=True, is_virtual=True)
7.7 - ## point-to-point-net-device.h: ns3::Address ns3::PointToPointNetDevice::GetMulticast() const [member function]
7.8 + ## point-to-point-net-device.h: ns3::Address ns3::PointToPointNetDevice::GetMulticast(ns3::Ipv4Address multicastGroup) const [member function]
7.9 cls.add_method('GetMulticast',
7.10 'ns3::Address',
7.11 - [],
7.12 - is_const=True, is_virtual=True)
7.13 - ## point-to-point-net-device.h: ns3::Address ns3::PointToPointNetDevice::MakeMulticastAddress(ns3::Ipv4Address multicastGroup) const [member function]
7.14 - cls.add_method('MakeMulticastAddress',
7.15 - 'ns3::Address',
7.16 [param('ns3::Ipv4Address', 'multicastGroup')],
7.17 is_const=True, is_virtual=True)
7.18 ## point-to-point-net-device.h: bool ns3::PointToPointNetDevice::IsPointToPoint() const [member function]
8.1 --- a/bindings/python/ns3_module_wifi.py Wed Nov 05 14:33:20 2008 -0800
8.2 +++ b/bindings/python/ns3_module_wifi.py Wed Nov 05 14:49:21 2008 -0800
8.3 @@ -2466,14 +2466,9 @@
8.4 'bool',
8.5 [],
8.6 is_const=True, is_virtual=True)
8.7 - ## wifi-net-device.h: ns3::Address ns3::WifiNetDevice::GetMulticast() const [member function]
8.8 + ## wifi-net-device.h: ns3::Address ns3::WifiNetDevice::GetMulticast(ns3::Ipv4Address multicastGroup) const [member function]
8.9 cls.add_method('GetMulticast',
8.10 'ns3::Address',
8.11 - [],
8.12 - is_const=True, is_virtual=True)
8.13 - ## wifi-net-device.h: ns3::Address ns3::WifiNetDevice::MakeMulticastAddress(ns3::Ipv4Address multicastGroup) const [member function]
8.14 - cls.add_method('MakeMulticastAddress',
8.15 - 'ns3::Address',
8.16 [param('ns3::Ipv4Address', 'multicastGroup')],
8.17 is_const=True, is_virtual=True)
8.18 ## wifi-net-device.h: bool ns3::WifiNetDevice::IsPointToPoint() const [member function]
9.1 --- a/bindings/python/ns3modulegen_generated.py Wed Nov 05 14:33:20 2008 -0800
9.2 +++ b/bindings/python/ns3modulegen_generated.py Wed Nov 05 14:49:21 2008 -0800
9.3 @@ -23,8 +23,10 @@
9.4 import ns3_module_internet_stack
9.5 import ns3_module_wifi
9.6 import ns3_module_csma
9.7 +import ns3_module_emu
9.8 import ns3_module_bridge
9.9 import ns3_module_packet_sink
9.10 +import ns3_module_v4ping
9.11 import ns3_module_global_routing
9.12 import ns3_module_onoff
9.13 import ns3_module_olsr
9.14 @@ -159,6 +161,17 @@
9.15 ns3_module_csma__local.register_types(module)
9.16
9.17 root_module.end_section('ns3_module_csma')
9.18 + root_module.begin_section('ns3_module_emu')
9.19 + ns3_module_emu.register_types(module)
9.20 +
9.21 + try:
9.22 + import ns3_module_emu__local
9.23 + except ImportError:
9.24 + pass
9.25 + else:
9.26 + ns3_module_emu__local.register_types(module)
9.27 +
9.28 + root_module.end_section('ns3_module_emu')
9.29 root_module.begin_section('ns3_module_bridge')
9.30 ns3_module_bridge.register_types(module)
9.31
9.32 @@ -181,6 +194,17 @@
9.33 ns3_module_packet_sink__local.register_types(module)
9.34
9.35 root_module.end_section('ns3_module_packet_sink')
9.36 + root_module.begin_section('ns3_module_v4ping')
9.37 + ns3_module_v4ping.register_types(module)
9.38 +
9.39 + try:
9.40 + import ns3_module_v4ping__local
9.41 + except ImportError:
9.42 + pass
9.43 + else:
9.44 + ns3_module_v4ping__local.register_types(module)
9.45 +
9.46 + root_module.end_section('ns3_module_v4ping')
9.47 root_module.begin_section('ns3_module_global_routing')
9.48 ns3_module_global_routing.register_types(module)
9.49
9.50 @@ -402,6 +426,17 @@
9.51 ns3_module_csma__local.register_methods(root_module)
9.52
9.53 root_module.end_section('ns3_module_csma')
9.54 + root_module.begin_section('ns3_module_emu')
9.55 + ns3_module_emu.register_methods(root_module)
9.56 +
9.57 + try:
9.58 + import ns3_module_emu__local
9.59 + except ImportError:
9.60 + pass
9.61 + else:
9.62 + ns3_module_emu__local.register_methods(root_module)
9.63 +
9.64 + root_module.end_section('ns3_module_emu')
9.65 root_module.begin_section('ns3_module_bridge')
9.66 ns3_module_bridge.register_methods(root_module)
9.67
9.68 @@ -424,6 +459,17 @@
9.69 ns3_module_packet_sink__local.register_methods(root_module)
9.70
9.71 root_module.end_section('ns3_module_packet_sink')
9.72 + root_module.begin_section('ns3_module_v4ping')
9.73 + ns3_module_v4ping.register_methods(root_module)
9.74 +
9.75 + try:
9.76 + import ns3_module_v4ping__local
9.77 + except ImportError:
9.78 + pass
9.79 + else:
9.80 + ns3_module_v4ping__local.register_methods(root_module)
9.81 +
9.82 + root_module.end_section('ns3_module_v4ping')
9.83 root_module.begin_section('ns3_module_global_routing')
9.84 ns3_module_global_routing.register_methods(root_module)
9.85
9.86 @@ -604,6 +650,17 @@
9.87 ns3_module_csma__local.register_functions(root_module)
9.88
9.89 root_module.end_section('ns3_module_csma')
9.90 + root_module.begin_section('ns3_module_emu')
9.91 + ns3_module_emu.register_functions(root_module)
9.92 +
9.93 + try:
9.94 + import ns3_module_emu__local
9.95 + except ImportError:
9.96 + pass
9.97 + else:
9.98 + ns3_module_emu__local.register_functions(root_module)
9.99 +
9.100 + root_module.end_section('ns3_module_emu')
9.101 root_module.begin_section('ns3_module_bridge')
9.102 ns3_module_bridge.register_functions(root_module)
9.103
9.104 @@ -626,6 +683,17 @@
9.105 ns3_module_packet_sink__local.register_functions(root_module)
9.106
9.107 root_module.end_section('ns3_module_packet_sink')
9.108 + root_module.begin_section('ns3_module_v4ping')
9.109 + ns3_module_v4ping.register_functions(root_module)
9.110 +
9.111 + try:
9.112 + import ns3_module_v4ping__local
9.113 + except ImportError:
9.114 + pass
9.115 + else:
9.116 + ns3_module_v4ping__local.register_functions(root_module)
9.117 +
9.118 + root_module.end_section('ns3_module_v4ping')
9.119 root_module.begin_section('ns3_module_global_routing')
9.120 ns3_module_global_routing.register_functions(root_module)
9.121
10.1 --- a/src/devices/emu/emu-net-device.cc Wed Nov 05 14:33:20 2008 -0800
10.2 +++ b/src/devices/emu/emu-net-device.cc Wed Nov 05 14:49:21 2008 -0800
10.3 @@ -502,44 +502,23 @@
10.4 NS_LOG_LOGIC ("Pkt source is " << header.GetSource ());
10.5 NS_LOG_LOGIC ("Pkt destination is " << header.GetDestination ());
10.6
10.7 - //
10.8 - // An IP host group address is mapped to an Ethernet multicast address
10.9 - // by placing the low-order 23-bits of the IP address into the low-order
10.10 - // 23 bits of the Ethernet multicast address 01-00-5E-00-00-00 (hex).
10.11 - //
10.12 - // We are going to receive all packets destined to any multicast address,
10.13 - // which means clearing the low-order 23 bits the header destination
10.14 - //
10.15 - Mac48Address mcDest;
10.16 - uint8_t mcBuf[6];
10.17 -
10.18 - header.GetDestination ().CopyTo (mcBuf);
10.19 - mcBuf[3] &= 0x80;
10.20 - mcBuf[4] = 0;
10.21 - mcBuf[5] = 0;
10.22 - mcDest.CopyFrom (mcBuf);
10.23 -
10.24 - Mac48Address multicast = Mac48Address::ConvertFrom (GetMulticast ());
10.25 - Mac48Address broadcast = Mac48Address::ConvertFrom (GetBroadcast ());
10.26 - Mac48Address destination = Mac48Address::ConvertFrom (GetAddress ());
10.27 -
10.28 LlcSnapHeader llc;
10.29 packet->RemoveHeader (llc);
10.30 uint16_t protocol = llc.GetType ();
10.31
10.32 PacketType packetType;
10.33
10.34 - if (header.GetDestination () == broadcast)
10.35 + if (header.GetDestination ().IsBroadcast ())
10.36 {
10.37 NS_LOG_LOGIC ("Pkt destination is PACKET_BROADCAST");
10.38 packetType = NS3_PACKET_BROADCAST;
10.39 }
10.40 - else if (mcDest == multicast)
10.41 + else if (header.GetDestination ().IsMulticast ())
10.42 {
10.43 NS_LOG_LOGIC ("Pkt destination is PACKET_MULTICAST");
10.44 packetType = NS3_PACKET_MULTICAST;
10.45 }
10.46 - else if (header.GetDestination () == destination)
10.47 + else if (header.GetDestination () == m_address)
10.48 {
10.49 NS_LOG_LOGIC ("Pkt destination is PACKET_HOST");
10.50 packetType = NS3_PACKET_HOST;
10.51 @@ -841,26 +820,21 @@
10.52 return false;
10.53 }
10.54
10.55 -Address
10.56 -EmuNetDevice::GetMulticast (void) const
10.57 -{
10.58 - return Mac48Address ("01:00:5e:00:00:00");
10.59 -}
10.60 -
10.61 -Address
10.62 -EmuNetDevice::MakeMulticastAddress (Ipv4Address multicastGroup) const
10.63 + Address
10.64 +EmuNetDevice::GetMulticast (Ipv4Address multicastGroup) const
10.65 {
10.66 NS_LOG_FUNCTION (multicastGroup);
10.67
10.68 - Mac48Address addr = Mac48Address::GetMulticast (multicastGroup);
10.69 + Mac48Address ad = Mac48Address::GetMulticast (multicastGroup);
10.70
10.71 //
10.72 // Implicit conversion (operator Address ()) is defined for Mac48Address, so
10.73 // use it by just returning the EUI-48 address which is automagically converted
10.74 // to an Address.
10.75 //
10.76 - NS_LOG_LOGIC ("Multicast address is " << addr);
10.77 - return addr;
10.78 + NS_LOG_LOGIC ("multicast address is " << ad);
10.79 +
10.80 + return ad;
10.81 }
10.82
10.83 bool
11.1 --- a/src/devices/emu/emu-net-device.h Wed Nov 05 14:33:20 2008 -0800
11.2 +++ b/src/devices/emu/emu-net-device.h Wed Nov 05 14:49:21 2008 -0800
11.3 @@ -144,9 +144,35 @@
11.4 virtual Address GetBroadcast (void) const;
11.5
11.6 virtual bool IsMulticast (void) const;
11.7 - virtual Address GetMulticast (void) const;
11.8 - virtual Address MakeMulticastAddress (Ipv4Address multicastGroup) const;
11.9
11.10 + /**
11.11 + * \brief Make and return a MAC multicast address using the provided
11.12 + * multicast group
11.13 + *
11.14 + * RFC 1112 says that an Ipv4 host group address is mapped to an Ethernet
11.15 + * multicast address by placing the low-order 23-bits of the IP address into
11.16 + * the low-order 23 bits of the Ethernet multicast address
11.17 + * 01-00-5E-00-00-00 (hex).
11.18 + *
11.19 + * This method performs the multicast address creation function appropriate
11.20 + * to an EUI-48-based CSMA device. This MAC address is encapsulated in an
11.21 + * abstract Address to avoid dependencies on the exact address format.
11.22 + *
11.23 + * \param multicastGroup The IP address for the multicast group destination
11.24 + * of the packet.
11.25 + * \return The MAC multicast Address used to send packets to the provided
11.26 + * multicast group.
11.27 + *
11.28 + * \see Ipv4Address
11.29 + * \see Mac48Address
11.30 + * \see Address
11.31 + */
11.32 + virtual Address GetMulticast (Ipv4Address multicastGroup) const;
11.33 +
11.34 + /**
11.35 + * Is this a point to point link?
11.36 + * \returns false.
11.37 + */
11.38 virtual bool IsPointToPoint (void) const;
11.39
11.40 virtual bool Send(Ptr<Packet> packet, const Address &dest, uint16_t protocolNumber);