Please sign in to comment.
InterfaceTable: find connected network layer (NL) by NL's gates that …
…need to be called ifIn/ifOut The code committed in this patch was the solution before 2012-04-12, when it was changed to check upperLayerIn/upperLayerOut gates of the NIC module; however that's not so so good because we need to store the gate index of the gate of the *network layer*. This patch reverts to original behaviour; allows NICs not connected to a network layer; and provides better diagnistics. ASSUMPTIONS: 1. The NIC module (ifmod) may or may not be connected to a network layer module (e.g. IPv4NetworkLayer or MPLS) 2. If it *is* connected to a network layer (or a relay unit), the network layer module's gates must be called ifIn and ifOut, and NIC must be connected to identical gate indices in both vectors. 3. If the NIC module is not connected to another modules ifIn and ifOut gates, we assume that it is NOT connected to a network layer, and leave networkLayerGateIndex in InterfaceEntry unfilled. 4. The NIC may or may not connect to gates of the containing host compound module.
- Loading branch information...
Showing with 73 additions and 31 deletions.
- +9 −2 WHATSNEW
- +4 −4 src/linklayer/IMACRelayUnit.ned
- +7 −6 src/linklayer/ethernet/switch/MACRelayUnitBase.cc
- +2 −2 src/linklayer/ethernet/switch/MACRelayUnitNP.ned
- +2 −2 src/linklayer/ethernet/switch/MACRelayUnitPP.ned
- +18 −0 src/networklayer/common/ChangeLog
- +25 −9 src/networklayer/common/InterfaceTable.cc
- +2 −2 src/nodes/ethernet/EtherSwitch.ned
- +4 −4 src/nodes/wireless/AccessPoint.ned