[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