Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(35)

Issue 5615049: New feature - switched-ethernet-device

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 5 months ago by Jeff Y
Modified:
7 years, 3 months ago
CC:
ns-3-reviews_googlegroups.com
Visibility:
Public.

Description

New feature - switched-ethernet-device

Patch Set 1 #

Total comments: 76
Unified diffs Side-by-side diffs Delta from patch set Stats (+12763 lines, -0 lines) Patch
A src/switched-ethernet/bindings/callbacks_list.py View 1 chunk +5 lines, -0 lines 0 comments Download
A src/switched-ethernet/bindings/modulegen__gcc_ILP32.py View 1 chunk +4829 lines, -0 lines 0 comments Download
A src/switched-ethernet/bindings/modulegen__gcc_LP64.py View 1 chunk +4829 lines, -0 lines 0 comments Download
A src/switched-ethernet/examples/switched-ethernet-packet-socket.cc View 1 chunk +141 lines, -0 lines 1 comment Download
A src/switched-ethernet/examples/waf View 1 chunk +1 line, -0 lines 0 comments Download
A src/switched-ethernet/examples/wscript View 1 chunk +5 lines, -0 lines 0 comments Download
A src/switched-ethernet/helper/switched-ethernet-helper.h View 1 chunk +239 lines, -0 lines 3 comments Download
A src/switched-ethernet/helper/switched-ethernet-helper.cc View 1 chunk +299 lines, -0 lines 12 comments Download
A src/switched-ethernet/model/switched-ethernet-channel.h View 1 chunk +337 lines, -0 lines 21 comments Download
A src/switched-ethernet/model/switched-ethernet-channel.cc View 1 chunk +364 lines, -0 lines 8 comments Download
A src/switched-ethernet/model/switched-ethernet-net-device.h View 1 chunk +682 lines, -0 lines 22 comments Download
A src/switched-ethernet/model/switched-ethernet-net-device.cc View 1 chunk +990 lines, -0 lines 9 comments Download
A src/switched-ethernet/test/examples-to-run.py View 1 chunk +20 lines, -0 lines 0 comments Download
A src/switched-ethernet/waf View 1 chunk +1 line, -0 lines 0 comments Download
A src/switched-ethernet/wscript View 1 chunk +21 lines, -0 lines 0 comments Download

Messages

Total messages: 35
Vedran Miletić
Overall, this seems good. Just two questions/comments: - Do you have a plan to validate ...
9 years, 11 months ago (2012-07-16 12:02:19 UTC) #1
Peter Barnes
Mostly minor comments. Not-minor: need a page for the Models manual. Major: After reading everything ...
9 years, 11 months ago (2012-07-16 20:08:48 UTC) #2
Jeff Y
> Overall, this seems good. Just two questions/comments: > - Do you have a plan ...
9 years, 11 months ago (2012-07-17 13:50:29 UTC) #3
Jeff Y
On 2012/07/16 20:08:48, Peter Barnes wrote: > Mostly minor comments. > > Not-minor: need a ...
9 years, 11 months ago (2012-07-17 16:14:36 UTC) #4
Tom Henderson
On 2012/07/17 16:14:36, Jeff Y wrote: > On 2012/07/16 20:08:48, Peter Barnes wrote: > > ...
9 years, 11 months ago (2012-07-25 13:05:34 UTC) #5
Tom Henderson
Aside from Vedran and Peter's comments, I think it is hard to merge this without ...
9 years, 11 months ago (2012-07-25 13:08:35 UTC) #6
Jeff Y
Tom, Thanks for the pointer. I think that I used an earlier version of the ...
9 years, 11 months ago (2012-07-26 17:59:49 UTC) #7
Jeff Y
On 2012/07/25 13:08:35, Tom Henderson wrote: > Aside from Vedran and Peter's comments, I think ...
9 years, 11 months ago (2012-07-26 18:02:54 UTC) #8
Tom Henderson
Jeff, do you have any interest in trying to move this forward now? I was ...
8 years, 10 months ago (2013-08-22 02:53:45 UTC) #9
Jeff Y
Hi Tom, I would definitely be interested in getting this merged. I'd probably need to ...
8 years, 10 months ago (2013-08-22 13:20:05 UTC) #10
Vedran Miletić
Jeff, have you considered the possibility of sharing the code between this and csma, as ...
8 years, 10 months ago (2013-08-22 13:38:12 UTC) #11
Jeff Y
Vedran, This would probably be a good idea. I haven't looked at the CSMA code ...
8 years, 10 months ago (2013-08-22 16:37:41 UTC) #12
MurphyMc
On 2013/08/22 16:37:41, Jeff Y wrote: > Vedran, > > This would probably be a ...
7 years, 10 months ago (2014-08-16 09:18:45 UTC) #13
Jeff Y
Murphy, Thanks for your mail. I transitioned jobs right around the time this patch was ...
7 years, 10 months ago (2014-08-20 14:56:04 UTC) #14
hugo.s.pinto
Hello, I also needed this code for a project, and so I was exploring it ...
7 years, 9 months ago (2014-09-29 14:47:19 UTC) #15
hugo.s.pinto
Hello, I also needed this code for a project, and so I was exploring it ...
7 years, 9 months ago (2014-09-29 14:47:19 UTC) #16
Tom Henderson
On 2014/09/29 14:47:19, hugo.s.pinto wrote: > Hello, > > I also needed this code for ...
7 years, 9 months ago (2014-09-29 15:22:19 UTC) #17
MurphyMc
On 2014/09/29 14:47:19, hugo.s.pinto wrote: > Hello, > > I also needed this code for ...
7 years, 9 months ago (2014-09-30 00:21:53 UTC) #18
hugo.s.pinto
Murphy, do you have any example code that uses your full duplex implementation? As I ...
7 years, 9 months ago (2014-09-30 16:21:33 UTC) #19
Tom Henderson
On 2014/09/30 16:21:33, hugo.s.pinto wrote: > > Tom, I am also a bit tight on ...
7 years, 9 months ago (2014-09-30 20:23:07 UTC) #20
barnes26_llnl.gov
On Sep 30, 2014, at 1:23 PM, tomh.org@gmail.com wrote: > One possible way forward is ...
7 years, 9 months ago (2014-09-30 20:36:20 UTC) #21
Tom Henderson
On 2014/09/30 20:36:20, barnes26_llnl.gov wrote: > On Sep 30, 2014, at 1:23 PM, mailto:tomh.org@gmail.com wrote: ...
7 years, 9 months ago (2014-09-30 21:43:45 UTC) #22
Tom Henderson
> > How is a (real) Ethernet switch different from the SwitchedEthernetDevice > > proposed ...
7 years, 9 months ago (2014-09-30 21:54:11 UTC) #23
MurphyMc
On 2014/09/30 16:21:33, hugo.s.pinto wrote: > Murphy, do you have any example code that uses ...
7 years, 9 months ago (2014-09-30 22:05:27 UTC) #24
Jeff Y
To briefly weigh in - Peter makes a good point about naming issues since a ...
7 years, 9 months ago (2014-10-01 15:13:53 UTC) #25
Tom Henderson
On 2014/10/01 15:13:53, Jeff Y wrote: > > To answer Tom's question, "Whether the device ...
7 years, 9 months ago (2014-10-01 16:59:08 UTC) #26
hugo.s.pinto
Tom, I also agree that having a full-duplex ethernet in a csma module is somewhat ...
7 years, 9 months ago (2014-10-02 15:44:49 UTC) #27
hugo.s.pinto
Murphy, I understand your implementation now, and I see that you only use one device ...
7 years, 9 months ago (2014-10-06 21:52:49 UTC) #28
Tom Henderson
I'd like to move this forward if possible. It seemed that sentiment leaned towards a ...
7 years, 8 months ago (2014-10-15 12:52:08 UTC) #29
MurphyMc
On 2014/10/15 12:52:08, Tom Henderson wrote: > I'd like to move this forward if possible. ...
7 years, 8 months ago (2014-10-16 02:28:43 UTC) #30
MurphyMc
On 2014/10/06 21:52:49, hugo.s.pinto wrote: > Murphy, I understand your implementation now, and I see ...
7 years, 8 months ago (2014-10-16 02:35:26 UTC) #31
Tom Henderson
I would like to propose trying to move forward with the full duplex extension rather ...
7 years, 7 months ago (2014-12-09 06:20:27 UTC) #32
Jeff Y
Thanks, Tom. I apologize, but I am currently very limited on development time at the ...
7 years, 6 months ago (2014-12-16 20:19:24 UTC) #33
tomh_tomh.org
On 12/16/2014 12:19 PM, Jeff wrote: > Otherwise, what tests do we need? Create two ...
7 years, 6 months ago (2014-12-16 20:52:11 UTC) #34
MurphyMc
7 years, 3 months ago (2015-03-15 09:55:33 UTC) #35
I'm getting back to using this, so I've made changes that relate to Hugo's
comments, as well as having rebased on top of 3.22.  Results are in my fork on
github if anyone is interested.
https://github.com/MurphyMc/ns-3-dev-git/tree/feature_csma_full_duplex_rebase...

On 2014/10/06 21:52:49, hugo.s.pinto wrote:
> Murphy, I understand your implementation now, and I see that you only use
> one device on each terminal. I believe that the following are bugs:
> 
> i) in csma-net-device.cc, in function CsmaNetDevice::TransmitStart (void),
>       m_txMachineState = BACKOFF;
> 
> should be only in case of half-duplex links, otherwise state machine gets
> stuck in backoff mode.
> 
> ii) in csma-channel.cc, in function CsmaChannel::TransmitEnd
>   Simulator::Schedule (m_delay, &CsmaChannel::PropagationCompleteEvent,
> this, srcId);
> 
> I believe that the device shouldn't be busy while propagating, because
> otherwise you cannot have high speed links.. (this delay will substantially
> limit the speeds you get). Let me know if you agree.
> 
> Thank you,
> Hugo
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> On Thu, Oct 2, 2014 at 4:44 PM, Hugo Sousa Pinto
<mailto:hugo.s.pinto@gmail.com>
> wrote:
> 
> > Tom, I also agree that having a full-duplex ethernet in a csma module is
> > somewhat misleading. I would go for a separate module called ethernet,
> > which as Peter suggested could potentially support both full and
> > half-duplex modes.
> >
> > In my case, I have no interest in the half-duplex mode. The issue that I
> > encountered were that there was no link-layer technology to connect
> > switches with high bandwidth and high delay links.
> >
> > Regarding the availability of switches, I would like to point out that
> > currently there are already some switch implementations, such as the
> > openflow switch module, or the bridge module, which should of course work
> > with whatever full-duplex model we end up developing (as I believe they do
> > with the current patch) .
> >
> > It would also would be nice if the device could be made general enough to
> > be used by more sophisticated switches, by e.g. configuring the device with
> > an external queue.
> >
> > Hugo
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > On Wed, Oct 1, 2014 at 5:59 PM, <mailto:tomh.org@gmail.com> wrote:
> >
> >> On 2014/10/01 15:13:53, Jeff Y wrote:
> >>
> >>
> >>     To answer Tom's question, "Whether the device model we do now for
> >>>
> >> hosts
> >>
> >>> would be incompatible if one were to put it into a 'switch' node that
> >>> implements these things": I don't think so, but that may just be
> >>>
> >> because I
> >>
> >>> was thinking about a very simple switch model.
> >>>
> >>
> >>     Another researcher I talked to, Mike Schlansker at HP, indicated
> >>>
> >> that the
> >>
> >>> netdevice model was the main limitation for creating multi-port
> >>>
> >> switches.
> >>
> >>>  From his email: "The netdevice holds dedicated queuing needed for
> >>>
> >> exactly
> >>
> >>> one output port.  Our initial attempts to build a multiport switch on
> >>>
> >> top
> >>
> >>> of a netdevice resulted in a switch with a separate output buffers for
> >>>
> >> each
> >>
> >>> output port.   More realistic switches, that I wanted to model, shared
> >>> buffering between multiple output ports." My understanding of this is
> >>>
> >> that
> >>
> >>> sharing an output port would require a separate netdevice model to
> >>>
> >> support
> >>
> >>> this type of switch.
> >>>
> >>
> >> The abstract base class for NetDevice doesn't constrain or specify any
> >> queueing model.  The CSMA NetDevice type, however, uses ns3::Queue which
> >> is not designed for multi-port usage.  So it may not be compatible at
> >> the CsmaNetDevice level, but at ns3::NetDevice, it seems like we could
> >> still handle shared memory with a different internal device organization
> >> than CsmaNetDevice.
> >>
> >> I wonder whether we could get better requirements written down regarding
> >> how we need to plan for supporting Ethernet switches (including both
> >> input and output buffering requirements, what service and drop policies
> >> are required by the buffers, etc.).  If anyone has a good reference for
> >> this, please send it along ...
> >>
> >> - Tom
> >>
> >>
> >>
> >> https://codereview.appspot.com/5615049/
> >>
> >
> >
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b