A method of replicating multicast datagrams in a network device is
disclosed. The method includes the steps of determining by a memory
management unit whether a scheduled outgoing datagram stored in a main
memory is a multicast (MC) packet. When the scheduled outgoing datagram
type is the MC datagram, the method also includes performing a lookup of
a replicate count table to determine a copy count value and writing the
copy count value to a copy count register, awaiting a ready signal from
an egress port of the network switch and sending the outgoing datagram to
the egress port from the main memory along with the copy count value. The
method also includes changing the copy count value in the copy count
register, modifying a VLAN identifier of the outgoing datagram if
necessary based on the copy count value and forwarding the outgoing
datagram from the egress port.