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

Issue 15530043: New module pgbr (PGBR routing protocol) and extension of topology-read module

Can't Edit
Can't Publish+Mail
Start Review
Created:
5 years ago by mineraud
Modified:
5 years ago
Reviewers:
Tom Henderson
CC:
ns-3-reviews_googlegroups.com
Visibility:
Public.

Description

New module pgbr (PGBR routing protocol) and extension of topology-read module

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+46639 lines, -18 lines) Patch
A src/pgbr/doc/pgbr.h View 1 chunk +85 lines, -0 lines 0 comments Download
A src/pgbr/doc/pgbr.rst View 1 chunk +168 lines, -0 lines 0 comments Download
A src/pgbr/examples/ebone-40-topo-sample.brite View 1 chunk +255 lines, -0 lines 0 comments Download
A src/pgbr/examples/ebone-40-traffic-sample.traffic View 1 chunk +25561 lines, -0 lines 0 comments Download
A src/pgbr/examples/ieee-online-greenComm-2013-pg2br.cc View 1 chunk +473 lines, -0 lines 0 comments Download
A src/pgbr/examples/ieee-online-greenComm-2013-pg2br-core.cc View 1 chunk +265 lines, -0 lines 0 comments Download
A src/pgbr/examples/pgbr-example.cc View 1 chunk +106 lines, -0 lines 0 comments Download
A src/pgbr/examples/wscript View 1 chunk +12 lines, -0 lines 0 comments Download
A src/pgbr/helper/ieee-online-greenComm-2013-pg2br-gradient-calculator-helper.h View 1 chunk +147 lines, -0 lines 0 comments Download
A src/pgbr/helper/ieee-online-greenComm-2013-pg2br-gradient-calculator-helper.cc View 1 chunk +166 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-abg-gradient-calculator-helper.h View 1 chunk +111 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-abg-gradient-calculator-helper.cc View 1 chunk +105 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-five-tuple-flow-classifier-helper.h View 1 chunk +94 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-five-tuple-flow-classifier-helper.cc View 1 chunk +62 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-flow-classifier-helper.h View 1 chunk +72 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-flow-classifier-helper.cc View 1 chunk +35 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-gradient-calculator-helper.h View 1 chunk +80 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-gradient-calculator-helper.cc View 1 chunk +41 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-helper.h View 1 chunk +134 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-helper.cc View 1 chunk +197 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-null-flow-classifier-helper.h View 1 chunk +93 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-null-flow-classifier-helper.cc View 1 chunk +62 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-static-gradient-calculator-helper.h View 1 chunk +117 lines, -0 lines 0 comments Download
A src/pgbr/helper/ipv4-pgbr-static-gradient-calculator-helper.cc View 1 chunk +85 lines, -0 lines 0 comments Download
A src/pgbr/helper/multiple-flows-application-helper.h View 1 chunk +180 lines, -0 lines 0 comments Download
A src/pgbr/helper/multiple-flows-application-helper.cc View 1 chunk +266 lines, -0 lines 0 comments Download
A src/pgbr/helper/net-device-load-sensor-helper.h View 1 chunk +71 lines, -0 lines 0 comments Download
A src/pgbr/helper/net-device-load-sensor-helper.cc View 1 chunk +34 lines, -0 lines 0 comments Download
A src/pgbr/helper/point-to-point-load-sensor-helper.h View 1 chunk +95 lines, -0 lines 0 comments Download
A src/pgbr/helper/point-to-point-load-sensor-helper.cc View 1 chunk +67 lines, -0 lines 0 comments Download
A src/pgbr/helper/traffic-matrix-application-helper.h View 1 chunk +180 lines, -0 lines 0 comments Download
A src/pgbr/helper/traffic-matrix-application-helper.cc View 1 chunk +271 lines, -0 lines 0 comments Download
A src/pgbr/model/core-calculator/genetic-algorithm/ga-core-calculator.h View 1 chunk +168 lines, -0 lines 0 comments Download
A src/pgbr/model/core-calculator/genetic-algorithm/ga-core-calculator.cc View 1 chunk +389 lines, -0 lines 0 comments Download
A src/pgbr/model/flow-classifier/five-tuple/ipv4-pgbr-five-tuple-flow-classifier.h View 1 chunk +148 lines, -0 lines 0 comments Download
A src/pgbr/model/flow-classifier/five-tuple/ipv4-pgbr-five-tuple-flow-classifier.cc View 1 chunk +221 lines, -0 lines 0 comments Download
A src/pgbr/model/flow-classifier/ipv4-pgbr-flow-classifier.h View 1 chunk +88 lines, -0 lines 0 comments Download
A src/pgbr/model/flow-classifier/ipv4-pgbr-flow-classifier.cc View 1 chunk +49 lines, -0 lines 0 comments Download
A src/pgbr/model/flow-classifier/null-flow-classifier.h View 1 chunk +86 lines, -0 lines 0 comments Download
A src/pgbr/model/flow-classifier/null-flow-classifier.cc View 1 chunk +64 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/alpha-beta-gamma/ipv4-pgbr-abg-gradient-calculator.h View 1 chunk +163 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/alpha-beta-gamma/ipv4-pgbr-abg-gradient-calculator.cc View 1 chunk +514 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/ieee-online-greenComm-2013-pg2br/ieee-online-greenComm-2013-pg2br-gradient-calculator.h View 1 chunk +521 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/ieee-online-greenComm-2013-pg2br/ieee-online-greenComm-2013-pg2br-gradient-calculator.cc View 1 chunk +1160 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/ipv4-pgbr-gradient-calculator.h View 1 chunk +199 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/ipv4-pgbr-gradient-calculator.cc View 1 chunk +137 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/ipv4-pgbr-load-aware-gradient-calculator.h View 1 chunk +228 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/ipv4-pgbr-load-aware-gradient-calculator.cc View 1 chunk +322 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/ipv4-pgbr-load-aware-gradient-header.h View 1 chunk +186 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/ipv4-pgbr-load-aware-gradient-header.cc View 1 chunk +160 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/static/ipv4-pgbr-static-gradient-calculator.h View 1 chunk +130 lines, -0 lines 0 comments Download
A src/pgbr/model/gradient-calculator/static/ipv4-pgbr-static-gradient-calculator.cc View 1 chunk +151 lines, -0 lines 0 comments Download
A src/pgbr/model/hop-count/ipv4-pgbr-floyd-warshall-hop-count-manager-impl.h View 1 chunk +134 lines, -0 lines 0 comments Download
A src/pgbr/model/hop-count/ipv4-pgbr-floyd-warshall-hop-count-manager-impl.cc View 1 chunk +289 lines, -0 lines 0 comments Download
A src/pgbr/model/hop-count/ipv4-pgbr-hop-count-manager.h View 1 chunk +98 lines, -0 lines 0 comments Download
A src/pgbr/model/hop-count/ipv4-pgbr-hop-count-manager.cc View 1 chunk +68 lines, -0 lines 0 comments Download
A src/pgbr/model/ipv4-pgbr-discovery-manager.h View 1 chunk +203 lines, -0 lines 0 comments Download
A src/pgbr/model/ipv4-pgbr-discovery-manager.cc View 1 chunk +323 lines, -0 lines 0 comments Download
A src/pgbr/model/ipv4-pgbr-flow-routing-table.h View 1 chunk +432 lines, -0 lines 0 comments Download
A src/pgbr/model/ipv4-pgbr-flow-routing-table.cc View 1 chunk +503 lines, -0 lines 0 comments Download
A src/pgbr/model/ipv4-pgbr-header.h View 1 chunk +368 lines, -0 lines 0 comments Download
A src/pgbr/model/ipv4-pgbr-header.cc View 1 chunk +297 lines, -0 lines 0 comments Download
A src/pgbr/model/ipv4-pgbr-neighbour.h View 1 chunk +173 lines, -0 lines 0 comments Download
A src/pgbr/model/ipv4-pgbr-neighbour.cc View 1 chunk +127 lines, -0 lines 0 comments Download
A src/pgbr/model/ipv4-pgbr-protocol.h View 1 chunk +488 lines, -0 lines 0 comments Download
A src/pgbr/model/ipv4-pgbr-protocol.cc View 1 chunk +1259 lines, -0 lines 0 comments Download
A src/pgbr/model/load-sensing/net-device-load-sensor.h View 1 chunk +113 lines, -0 lines 0 comments Download
A src/pgbr/model/load-sensing/net-device-load-sensor.cc View 1 chunk +49 lines, -0 lines 0 comments Download
A src/pgbr/model/load-sensing/point-to-point-load-sensor.h View 1 chunk +151 lines, -0 lines 0 comments Download
A src/pgbr/model/load-sensing/point-to-point-load-sensor.cc View 1 chunk +176 lines, -0 lines 0 comments Download
A src/pgbr/model/monitor/power-consumption/helper/power-consumption-monitor-helper.h View 1 chunk +135 lines, -0 lines 0 comments Download
A src/pgbr/model/monitor/power-consumption/helper/power-consumption-monitor-helper.cc View 1 chunk +225 lines, -0 lines 0 comments Download
A src/pgbr/model/monitor/power-consumption/model/power-consumption-monitor.h View 1 chunk +186 lines, -0 lines 0 comments Download
A src/pgbr/model/monitor/power-consumption/model/power-consumption-monitor.cc View 1 chunk +216 lines, -0 lines 0 comments Download
A src/pgbr/model/monitor/source-destination-pairs-traffic-monitor/helper/source-destination-pairs-traffic-monitor-helper.h View 1 chunk +78 lines, -0 lines 0 comments Download
A src/pgbr/model/monitor/source-destination-pairs-traffic-monitor/helper/source-destination-pairs-traffic-monitor-helper.cc View 1 chunk +52 lines, -0 lines 0 comments Download
A src/pgbr/model/monitor/source-destination-pairs-traffic-monitor/model/source-destination-pairs-traffic-monitor.h View 1 chunk +461 lines, -0 lines 0 comments Download
A src/pgbr/model/monitor/source-destination-pairs-traffic-monitor/model/source-destination-pairs-traffic-monitor.cc View 1 chunk +785 lines, -0 lines 0 comments Download
A src/pgbr/model/power-manager/pgbr-power-manager.h View 1 chunk +310 lines, -0 lines 0 comments Download
A src/pgbr/model/power-manager/pgbr-power-manager.cc View 1 chunk +488 lines, -0 lines 0 comments Download
A src/pgbr/model/queue/strict-priority-packet-tag.h View 1 chunk +139 lines, -0 lines 0 comments Download
A src/pgbr/model/queue/strict-priority-packet-tag.cc View 1 chunk +95 lines, -0 lines 0 comments Download
A src/pgbr/model/queue/strict-priority-queue.h View 1 chunk +164 lines, -0 lines 0 comments Download
A src/pgbr/model/queue/strict-priority-queue.cc View 1 chunk +210 lines, -0 lines 0 comments Download
A src/pgbr/model/traffic-generator/multiple-flows-application.h View 1 chunk +287 lines, -0 lines 0 comments Download
A src/pgbr/model/traffic-generator/multiple-flows-application.cc View 1 chunk +389 lines, -0 lines 0 comments Download
A src/pgbr/model/traffic-generator/totem-project/totem-traffic-matrices-reader.h View 1 chunk +300 lines, -0 lines 0 comments Download
A src/pgbr/model/traffic-generator/totem-project/totem-traffic-matrices-reader.cc View 1 chunk +511 lines, -0 lines 0 comments Download
A src/pgbr/model/traffic-generator/totem-project/totem-traffic-matrix-generator.h View 1 chunk +167 lines, -0 lines 0 comments Download
A src/pgbr/model/traffic-generator/totem-project/totem-traffic-matrix-generator.cc View 1 chunk +298 lines, -0 lines 0 comments Download
A src/pgbr/model/traffic-generator/traffic-matrix.h View 1 chunk +99 lines, -0 lines 0 comments Download
A src/pgbr/model/traffic-generator/traffic-matrix.cc View 1 chunk +106 lines, -0 lines 0 comments Download
A src/pgbr/test/examples-to-run.py View 1 chunk +20 lines, -0 lines 0 comments Download
A src/pgbr/test/pgbr-test-suite.cc View 1 chunk +320 lines, -0 lines 0 comments Download
A src/pgbr/waf View 1 chunk +1 line, -0 lines 0 comments Download
A src/pgbr/wscript View 1 chunk +107 lines, -0 lines 0 comments Download
M src/topology-read/helper/topology-reader-helper.cc View 2 chunks +6 lines, -0 lines 0 comments Download
A src/topology-read/model/brite-1-level-router-only-topology-reader.h View 1 chunk +71 lines, -0 lines 0 comments Download
A src/topology-read/model/brite-1-level-router-only-topology-reader.cc View 1 chunk +182 lines, -0 lines 0 comments Download
M src/topology-read/model/inet-topology-reader.cc View 5 chunks +2 lines, -6 lines 0 comments Download
M src/topology-read/model/topology-reader.h View 4 chunks +103 lines, -6 lines 0 comments Download
M src/topology-read/model/topology-reader.cc View 3 chunks +99 lines, -6 lines 0 comments Download
M src/topology-read/wscript View 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 2
Tom Henderson
My initial scan of this is that it looks to be in good shape with ...
5 years ago (2013-10-31 13:45:39 UTC) #1
mineraud
5 years ago (2013-10-31 15:05:10 UTC) #2
Hi Tom,

the organisation of the module was grouped because I had trouble updating
the code to the new version and organisation of ns-3. If I remember
correctly, I started with ns-3.5 or ns-3.6 and things have changed quite a
bit.
I could indeed split everything in separate patches because they could be
usefull for others even when not using PGBR.

The protocol is indeed limited to point-to-point networks at the moment.
One the one hand, because I used some hacks (similar to the global-routing)
to initiate the neighbours (required by the PGBR protocol). However, I was
planning to integrate it as a part of the protocol (pretty much with hello
messages) but have not taken the time to do it due to the limited research
added value. As a result, I need to initiate the protocol using the
protocol helper and this wouldnt work at the moment if some devices are not
point-to-point.

The protocol also requires to sense the link load and I have not
investigated this behaviour on wireless links.
The power manager could also be used for energy-constrained devices. But
the energy-aware mechanism for my protocol cannot (also a hack due to
communication mechanisms absent from the protocol at the current stage)

What would be the best solution to split the topology-reader, traffic
generator, traffic monitor, energy-consumption monitor, power manager into
separated patches?

P.S. Future directions are also to improve the modularity of the protocol
to support more extensions of flow-based routing.

BR,


2013/10/31 <tomh.org@gmail.com>

> My initial scan of this is that it looks to be in good shape with
> respect to following documentation and coding conventions.
>
> There are a few things bound together in this review that could be split
> apart, to ease the merging and reviewing.  There is a strict priority
> queue model; could it be considered for the 'src/network' module?  The
> topology reader patch could be split out and separately considered.  The
> traffic generator may be of more broad use as well.
>
> I'm not suggesting to split this into separate code review issues at
> this time, but we may want to consider reviewing this in chunks and
> seeing whether some of the changes proposed can be pulled out over time
> and merged separately.
>
> Why is the model limited to wired links only (there is a comment in the
> documentation about this limitation)?  It seems like users will want to
> apply this to energy-constrained devices, which are often wireless.
> Also, models at layer 3 and above shouldn't care about whether the
> underlying link is wired or wireless, unless they are doing some kind of
> cross-layer integration.
>
>
https://codereview.appspot.**com/15530043/<https://codereview.appspot.com/155...
>
Sign in to reply to this message.

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