A few words about interfaces. Multicast implementation in ns assumes duplex links i.e. if there is a simplex link from node 1 to node 2, there must be a reverse simplex link from node 2 to node 1. To be able to tell from which link a packet was received, multicast simulator configures links with an interface labeller at the end of each link, which labels packets with a particular and unique label (id). Thus, ``incoming interface'' is referred to this label and is a number greater or equal to zero. Incoming interface value can be negative (-1) for a special case when the packet was sent by a local to the given node agent.
In contrast, an ``outgoing interface'' refers to an object handler, usually a head of a link which can be installed at a replicator. This destinction is important: incoming interface is a numeric label to a packet, while outgoing interface is a handler to an object that is able to receive packets, e.g. head of a link.
Tom Henderson 2014-12-17