Abstract:
A host channel adapter is configured for efficiently managing multiple queue pairs by compressing queue pairs having similar properties into queue pair tables configured for storing compressed queue pair entries having shared attributes. Hence, multiple virtual queue pairs can be created out of fewer physical queue pairs stored within a queue pair attribute database.
Abstract:
An apparatus and method of controlling the transmission of copies of a frame of data from a multiport device, such as a multiport network switch, determines which ones of the ports are designated to transmit a copy of a multicopy frame received at the switch. The switch then determines which of these designated ports are not available to transmit a copy of the frame. The copies are transmitted from those designated ports that are available to transmit a copy of the multicopy frame, while the copies are discarded for those designated ports that are not available to transmit a copy of that multicopy frame.
Abstract:
A host channel adapter is configured for efficiently managing multiple queue pairs by compressing queue pairs having similar properties into queue pair tables configured for storing compressed queue pair entries having shared attributes. Hence, multiple virtual queue pairs can be created out of fewer physical queue pairs stored within a queue pair attribute database.
Abstract:
A method and arrangement for transmitting multiple copies of a frame from a network switch in a packet switched network stores a single copy of the frame received at the switch into external memory. The frame is stored at a location in memory pointed to by a frame pointer. In queuing multiple transmissions of the stored frame in the switch, the frame pointer, and not the frame itself, is replicated and queued for transmission in the network switch.
Abstract:
An arrangement and a method of maintaining a count of the number of copies of a frame that have been transmitted from a network switch uses a cache memory to store the number of copies of a frame to be transmitted from the network switch. A queue is used to queue entries that indicate the transmission of a copy of a frame, and these queued entries are released to a buffer manager. Whenever a transmission is made of a copy of this frame, and the buffer manager examines the entry indicating this transmission after the entry leaves the queue, the buffer manager searches for a corresponding entry in the cache memory and changes the copy number (i.e., the count of the number of transmissions) of that frame in the cache memory.
Abstract:
A network switch having switch ports for full-duplex communication of data packets with respective network nodes according to Ethernet (IEEE 802.3) protocol that flexibly assigns memory access slots to access an external memory according to programmable information. A scheduler within an external memory interface assigns the memory access slots to the respective network switch ports according to a programmed sequence written into an assignment table memory from an external programmable data storage device.
Abstract:
A method and arrangement for reclaiming buffers used to store frames, following the transmission of a frame, checks to determine whether the transmission of a frame is the last copy of that frame to be transmitted. If it is the last copy, or the only copy, the buffers storing that frame are reclaimed for reuse after the contents of each buffer are transmitted. If the frame is not the last copy, or it cannot be determined whether it is the last copy, then the frame is transmitted and a count of the number of transmitted copies of that frame is decremented. Once all of the copies have been transmitted, the buffer reclaiming process is initiated.
Abstract:
A method and arrangement for maintaining a time order of entries in a memory determines a row in which the entry will be stored, the memory being logically divided into rows and columns. The columns are arranged sequentially in each row from the newest to the oldest. Once the row in which the entry will be stored is determined, the entry is stored in that row in the column (or entry location) that is the newest column. The entry that was previously in the newest column is shifted to the next older column, and the entry that was previously in the next older column is shifted to the next most older column, etc. If a row is completely filled prior to the writing of a new entry, then the entry in the oldest column is removed from the memory and the other entries shifted.
Abstract:
A host channel adapter is configured for efficiently managing multiple queue pairs by compressing queue pairs having similar properties into queue pair tables configured for storing compressed queue pair entries having shared attributes. Hence, multiple virtual queue pairs can be created out of fewer physical queue pairs stored within a queue pair attribute database.
Abstract:
A method and arrangement for queuing data in a prioritized manner have a queue with a single queue write side in which data entries are input to the queue. The queue also has a plurality of queue read sides, with each read side having a different priority level. An entry exiting from the queue write side is examined to determine the priority level of the entry, and then placed into the queue read side with the matching priority level as the entry. The queue read sides form the output of the queue, and are polled and emptied so that the higher priority queues are emptied completely before emptying lower priority queues.