rX
[group]join-group &
sends graft messages upstream if S,G does not contain
any active outgoing slots (, no downstream receivers).
If the next hop towards the source is a LAN, icrements a
counter of receivers for a particular group for the LAN
[group]leave-group &
decrements LAN counters.
[srcID group iface]handle-cache-miss &
depending on the value of CacheMissMode calls either
handle-cache-miss-pimdm or
handle-cache-miss-dvmrp.
[srcID group iface]handle-cache-miss-pimdm &
if the packet was received on the correct iif (from the node
that is the next hop towards the source), fan out the packet
on all oifs except the oif that leads back to the
next-hop-neighbor and oifs that are LANs for which this node
is not a forwarder. Otherwise, if the interface was incorrect,
send a prune back.
[srcID group iface]handle-cache-miss-dvmrp &
fans out the packet only to nodes for which this node is a
next hop towards the source (parent).
[replicator source group iface]drop &
sends a prune message back to the previous hop.
[from source group iface]recv-prune &
resets the prune timer if the interface had been pruned
previously; otherwise, it starts the prune timer and disables
the interface; furthermore, if the outgoing interface list
becomes empty, it propagates the prune message upstream.
[from source group iface]recv-graft &
cancels any existing prune timer, andre-enables the pruned
interface. If the outgoing interface list was previously
empty, it forwards the graft upstream.
[srcID group iface]handle-wrong-iif &
This is invoked when the multicast classifier drops a packet
because it arrived on the wrong interface, and invoked
[]new-group. This routine is invoked by
[]mrtObject instproc new-group. When invoked, it sends
a prune message back to the source.
Tom Henderson
2014-12-17