[Ns-bugs] [Bug 138] New: Point-to-point netdevice queues aren't configurable from higher layers

bugzilla-daemon@nsnam-www.ece.gatech.edu bugzilla-daemon at nsnam-www.ece.gatech.edu
Tue Feb 12 11:05:51 PST 2008


http://www.nsnam.org/bugzilla/show_bug.cgi?id=138

           Summary: Point-to-point netdevice queues aren't configurable from
                    higher layers
           Product: ns-3
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P3
         Component: devices
        AssignedTo: ns-bugs at isi.edu
        ReportedBy: raj.b at gatech.edu


Summary from off-list/off-tracker emails:
Changing the queue sizes on a per queue basis should be like:
PointToPointTopology::GetNetDevice
(n1,channel1)->GetQueue()->SetMaxPackets(25);

But there are two issues that prevent this from working:

   1. The GetQueue method of the NetDevice is private.
   2. SetMaxPackets (or indeed any Queue API related to resizing/setting
limits) isn't a Queue base class API, but is in DropTailQueue.

-----------------------------
Tom's Reply:
I can tell you the historical reason for #2, which is that Mathieu argued that
SetMaxPackets is semantically vague when you start talking about certain types
of 802.11 queues (such as 802.11e) and therefore he opposed putting this method
into the Queue base class.

However, Mathieu ended up not even using the queue base class (he implemented
802.11-specific queues for his wifi net device) so it may be a moot point now.

I do not know the rationale for #1.  I think that adding a public GetQueue() to
PointToPointNetDevice would be fine.

Another possibility would be to aggregate a Queue to a PointToPointNetDevice
and then GetObject<Queue> would be publicly available.  This would allow you to
do "safe downcasts" in the future (such as GetObject<REDQueue> to see if it has
a RED interface).


-- 
Configure bugmail: http://www.nsnam.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the Ns-bugs mailing list