Technique for forwarding multi-cast data packets
AssigneeMaple Optical Systems, Inc.
InventorsEd Ku, Piyush Kothary, Ramesh Yarlagadda, Sreenivas Kottapalli, Carl Gyllenhammer
Life of this patent
Estimating the term…
Abstract
A technique for forwarding multi-cast data packets in a communication network. Multi-cast packets are broadcast to every output port of the switch. The packet is thus buffered in each port. Then, all of the output ports, save those that are appropriate output ports for the packet, drop the packet. Accordingly, the output ports that did not drop the packet forward the packet to the network. A control packet that follows the packet may then instruct the ports regarding which ports are to drop the packet and which ports are to forward the packet. This technique has an advantage of efficiently handling multi-cast packets.
Claims26
A method of forwarding data packets in a multi-port switch having input ports for receiving data packets to be forwarded by the switch and output ports for forwarding the data packets, comprising steps of:
- receiving a data packet by an input port;
- passing copies of the data packet to each of a plurality of output ports including at least one output port that is not an appropriate output port for forwarding the packet;
- forming one or more masks for the packet, each mask being a binary value having a first logic value in each bit position that corresponds to appropriate output port for forwarding the packet and a second logic value in remaining bit positions;
- and
- forwarding the data packet by each appropriate output port indicated by the one or more masks.
A method of forwarding data packets in a multi-port switch having input ports for receiving data packets to be forwarded by the switch and output ports for forwarding the data packets, comprising steps of:
- receiving a data packet by an input port;
- passing copies of the data packet to each of a plurality of output ports including at least one output port that is not an appropriate output port for forwarding the packet;
- and
- determining whether the data packet is multi-cast or uni-cast and when the packet is uni-cast, forming a uni-cast mask for the packet, the uni-cast mask being a binary value having first logic value in a bit position that corresponds to an appropriate output port for forwarding the packet and a second logic value in remaining bit positions and when the packet is multi-cast, forming a plurality of multi-cast masks for the packet, each multi-cast mask being a binary value having the first logic value in a bit position that corresponds to an appropriate output port for forwarding the packet.
A method of forwarding data packets in a multi-port switch having input ports for receiving data packets to be forwarded by the switch and output ports for forwarding the data packets, comprising steps of:
- receiving a data packet by an input port;
- passing copies of the data packet to each of a plurality of output ports;
- forming one or more masks for the packet, each mask being a binary value having a first logic value in one or more bit positions that correspond to appropriate output ports for forwarding the packet and a second logic value in the remaining bit positions;
- determining an appropriate format of the data packet for each of the appropriate output ports;
- formatting the data packet in accordance with each of the appropriate formats thereby forming a plurality of formatted multi-cast packets;
- forwarding the formatted multi-cast packets;
- and
- dropping the copy of the data packet by each output port that is not an appropriate output port for forwarding the data packet after said passing.
A method of forwarding data packets in a multi-port switch having input ports for receiving data packets to be forwarded by the switch and output ports for forwarding the data packets, comprising steps of:
- receiving a data packet by an input port;
- forming a first mask when the packet is multi-cast, the first mask being a binary value having a first logic value in all bit positions;
- passing copies of the data packet to each output port indicated by the first mask, including at least one output port that is not an appropriate output port for forwarding the packet;
- forming one or more multi-cast masks for the packet, each multi-cast mask being a binary value having a first logic value in each bit position that corresponds to appropriate output port for forwarding the packet and a second logic value in remaining bit positions;
- and
- forwarding the data packet by each appropriate output port indicated by the one or more multi-cast masks.
The method according to 21, further comprising determining whether the packet is uni-cast or multi-cast, and when the packet is uni-cast, forming a uni-cast mask, the uni-cast mask being a binary value having a first logic value each bit position that corresponds to appropriate output port for forwarding the packet.
Dependencies are inferred from the claim text.