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

Issue 88094: 802.11s mesh stack model

Can't Edit
Can't Publish+Mail
Start Review
Created:
4 months, 3 weeks ago by Pavel Boyko
Modified:
2 months, 2 weeks ago
CC:
ns-3-reviews_googlegroups.com
SVN Base:
Visibility:
Public.

Patch Set 1

Patch Set 2 : upload retry

Total comments: 41

Patch Set 3 : Updated according to Mathieu comments

Total comments: 66

Patch Set 4 : Review finished by Mathieu, ready to merge

Unified diffs Side-by-side diffs Delta from patch set Stats Patch
M AUTHORS View 1 2 3 1 chunk 24 lines 0 comments Download
A examples/mesh.cc View 1 2 3 1 chunk 220 lines 0 comments Download
M examples/wscript View 1 2 3 1 chunk 15 lines 0 comments Download
A src/devices/mesh/dot11s/airtime-metric.cc View 1 2 3 1 chunk 101 lines 0 comments Download
A src/devices/mesh/dot11s/airtime-metric.h View 1 2 3 1 chunk 65 lines 0 comments Download
A src/devices/mesh/dot11s/dot11s-mac-header.cc View 1 2 3 1 chunk 382 lines 0 comments Download
A src/devices/mesh/dot11s/dot11s-mac-header.h View 1 2 1 chunk 163 lines 0 comments Download
A src/devices/mesh/dot11s/dot11s.h View 1 2 3 1 chunk 85 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-protocol-mac.cc View 1 2 3 1 chunk 481 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-protocol-mac.h View 1 2 3 1 chunk 146 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-protocol.cc View 1 2 3 1 chunk 1156 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-protocol.h View 1 2 3 1 chunk 271 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-rtable.cc View 1 2 3 1 chunk 399 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-rtable.h View 1 2 3 1 chunk 146 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-tag.cc View 1 2 1 chunk 157 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-tag.h View 1 2 1 chunk 83 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-beacon-timing.cc View 1 2 3 1 chunk 231 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-beacon-timing.h View 1 2 3 1 chunk 122 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-configuration.cc View 1 2 3 1 chunk 230 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-configuration.h View 1 2 3 1 chunk 148 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-id.cc View 1 2 3 1 chunk 151 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-id.h View 1 2 3 1 chunk 76 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-metric-report.cc View 1 2 3 1 chunk 91 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-metric-report.h View 1 2 3 1 chunk 66 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-peer-management.cc View 1 2 3 1 chunk 182 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-peer-management.h View 1 2 3 1 chunk 107 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-peering-protocol.cc View 1 2 3 1 chunk 71 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-peering-protocol.h View 1 2 3 1 chunk 55 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-perr.cc View 1 2 3 1 chunk 171 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-perr.h View 1 2 3 1 chunk 69 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-prep.cc View 1 2 3 1 chunk 220 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-prep.h View 1 2 3 1 chunk 93 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-preq.cc View 1 2 3 1 chunk 461 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-preq.h View 1 2 3 1 chunk 166 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-rann.cc View 1 2 3 1 chunk 186 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-rann.h View 1 2 3 1 chunk 84 lines 0 comments Download
A src/devices/mesh/dot11s/peer-link-frame.cc View 1 2 3 1 chunk 317 lines 0 comments Download
A src/devices/mesh/dot11s/peer-link-frame.h View 1 2 1 chunk 99 lines 0 comments Download
A src/devices/mesh/dot11s/peer-link.cc View 1 2 3 1 chunk 705 lines 0 comments Download
A src/devices/mesh/dot11s/peer-link.h View 1 2 3 1 chunk 265 lines 0 comments Download
A src/devices/mesh/dot11s/peer-management-protocol-mac.cc View 1 2 3 1 chunk 338 lines 0 comments Download
A src/devices/mesh/dot11s/peer-management-protocol-mac.h View 1 2 3 1 chunk 145 lines 0 comments Download
A src/devices/mesh/dot11s/peer-management-protocol.cc View 1 2 3 1 chunk 582 lines 0 comments Download
A src/devices/mesh/dot11s/peer-management-protocol.h View 1 2 3 1 chunk 261 lines 0 comments Download
A src/devices/mesh/dot11s/waf View 3 1 chunk 7 lines 0 comments Download
A src/devices/mesh/dot11s/wscript View 1 2 3 1 chunk 42 lines 0 comments Download
A src/devices/mesh/flame/flame-header.cc View 1 chunk 188 lines 0 comments Download
A src/devices/mesh/flame/flame-header.h View 1 chunk 86 lines 0 comments Download
A src/devices/mesh/flame/flame-protocol-mac.cc View 1 chunk 134 lines 0 comments Download
A src/devices/mesh/flame/flame-protocol-mac.h View 1 chunk 86 lines 0 comments Download
A src/devices/mesh/flame/flame-protocol.cc View 1 chunk 383 lines 0 comments Download
A src/devices/mesh/flame/flame-protocol.h View 1 chunk 161 lines 0 comments Download
A src/devices/mesh/flame/flame-rtable.cc View 1 chunk 199 lines 0 comments Download
A src/devices/mesh/flame/flame-rtable.h View 1 chunk 109 lines 0 comments Download
A src/devices/mesh/flame/wscript View 1 chunk 21 lines 0 comments Download
A src/devices/mesh/mesh-l2-routing-protocol.cc View 1 2 1 chunk 62 lines 0 comments Download
A src/devices/mesh/mesh-l2-routing-protocol.h View 1 2 3 1 chunk 132 lines 0 comments Download
A src/devices/mesh/mesh-point-device.cc View 1 2 3 1 chunk 468 lines 0 comments Download
A src/devices/mesh/mesh-point-device.h View 1 2 3 1 chunk 191 lines 0 comments Download
A src/devices/mesh/mesh-wifi-beacon.cc View 1 2 3 1 chunk 68 lines 0 comments Download
A src/devices/mesh/mesh-wifi-beacon.h View 1 2 3 1 chunk 82 lines 0 comments Download
A src/devices/mesh/mesh-wifi-interface-mac-plugin.h View 1 chunk 77 lines 0 comments Download
A src/devices/mesh/mesh-wifi-interface-mac.cc View 1 2 3 1 chunk 748 lines 0 comments Download
A src/devices/mesh/mesh-wifi-interface-mac.h View 1 2 3 1 chunk 260 lines 0 comments Download
A src/devices/mesh/mesh.h View 1 2 3 1 chunk 110 lines 0 comments Download
A src/devices/mesh/waf View 3 1 chunk 7 lines 0 comments Download
A src/devices/mesh/wifi-information-element-vector.cc View 3 1 chunk 489 lines 0 comments Download
A src/devices/mesh/wifi-information-element-vector.h View 3 1 chunk 161 lines 0 comments Download
A src/devices/mesh/wscript View 1 2 3 1 chunk 28 lines 0 comments Download
A src/helper/dot11s-installer.cc View 1 chunk 130 lines 0 comments Download
A src/helper/dot11s-installer.h View 1 chunk 49 lines 0 comments Download
A src/helper/flame-installer.cc View 1 chunk 79 lines 0 comments Download
A src/helper/flame-installer.h View 1 chunk 51 lines 0 comments Download
A src/helper/mesh-helper.cc View 1 2 3 1 chunk 213 lines 0 comments Download
A src/helper/mesh-helper.h View 1 2 3 1 chunk 193 lines 0 comments Download
A src/helper/mesh-stack-installer.h View 1 chunk 52 lines 0 comments Download
M src/helper/wscript View 1 2 3 2 chunks 25 lines 0 comments Download
M src/wscript View 1 2 3 1 chunk 14 lines 0 comments Download

Messages

Total messages: 11
Mathieu Lacage
Overall, the code looks pretty good. Comments below. 1) if the metric is ratio of ...
4 months, 1 week ago
Pavel Boyko
On 2009/07/16 11:39:05, Mathieu Lacage wrote: > 5) the biggest technical comment I have is ...
4 months, 1 week ago
and.kirill
Brief explanation of using Report and ResetStats methods http://codereview.appspot.com/88094/diff/1070/1137 File src/helper/mesh-interface-helper.h (right): http://codereview.appspot.com/88094/diff/1070/1137#newcode96 Line 96: ...
4 months, 1 week ago
and.kirill
http://codereview.appspot.com/88094/diff/1070/1127 File src/devices/mesh/mesh-wifi-interface-mac.cc (right): http://codereview.appspot.com/88094/diff/1070/1127#newcode291 Line 291: //Delete smart pointers: On 2009/07/16 11:39:05, Mathieu Lacage ...
4 months, 1 week ago
and.kirill
http://codereview.appspot.com/88094/diff/1070/1127 File src/devices/mesh/mesh-wifi-interface-mac.cc (right): http://codereview.appspot.com/88094/diff/1070/1127#newcode324 Line 324: if (m_phy != 0) On 2009/07/16 11:39:05, Mathieu ...
4 months, 1 week ago
and.kirill
http://codereview.appspot.com/88094/diff/1070/1090 File src/devices/mesh/dot11s/ie-dot11s-beacon-timing.h (right): http://codereview.appspot.com/88094/diff/1070/1090#newcode88 Line 88: WifiElementId ElementId () const { On 2009/07/16 11:39:05, ...
4 months, 1 week ago
and.kirill
Hi! In new patchset I have fixed coding style. Also WifiInformationElement does not use PeekData ...
3 months, 3 weeks ago
Pavel Boyko
On 2009/07/16 11:39:05, Mathieu Lacage wrote: > Overall, the code looks pretty good. Comments below. ...
3 months, 1 week ago
Mathieu Lacage
1) I think that you still need some small tweaks to the IE vector handling. ...
3 months ago
and.kirill
An only comment that is ignored by me - is sort type definitions and variables. ...
3 months ago
and.kirill
3 months ago
I have fixed most of comments and I have some questions about
WifiInformationElementVector.

http://codereview.appspot.com/88094/diff/4001/4003
File examples/mesh.cc (right):

http://codereview.appspot.com/88094/diff/4001/4003#newcode50
Line 50: int       xSize;
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4003#newcode118
Line 118: SeedManager::SetSeed(seed);
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4005
File src/devices/mesh/dot11s/airtime-metric.cc (right):

http://codereview.appspot.com/88094/diff/4001/4005#newcode33
Line 33: .AddAttribute ( "overheadNanosec",
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4005#newcode39
Line 39: .AddAttribute ( "testLengt",
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4005#newcode46
Line 46: .AddAttribute ( "dot11HeaderLengt",
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4005#newcode53
Line 53: .AddAttribute ( "dot11sHeaderLength",
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4005#newcode91
Line 91: * (station->GetAvgSlrc () + 1));
Well, I thought about using trace hooks, but I have no idea how to connect to
WifiRemoteStation, because list of remote stations changes due to link failure.
And I do not care about removing that stations, tat are unreachable more. When I
start to use trace hooks, I need to remember the list of remote stations at my
metric calculator. Could you, please, make an advice how to do this better?

http://codereview.appspot.com/88094/diff/4001/4006
File src/devices/mesh/dot11s/airtime-metric.h (right):

http://codereview.appspot.com/88094/diff/4001/4006#newcode49
Line 49: uint32_t m_overheadNanosec;
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4008
File src/devices/mesh/dot11s/dot11s-installer.h (right):

http://codereview.appspot.com/88094/diff/4001/4008#newcode34
Line 34: ///\brief Installs 802.11s stack. needed by helper only
I have removed this part of code from helper, because when I have done this, all
headers from dot11s namespace are not needed to be copied to ns3headers (and we
have less componets when building NS)

http://codereview.appspot.com/88094/diff/4001/4012
File src/devices/mesh/dot11s/hwmp-protocol-mac.cc (right):

http://codereview.appspot.com/88094/diff/4001/4012#newcode432
Line 432: os << "<Statistics "
Done in all other Statistics::Print

Done.

http://codereview.appspot.com/88094/diff/4001/4014
File src/devices/mesh/dot11s/hwmp-protocol.cc (right):

http://codereview.appspot.com/88094/diff/4001/4014#newcode56
Line 56: .AddAttribute ( "maxQueueSize",
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4014#newcode63
Line 63: .AddAttribute ( "dot11MeshHWMPmaxPREQretries",
The name of this attribute was copied from 11s standart, so it was written
wrong. Fixed.

http://codereview.appspot.com/88094/diff/4001/4014#newcode70
Line 70: .AddAttribute ( "dot11MeshHWMPnetDiameterTraversalTime",
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4014#newcode902
Line 902: {
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4014#newcode923
Line 923: {
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4014#newcode1111
Line 1111: "address=\"" << m_address << "\"\n"
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4014#newcode1130
Line 1130: {
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4014#newcode1141
Line 1141: plugin->second->ResetStats ();
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4015
File src/devices/mesh/dot11s/hwmp-protocol.h (right):

http://codereview.appspot.com/88094/diff/4001/4015#newcode176
Line 176: Statistics m_stats;
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4020
File src/devices/mesh/dot11s/ie-dot11s-beacon-timing.cc (right):

http://codereview.appspot.com/88094/diff/4001/4020#newcode113
Line 113: IeBeaconTiming::DelNeighboursTimingElementUnit (uint16_t aid, Time
last_beacon, //MicroSeconds!
I have removed this comment.

http://codereview.appspot.com/88094/diff/4001/4020#newcode203
Line 203: ;
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4023
File src/devices/mesh/dot11s/ie-dot11s-configuration.h (right):

http://codereview.appspot.com/88094/diff/4001/4023#newcode77
Line 77: class dot11sMeshCapability
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4025
File src/devices/mesh/dot11s/ie-dot11s-id.h (right):

http://codereview.appspot.com/88094/diff/4001/4025#newcode47
Line 47: WifiElementId ElementId () const;
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4044
File src/devices/mesh/dot11s/peer-management-protocol-mac.cc (right):

http://codereview.appspot.com/88094/diff/4001/4044#newcode63
Line 63: WifiInformationElementVector elements =
WifiInformationElementVector::DeserializePacket (packet);
Threr is a little problem with doing a WifiInformationElementVector inerited
from Header: When I call RemoveHeader, I call Deserialize, but inside
Deserialize I have only Buffer::Iterator and my deserializator may go through
this buffer (hoping to next information element) in inifinite loop. When I parse
packet in WifiInformationElementVector, I suppose that the packet contains only
information elements and nothing else till end, and when I work with a packet
rather than with Buffer::Iterator, I always know, where shall I stop (I need
just to check the length of the rest packet). Can I control the end of Buffer
from Deserialize?

http://codereview.appspot.com/88094/diff/4001/4053
File src/devices/mesh/mesh-point-device.h (right):

http://codereview.appspot.com/88094/diff/4001/4053#newcode92
Line 92: virtual void SetName (const std::string name);
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.

http://codereview.appspot.com/88094/diff/4001/4062
File src/devices/mesh/wifi-information-element-vector.cc (right):

http://codereview.appspot.com/88094/diff/4001/4062#newcode83
Line 83: WifiInformationElementVector::DeserializePacket (Ptr<Packet> packet)
Yes, but how can I control, that I have reached the end of the Buffer? When I
try to remove header from the packet - it is obvious

http://codereview.appspot.com/88094/diff/4001/4062#newcode151
Line 151: if (sortByElementId)
I know, that sorting is needed in beacons, but in HWMP protocol we do not have
IDs of some information elements(path selection frames contain many IE), so I
have added this flag

http://codereview.appspot.com/88094/diff/4001/4062#newcode159
Line 159: packet->AddHeader (**i);
The problem is the same: how to control the end of buffer from Deserialize

http://codereview.appspot.com/88094/diff/4001/4065
File src/devices/mesh/wifi-information-element.h (right):

http://codereview.appspot.com/88094/diff/4001/4065#newcode84
Line 84: class WifiInformationElement : public Header,
In path selection frames in HWMP I add an information element as a header. Is it
really needed to wrap it into a vector?

http://codereview.appspot.com/88094/diff/4001/4065#newcode148
Line 148: virtual uint8_t GetInformationSize () const = 0;
On 2009/08/21 14:09:30, Mathieu Lacage wrote:

Done.
Sign in to reply to this message.

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