US2003063609A1PendingUtilityA1

Hardware copy assist for data communication switch

34
Assignee: ALCATEL INTERNETWORKING INCPriority: Jul 30, 1998Filed: Nov 12, 2002Published: Apr 3, 2003
Est. expiryJul 30, 2018(expired)· nominal 20-yr term from priority
H04L 49/351H04L 12/1886H04L 49/3018H04L 49/201
34
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
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).    
     
     
         2 . The method for generating required copies of a packet according to  claim 1 , wherein the determining step comprises: 
 (i) consulting the table entry; and    (ii) learning if the information in the consulted table entry has a valid index to another table entry having header data for combining with the packet.    
     
     
         3 . The method of  claim 1 , wherein if additional copying is not indicated, advancing the read address to a first-written address of a next packet for copying from the switch queue.  
     
     
         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).    
     
     
         5 . The method of  claim 4  further comprising: 
 if additional copying is not indicated, advancing the home mark to a first-written address of a next packet for copying from the switch queue.  
 
     
     
         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).    
     
     
         7 . The method of  claim 6 , wherein if additional copying is not indicated, advancing the read address to a first-written address of a next packet for copying from the switch queue.  
     
     
         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.  
   
     
     
         9 . The method of  claim 8 , wherein the obtaining of the second copy of the packet comprises resetting a read address to a first address in which the packet is written in the switch queue.  
     
     
         10 . The method of  claim 8  further comprising setting a mark to a first address in which the packet is written in the switch queue, wherein the obtaining a second copy of the packet comprises resetting a read address to the mark.  
     
     
         11 . The method of  claim 10 , wherein if the first entry of the header table does not include a valid index to a second table entry, advancing the mark to a first-written address of a next packet for copying from the switch queue.  
     
     
         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.    
     
     
         13 . The switch of  claim 12 , wherein the queue control unit obtains the second copy of the packet by resetting a read address to a first address in which the packet is written in the switch queue.  
     
     
         14 . The switch of  claim 12 , wherein the queue control unit further sets a mark to a first address in which the packet is written in the switch queue and obtains the second copy of the packet by resetting a read address to the mark.  
     
     
         15 . The switch of  claim 14 , wherein if the first table entry does not include a valid index to the second table entry, the queue control unit advances the mark to a first-written address of a next packet for copying from the switch queue.  
     
     
         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.    
     
     
         17 . The switch of  claim 16 , further comprising: 
 if additional copying is not indicated, means for advancing the read address to a first-written address of a next packet for copying the next packet.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.