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

Issue 103570043: GSoC 2014 MulticastIPv6 mid-term code review

Can't Edit
Can't Publish+Mail
Start Review
Created:
9 years, 9 months ago by KrishnaTeja
Modified:
9 years, 8 months ago
CC:
ns-3-reviews_googlegroups.com
Visibility:
Public.

Description

* This is my midterm code review for the GSoC 2014 project, MulticastIPv6.* The code to be reviewed can be found in Rietveld issue 103570043. * The code contains implementation of **State change Reports. **Router Periodic General Queries. **Current State Reports. *Protocol mldv2.h , mldv2.cc *Implemented headers icmpv6-header.h,icmpv6-header.cc *Created Call Backs icmpv6-l4-protocol.cc *Extended Socket API - ipv6-raw-socket-impl.h - ipv6-raw-socket-impl.cc - socket.h - socket.cc *Test - As of now I am using ping6 application for testing socket calls and mldv2 protocol so I created a copy of ping6 and named as sample. - For testing the working there is an example - waf --run Mldv2-example which generates a pcap which contains * State change Reports. * Router Periodic General Queries. * Node replying with current state reports * Repository : http://code.nsnam.org/krishna/ns-3-multicastIPv6/ * Wiki page : http://www.nsnam.org/wiki/GSOC2014MulticastIPv6 = MLDv2 Overview = * The purpose of MLD is to enable each multicast router to learn, for each of its directly attached links, which multicast addresses and which sources have interested listeners on that link. * It is an asymmetric protocol has two parts router part ,host part. == Socket and Interfaces == *Applications that run on host mention the multicast groups they are interested in along with the sources they are interested or not interested in on a interface. *The interface record is derived from the socket records. - Example : socket1(Interface1,Include,a,b) + socket2 (Interface1,Include,b,c) => Interface1(Include,a,b,c) where a,b,c are source addresses. == Messages == There are two types of exchanges between host and router. *Exchange One : General Query **Router periodically sends General Queries to learn multicast address listener information from an attached link. **Nodes respond to these queries by reporting their per-interface Multicast Address Listening state, through Current State Report messages. *Exchange Two : State Change **If the listening state of a node changes, the node immediately reports these changes through a State Change Report message **The router must query for other listeners of the multicast address or multicast source address if the changes are to delete a multicast address or source of a multicast address them through Multicast Address Query or Source Specific Query respectively.

Patch Set 1 #

Total comments: 23
Unified diffs Side-by-side diffs Delta from patch set Stats (+2155 lines, -87 lines) Patch
A .ns3rc View 1 chunk +13 lines, -0 lines 0 comments Download
A examples/ipv6/Mldv2-example.cc View 1 chunk +120 lines, -0 lines 0 comments Download
M examples/ipv6/wscript View 1 chunk +3 lines, -0 lines 0 comments Download
A src/applications/helper/sample-helper.h View 1 chunk +118 lines, -0 lines 0 comments Download
A src/applications/helper/sample-helper.cc View 1 chunk +78 lines, -0 lines 0 comments Download
A src/applications/model/sample.h View 1 chunk +190 lines, -0 lines 0 comments Download
A src/applications/model/sample.cc View 1 chunk +310 lines, -0 lines 0 comments Download
M src/applications/wscript View 4 chunks +4 lines, -0 lines 0 comments Download
M src/internet/helper/internet-stack-helper.h View 2 chunks +12 lines, -0 lines 0 comments Download
M src/internet/helper/internet-stack-helper.cc View 7 chunks +15 lines, -2 lines 1 comment Download
M src/internet/model/icmpv6-header.h View 4 chunks +239 lines, -2 lines 4 comments Download
M src/internet/model/icmpv6-header.cc View 5 chunks +299 lines, -4 lines 0 comments Download
M src/internet/model/icmpv6-l4-protocol.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/internet/model/icmpv6-l4-protocol.cc View 20 chunks +18 lines, -30 lines 0 comments Download
M src/internet/model/ipv6-l3-protocol.cc View 9 chunks +15 lines, -15 lines 0 comments Download
M src/internet/model/ipv6-raw-socket-impl.h View 1 chunk +19 lines, -6 lines 0 comments Download
M src/internet/model/ipv6-raw-socket-impl.cc View 8 chunks +28 lines, -16 lines 1 comment Download
A src/internet/model/mldv2.h View 1 chunk +185 lines, -0 lines 1 comment Download
A src/internet/model/mldv2.cc View 1 chunk +456 lines, -0 lines 16 comments Download
M src/internet/wscript View 2 chunks +2 lines, -0 lines 0 comments Download
M src/network/model/node.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M src/network/model/socket.h View 4 chunks +15 lines, -3 lines 0 comments Download
M src/network/model/socket.cc View 5 chunks +10 lines, -4 lines 0 comments Download
M utils/.ns3rc View 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 3
bpswenson
Very minor comments. https://codereview.appspot.com/103570043/diff/1/src/internet/model/icmpv6-header.h File src/internet/model/icmpv6-header.h (right): https://codereview.appspot.com/103570043/diff/1/src/internet/model/icmpv6-header.h#newcode1804 src/internet/model/icmpv6-header.h:1804: enum Record_Type I think.. enum names ...
9 years, 9 months ago (2014-06-29 20:56:22 UTC) #1
gawlowicz.p
Hello Krishna, The code is well done. I have only a few comments regarding logging ...
9 years, 8 months ago (2014-07-04 22:27:08 UTC) #2
Tom Henderson
9 years, 8 months ago (2014-07-07 21:44:04 UTC) #3
I added some more comments (against the current, not midterm, code) at:
https://codereview.appspot.com/111920044/
Sign in to reply to this message.

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