Starting development on L2 Ethernet Switch module

434 views
Skip to first unread message

Jeff Y

unread,
Jul 8, 2009, 12:00:16 PM7/8/09
to ns-3-users
Hi all,

I am doing some graduate research using Ethernet, and I would like
to create an Ethernet-based L2 switch model to use with NS-3 and
hopefully eventually integrate as a patch. I know that no one is
currently working on a similar project (from reading the wiki and
talking to a few other developers), but I was interested to know if
anyone has any useful information or requirements for an L2 switch.

As far as I can determine, the most basic features would be to have
an N input, N output switch that has support for switching on MAC
address and buffering for input/output ports.

Does anyone have any suggestions on what else should be part of a
switch model?

Also, should I look at basing my switch code on existing models like
the bridge device? My current understanding is that the bridge is
really only a virtual device at the moment, but I would really like a
physical switch model that can be connected to other nodes.

Thanks,
Jeff

Gustavo Carneiro

unread,
Jul 8, 2009, 1:12:37 PM7/8/09
to ns-3-...@googlegroups.com


2009/7/8 Jeff Y <jefeyo...@gmail.com>

Just because it's virtual doesn't mean it doesn't work.

The "csma-bridge" example is basically an Ethernet Switch, minus the Spanning Tree Protocol.  STP is really the only thing missing from the BridgeNetDevice...
 

Thanks,
Jeff




--
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert

Jeff Y

unread,
Jul 8, 2009, 2:05:31 PM7/8/09
to ns-3-users
Gustavo,

Thanks for your reply. I understand that the csma-bridge works as a
switch despite being a virtual device - I should have been more clear
in that I am interested in creating a module that more closely matches
the physical microarchitecture of an L2 switch (with routing tables
based on MAC addresses and possibly timers that take into account
buffering/physical transmission latencies) than the existing bridge
device.

I'll take a closer look at the csma-bridge and see what
modifications I might need to make for my current work.

Jeff

Gustavo Carneiro

unread,
Jul 8, 2009, 3:46:55 PM7/8/09
to ns-3-...@googlegroups.com


2009/7/8 Jeff Y <jefeyo...@gmail.com>


Gustavo,

 Thanks for your reply. I understand that the csma-bridge works as a
switch despite being a virtual device - I should have been more clear
in that I am interested in creating a module that more closely matches
the physical microarchitecture of an L2 switch (with routing tables
based on MAC addresses and possibly timers that take into account
buffering/physical transmission latencies) than the existing bridge
device.

Routing based on MAC, with expiration timers, is already there.  "buffering/physical transmission latencies" is part of the CsmaNetDevice that BridgeNetDevice uses underneath.
 


  I'll take a closer look at the csma-bridge and see what
modifications I might need to make for my current work.

Jeff

Antti Mäkelä

unread,
Jul 8, 2009, 5:41:09 PM7/8/09
to ns-3-users
On Jul 8, 8:12 pm, Gustavo Carneiro <gjcarne...@gmail.com> wrote:
> Just because it's virtual doesn't mean it doesn't work.
>
> The "csma-bridge" example is basically an Ethernet Switch, minus the
> Spanning Tree Protocol.  STP is really the only thing missing from the
> BridgeNetDevice...

By the way, I couldn't get GlobalRouting to work correctly if I used
BridgeHelper to set up a switch. Connecting all nodes to a shared csma
channel worked all right, but if I used bridge in between, only the
routes behind the first link got distributed to other networks. Routes
behind second, third, ... links didn't get into the first one or each
other. (See my comments at end of http://www.nsnam.org/bugzilla/show_bug.cgi?id=614
). Any idea why this happens?

Bizzat Zaidi

unread,
Nov 5, 2013, 9:04:55 AM11/5/13
to ns-3-...@googlegroups.com
Hi all

I want to know that can i use a bridge device instead of the MAC layer... ? I have to Implement a builtin 2 port switch in a device and connect the devices in Ring Topology.

How can i do this ?
Reply all
Reply to author
Forward
0 new messages