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

Issue 88094: 802.11s mesh stack model (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
14 years, 9 months ago by Pavel Boyko
Modified:
14 years ago
CC:
ns-3-reviews_googlegroups.com
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 (+14186 lines, -2 lines) Patch
M AUTHORS View 1 2 3 1 chunk +3 lines, -2 lines 0 comments Download
A examples/mesh.cc View 1 2 3 1 chunk +214 lines, -0 lines 0 comments Download
M examples/wscript View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/airtime-metric.h View 1 2 3 1 chunk +59 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/airtime-metric.cc View 1 2 3 1 chunk +95 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/dot11s.h View 1 2 3 1 chunk +79 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/dot11s-mac-header.h View 1 2 1 chunk +157 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/dot11s-mac-header.cc View 1 2 3 1 chunk +376 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-protocol.h View 1 2 3 1 chunk +265 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-protocol.cc View 1 2 3 1 chunk +1150 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-protocol-mac.h View 1 2 3 1 chunk +140 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-protocol-mac.cc View 1 2 3 1 chunk +475 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-rtable.h View 1 2 3 1 chunk +140 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-rtable.cc View 1 2 3 1 chunk +393 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-tag.h View 1 2 1 chunk +77 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/hwmp-tag.cc View 1 2 1 chunk +151 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-beacon-timing.h View 1 2 3 1 chunk +116 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-beacon-timing.cc View 1 2 3 1 chunk +225 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-configuration.h View 1 2 3 1 chunk +142 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-configuration.cc View 1 2 3 1 chunk +224 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-id.h View 1 2 3 1 chunk +70 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-id.cc View 1 2 3 1 chunk +145 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-metric-report.h View 1 2 3 1 chunk +60 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-metric-report.cc View 1 2 3 1 chunk +85 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-peer-management.h View 1 2 3 1 chunk +101 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-peer-management.cc View 1 2 3 1 chunk +176 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-peering-protocol.h View 1 2 3 1 chunk +49 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-peering-protocol.cc View 1 2 3 1 chunk +65 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-perr.h View 1 2 3 1 chunk +63 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-perr.cc View 1 2 3 1 chunk +165 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-prep.h View 1 2 3 1 chunk +87 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-prep.cc View 1 2 3 1 chunk +214 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-preq.h View 1 2 3 1 chunk +160 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-preq.cc View 1 2 3 1 chunk +455 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-rann.h View 1 2 3 1 chunk +78 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/ie-dot11s-rann.cc View 1 2 3 1 chunk +180 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/peer-link.h View 1 2 3 1 chunk +259 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/peer-link.cc View 1 2 3 1 chunk +699 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/peer-link-frame.h View 1 2 1 chunk +93 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/peer-link-frame.cc View 1 2 3 1 chunk +311 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/peer-management-protocol.h View 1 2 3 1 chunk +255 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/peer-management-protocol.cc View 1 2 3 1 chunk +576 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/peer-management-protocol-mac.h View 1 2 3 1 chunk +139 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/peer-management-protocol-mac.cc View 1 2 3 1 chunk +332 lines, -0 lines 0 comments Download
A src/devices/mesh/dot11s/waf View 3 1 chunk +1 line, -0 lines 0 comments Download
A src/devices/mesh/dot11s/wscript View 1 2 3 1 chunk +36 lines, -0 lines 0 comments Download
A src/devices/mesh/flame/flame-header.h View 1 chunk +80 lines, -0 lines 0 comments Download
A src/devices/mesh/flame/flame-header.cc View 1 chunk +182 lines, -0 lines 0 comments Download
A src/devices/mesh/flame/flame-protocol.h View 1 chunk +155 lines, -0 lines 0 comments Download
A src/devices/mesh/flame/flame-protocol.cc View 1 chunk +377 lines, -0 lines 0 comments Download
A src/devices/mesh/flame/flame-protocol-mac.h View 1 chunk +80 lines, -0 lines 0 comments Download
A src/devices/mesh/flame/flame-protocol-mac.cc View 1 chunk +128 lines, -0 lines 0 comments Download
A src/devices/mesh/flame/flame-rtable.h View 1 chunk +103 lines, -0 lines 0 comments Download
A src/devices/mesh/flame/flame-rtable.cc View 1 chunk +193 lines, -0 lines 0 comments Download
A src/devices/mesh/flame/wscript View 1 chunk +15 lines, -0 lines 0 comments Download
A src/devices/mesh/mesh.h View 1 2 3 1 chunk +104 lines, -0 lines 0 comments Download
A src/devices/mesh/mesh-l2-routing-protocol.h View 1 2 3 1 chunk +126 lines, -0 lines 0 comments Download
A src/devices/mesh/mesh-l2-routing-protocol.cc View 1 2 1 chunk +56 lines, -0 lines 0 comments Download
A src/devices/mesh/mesh-point-device.h View 1 2 3 1 chunk +185 lines, -0 lines 0 comments Download
A src/devices/mesh/mesh-point-device.cc View 1 2 3 1 chunk +462 lines, -0 lines 0 comments Download
A src/devices/mesh/mesh-wifi-beacon.h View 1 2 3 1 chunk +76 lines, -0 lines 0 comments Download
A src/devices/mesh/mesh-wifi-beacon.cc View 1 2 3 1 chunk +62 lines, -0 lines 0 comments Download
A src/devices/mesh/mesh-wifi-interface-mac.h View 1 2 3 1 chunk +254 lines, -0 lines 0 comments Download
A src/devices/mesh/mesh-wifi-interface-mac.cc View 1 2 3 1 chunk +742 lines, -0 lines 0 comments Download
A src/devices/mesh/mesh-wifi-interface-mac-plugin.h View 1 chunk +71 lines, -0 lines 0 comments Download
A src/devices/mesh/waf View 3 1 chunk +1 line, -0 lines 0 comments Download
A src/devices/mesh/wifi-information-element-vector.h View 3 1 chunk +155 lines, -0 lines 0 comments Download
A src/devices/mesh/wifi-information-element-vector.cc View 3 1 chunk +483 lines, -0 lines 0 comments Download
A src/devices/mesh/wscript View 1 2 3 1 chunk +22 lines, -0 lines 0 comments Download
A src/helper/dot11s-installer.h View 1 chunk +43 lines, -0 lines 0 comments Download
A src/helper/dot11s-installer.cc View 1 chunk +124 lines, -0 lines 0 comments Download
A src/helper/flame-installer.h View 1 chunk +45 lines, -0 lines 0 comments Download
A src/helper/flame-installer.cc View 1 chunk +73 lines, -0 lines 0 comments Download
A src/helper/mesh-helper.h View 1 2 3 1 chunk +187 lines, -0 lines 0 comments Download
A src/helper/mesh-helper.cc View 1 2 3 1 chunk +207 lines, -0 lines 0 comments Download
A src/helper/mesh-stack-installer.h View 1 chunk +46 lines, -0 lines 0 comments Download
M src/helper/wscript View 1 2 3 2 chunks +7 lines, -0 lines 0 comments Download
M src/wscript View 1 2 3 1 chunk +3 lines, -0 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 ...
14 years, 8 months ago (2009-07-16 11:39:05 UTC) #1
Pavel Boyko
On 2009/07/16 11:39:05, Mathieu Lacage wrote: > 5) the biggest technical comment I have is ...
14 years, 8 months ago (2009-07-16 12:39:40 UTC) #2
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: ...
14 years, 8 months ago (2009-07-16 12:59:43 UTC) #3
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 ...
14 years, 8 months ago (2009-07-16 13:35:11 UTC) #4
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 ...
14 years, 8 months ago (2009-07-16 13:55:54 UTC) #5
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, ...
14 years, 8 months ago (2009-07-21 09:14:48 UTC) #6
and.kirill
Hi! In new patchset I have fixed coding style. Also WifiInformationElement does not use PeekData ...
14 years, 8 months ago (2009-07-31 15:35:19 UTC) #7
Pavel Boyko
On 2009/07/16 11:39:05, Mathieu Lacage wrote: > Overall, the code looks pretty good. Comments below. ...
14 years, 7 months ago (2009-08-14 10:15:21 UTC) #8
Mathieu Lacage
1) I think that you still need some small tweaks to the IE vector handling. ...
14 years, 7 months ago (2009-08-21 14:09:29 UTC) #9
and.kirill
An only comment that is ignored by me - is sort type definitions and variables. ...
14 years, 7 months ago (2009-08-21 19:32:25 UTC) #10
and.kirill
14 years, 7 months ago (2009-08-21 19:33:33 UTC) #11
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 f62528b