A routing system utilizes a layer 2 switch interconnecting several routers
to intelligently forward multicast packets throughout an internet
exchange carrying multicast content. The layer 2 switch performs protocol
snooping to extract a lookup key that is based on network layer protocol
information. The lookup key is uniquely formulated to support either
shared or explicit source distribution trees. The lookup key is used to
query a forwarding memory that returns an outgoing port index. The
outgoing port index points to one or more outgoing ports that are
eligible to receive the multicast packet. The outgoing ports are also
connected to the neighboring device(s) that are designated to receive the
multicast packet. The routing system also supports real time maintenance
and updating of the forwarding memory based on the periodic exchange of
control messages. The routing system is configured to support PIM routers
operating in PIM SM or PIM SSM modes. However, the routing system can
also support other multicast protocols and/or standards.