Hardware copy assist for data communication switch
First Claim
Patent Images
1. In a data communication switch, a method for generating a required number of copies of a packet, comprising:
- (a) writing a packet into a plurality of addresses in a switch queue;
(b) reading the packet from the plurality of addresses;
(c) determining if additional copying is indicated from information in a table entry having header data for combining with the packet;
(d) if additional copying is indicated, resetting the read address to the first address in which the packet is written and repeating steps (b) and (c).
0 Assignments
0 Petitions
Accused Products
Abstract
A hardware copy assist for a data communication switch copies packets in a number required to meet multicasting needs. Packets are read from a switch queue and a home mark is retained for the packet at the head of the queue to facilitate multiple reads and to prevent premature overwrites. Copying decisions may be made incidental to the retrieval of outbound headers from a linked list of table entries to minimize overhead.
17 Citations
17 Claims
-
1. In a data communication switch, a method for generating a required number of copies of a packet, comprising:
-
(a) writing a packet into a plurality of addresses in a switch queue;
(b) reading the packet from the plurality of addresses;
(c) determining if additional copying is indicated from information in a table entry having header data for combining with the packet;
(d) if additional copying is indicated, resetting the read address to the first address in which the packet is written and repeating steps (b) and (c). - View Dependent Claims (2, 3)
-
-
4. In a data communication switch, a method for generating a required number of copies of a packet, comprising:
-
(a) writing a packet into a plurality of addresses of a switch queue;
(b) setting a home mark to the first address in which the packet is written;
(c) reading the packet from the plurality of addresses;
(d) determining if additional copying is indicated from information in a table entry having header data for combining with the packet;
(e) if additional copying is indicated, resetting the read address to the home mark and repeating steps (c) and (d). - View Dependent Claims (5)
-
-
6. A method for processing an inbound packet in a data communication switch, comprising:
-
(a) receiving a packet in an ingress queue, the received packet having packet identifiers and packet data;
(b) transmitting the packet identifiers to switching logic for a forwarding decision;
(c) writing the packet data into a plurality of addresses in a switch queue;
(d) consulting a table entry at an index returned from the switching logic in response to the packet identifiers;
(e) reading the packet data from the plurality of addresses;
(f) determining if additional copying is indicated from information in the consulted table entry, wherein the information in the consulted table entry includes header data for combining with the packet data and additional copying is indicated if the information includes a valid index to another table entry having header data for combining with the packet data; and
(g) if additional copying is indicated, resetting the read address to the first address in which the packet data is written and repeating steps (e) and (f). - View Dependent Claims (7)
-
-
8. In a data communication switch, a method for generating a required number of copies of a packet, comprising:
-
storing a packet in a switch queue;
obtaining a copy of the packet from the switch queue;
retrieving a first header data for the packet from a first entry of a header table;
combining the copy of the packet with the first header data;
determining if the first entry of the header table includes a valid index to a second table entry storing a second header data for the packet; and
if the entry of the header table includes a valid index to a second table entry;
obtaining a second copy of the packet; and
combining the second copy of the packet with the second header data. - View Dependent Claims (9, 10, 11)
-
-
12. A data communication switch comprising:
-
a switch queue configured to store a packet;
a header table including a first table entry storing first header data and an index to a second table entry storing second header data;
a queue control unit causing retrieval of a first copy of the packet, the queue control unit further causing retrieval of a second copy of the packet if the first table entry includes a valid index to the second table entry storing second header data; and
a packet assembly unit receiving the first copy of the packet and the second copy of the packet and combining the first copy of the packet with the first header data and the second copy of the packet with the second header data. - View Dependent Claims (13, 14, 15)
-
-
16. A data communication switch comprising:
-
means for receiving a packet having packet identifiers and packet data;
means for making a forwarding decision based on the packet identifiers;
means for writing the packet data into a plurality of addresses;
means for consulting a table entry based on an index returned by the means for making a forwarding decision;
means for reading the packet data from the plurality of addresses;
means for determining if additional copying is indicated from information in the consulted table entry, wherein the information in the consulted table entry includes header data for combining with the packet data and additional copying is indicated if the information includes a valid index to another table entry having header data for combining with the packet data; and
if additional copying is indicated, means for resetting the read address to the first address in which the packet data is written for reading the packet data again from the plurality of addresses. - View Dependent Claims (17)
-
Specification