diff -r 354c57707e70 examples/csma-bridge.cc --- a/examples/csma-bridge.cc Thu Aug 07 11:22:37 2008 -0700 +++ b/examples/csma-bridge.cc Thu Aug 07 12:11:46 2008 -0700 @@ -94,14 +94,8 @@ main (int argc, char *argv[]) // Create the bridge netdevice, which will do the packet switching Ptr switchNode = csmaSwitch.Get (0); - Ptr bridgeDevice = CreateObject (); - switchNode->AddDevice (bridgeDevice); - - for (NetDeviceContainer::Iterator portIter = switchDevices.Begin (); - portIter != switchDevices.End (); portIter++) - { - bridgeDevice->AddBridgePort (*portIter); - } + BridgeHelper bridge; + bridge.Install (switchNode, switchDevices); // Add internet stack to the terminals InternetStackHelper internet; diff -r 354c57707e70 src/helper/bridge-helper.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/helper/bridge-helper.cc Thu Aug 07 12:11:46 2008 -0700 @@ -0,0 +1,23 @@ +#include "bridge-helper.h" + +#include "ns3/bridge-net-device.h" +#include "ns3/node.h" + +namespace ns3 { + +NetDeviceContainer +BridgeHelper::Install (Ptr node, NetDeviceContainer c) +{ + NetDeviceContainer devs; + Ptr dev = CreateObject (); + devs.Add (dev); + node->AddDevice (dev); + + for (NetDeviceContainer::Iterator i = c.Begin (); i != c.End (); ++i) + { + dev->AddBridgePort (*i); + } + return devs; +} + +} // namespace ns3 diff -r 354c57707e70 src/helper/bridge-helper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/helper/bridge-helper.h Thu Aug 07 12:11:46 2008 -0700 @@ -0,0 +1,19 @@ +#ifndef BRIDGE_HELPER_H +#define BRIDGE_HELPER_H + +#include "net-device-container.h" + +namespace ns3 { + +class Node; + +class BridgeHelper +{ +public: + NetDeviceContainer Install (Ptr node, NetDeviceContainer c); +}; + +} // namespace ns3 + + +#endif /* BRIDGE_HELPER_H */ diff -r 354c57707e70 src/helper/wscript --- a/src/helper/wscript Thu Aug 07 11:22:37 2008 -0700 +++ b/src/helper/wscript Thu Aug 07 12:11:46 2008 -0700 @@ -20,6 +20,7 @@ def build(bld): 'packet-socket-helper.cc', 'ipv4-interface-container.cc', 'udp-echo-helper.cc', + 'bridge-helper.cc', ] headers = bld.create_obj('ns3header') @@ -42,4 +43,5 @@ def build(bld): 'packet-socket-helper.h', 'ipv4-interface-container.h', 'udp-echo-helper.h', + 'bridge-helper.h', ]