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

Issue 270630043: Interface index based L4 protocols (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
8 years, 6 months ago by Tommaso Pecorella
Modified:
8 years, 6 months ago
Reviewers:
Tom Henderson
CC:
ns-3-reviews_googlegroups.com
Visibility:
Public.

Description

Interface index based L4 protocols

Patch Set 1 #

Total comments: 3

Patch Set 2 : Fixes and IPv4 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+234 lines, -28 lines) Patch
M src/internet/model/ipv4-l3-protocol.h View 1 4 chunks +39 lines, -1 line 0 comments Download
M src/internet/model/ipv4-l3-protocol.cc View 1 3 chunks +81 lines, -12 lines 0 comments Download
M src/internet/model/ipv6-l3-protocol.h View 1 2 chunks +40 lines, -5 lines 0 comments Download
M src/internet/model/ipv6-l3-protocol.cc View 1 3 chunks +74 lines, -10 lines 0 comments Download

Messages

Total messages: 3
Tommaso Pecorella
Interface based L4 protocol demux - IPv6 only (so far). With the added methods, one ...
8 years, 6 months ago (2015-11-03 22:55:37 UTC) #1
Tom Henderson
+1 with suggested revisions (also make similar IPv4 changes, please) https://codereview.appspot.com/270630043/diff/1/src/internet/model/ipv6-l3-protocol.cc File src/internet/model/ipv6-l3-protocol.cc (right): https://codereview.appspot.com/270630043/diff/1/src/internet/model/ipv6-l3-protocol.cc#newcode716 ...
8 years, 6 months ago (2015-11-05 22:52:27 UTC) #2
Tommaso Pecorella
8 years, 6 months ago (2015-11-06 00:18:29 UTC) #3
On 2015/11/05 22:52:27, Tom Henderson wrote:
> +1 with suggested revisions (also make similar IPv4 changes, please)
> 
>
https://codereview.appspot.com/270630043/diff/1/src/internet/model/ipv6-l3-pr...
> File src/internet/model/ipv6-l3-protocol.cc (right):
> 
>
https://codereview.appspot.com/270630043/diff/1/src/internet/model/ipv6-l3-pr...
> src/internet/model/ipv6-l3-protocol.cc:716: NS_LOG_FUNCTION (this << protocol
<<
> interfaceIndex);
> suggest to check and warn or fatal error if key already exists
> 
>
https://codereview.appspot.com/270630043/diff/1/src/internet/model/ipv6-l3-pr...
> src/internet/model/ipv6-l3-protocol.cc:731: L4ListKey_t key = std::make_pair
> (protocol->GetProtocolNumber (), interfaceIndex);
> suggest to warn or fatal error if key is not found
> 
>
https://codereview.appspot.com/270630043/diff/1/src/internet/model/ipv6-l3-pr...
> File src/internet/model/ipv6-l3-protocol.h (right):
> 
>
https://codereview.appspot.com/270630043/diff/1/src/internet/model/ipv6-l3-pr...
> src/internet/model/ipv6-l3-protocol.h:116: * \param interfaceIndex interface
> index.
> suggest to add to Doxygen:
> 
> "This may be called multiple times for multiple interfaces for the same
> protocol.  To insert for all interfaces, use the separate Insert
> (Ptr<IpL4Protocol> protocol) method."

All done.I added warnings and not asserts to double protocol insertion because
it can be a legal way to override a previous protocol binding (without having to
remove the old one first).

There is only one quick in the whole patch, but I plan to add it as a
bug/enhancement: the ICMP Forward functions (used to forward ICMP errors to TCP,
UDP, etc.) are using the default protocols and not the interface specific ones.
In order to fix this, it is necessary to change the function signature. While
this is possible, so far no protocol is actually reacting to ICMP error messages
(pity). It could be relevant for TCP PMTU discovery tho.
Summarizing, i'll add this limitation in Bugzilla, with references to the
existing bugs.
Sign in to reply to this message.

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