12.07.2015 Views

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

exp<strong>and</strong>addr{},allocaddr{} Class procedures for address management. exp<strong>and</strong>addr{} is now obsoleted.allocaddr{} alloc<strong>at</strong>es the next available multicast address.start-mcast{},stop-mcast{}notify-mcast{}getArbiter{}dump-routes{file-h<strong>and</strong>le}new-group{s g iif code}join-group{a g}leave-group{a g}add-mfc{s g iif oiflist}To start <strong>and</strong> stop multicast routing <strong>at</strong> th<strong>at</strong> node.notify-mcast{} signals the mrtObject <strong>at</strong> th<strong>at</strong> node to recompute multicastroutes followinga topology change or unicast route upd<strong>at</strong>e from a neighbour.retur<strong>ns</strong> a h<strong>and</strong>le to mrtObject oper<strong>at</strong>ing <strong>at</strong> th<strong>at</strong> node.to dump the multicast forwarding tables <strong>at</strong> th<strong>at</strong> node.When a multicast d<strong>at</strong>a packet is received, <strong>and</strong> the multicast classifier cannot find the slotcorresponding to th<strong>at</strong> d<strong>at</strong>a packet, it invokes Node <strong>ns</strong>tproc new-group{} to establishthe appropri<strong>at</strong>e entry. <strong>The</strong> code indic<strong>at</strong>es the reason for not finding the slot. Currentlythere are two possibilities, cache-miss <strong>and</strong> wrong-iif. This procedure notifies the arbiteri<strong>ns</strong>tance to establish the new group.An agent <strong>at</strong> a node th<strong>at</strong> joi<strong>ns</strong> a particular group invokes “node join-group ”. <strong>The</strong> node signals the mrtObject to join the particular group,<strong>and</strong> adds agent to its list of agents <strong>at</strong> th<strong>at</strong> group. It then adds agent to all replic<strong>at</strong>orsassoci<strong>at</strong>ed with group.Node i<strong>ns</strong>tproc leave-group reverses the process described earlier. It disablesthe outgoing interfaces to the receiver agents for all the replic<strong>at</strong>ors of the group, deletesthe receiver agents from the local Agents_ list; it then invokes the arbiter i<strong>ns</strong>tance’sleave-group{}.Node i<strong>ns</strong>tproc add-mfc adds a multicast forwarding cache entry for a particular〈source, group, iif〉. <strong>The</strong> mechanism is:• cre<strong>at</strong>e a new replic<strong>at</strong>or (if one does not already exist),• upd<strong>at</strong>e the replic<strong>at</strong>or_ i<strong>ns</strong>tance variable array <strong>at</strong> the node,• add all outgoing interfaces <strong>and</strong> local agents to the appropri<strong>at</strong>e replic<strong>at</strong>or,• invoke the multicast classifier’s add-rep{} to cre<strong>at</strong>e a slot for the replic<strong>at</strong>or in themulticast classifier.del-mfc{s g oiflist}disables each oif in oiflist from the replic<strong>at</strong>or for 〈s, g〉.<strong>The</strong> list of primitives accessible <strong>at</strong> the node to control its interfaces are listed below.267

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!