WO9962232A1

Forwarding variable-length packets in a multiport switch

Abstract

A method and apparatus for forwarding variable-length packets between channel-specific packet processor (82, 84, 86 and 88) and a crossbar (60) of a multiport switch involve segmenting variable-length packets (150) into fixed-length payload segments and multiplexing the payload segments with response or request data to form fixed-length switching blocks (160). The fixed-length switching blocks are transferred to and from the crossbar over respective input and output connections in order to minimize the number of connections between the packet processors and the crossbar. The input and output connections enable the transfer of a current packet through the crossbar while supplying the crossbar with request information necessary to schedule subsequent packets through the crossbar. In a preferred embodiment of the invention, packets are timed to pass through the crossbar one after another in order to utilize the maximum bandwidth of the crossbar.

WO9962232A1, drawing sheet 1
Sheet 1 of 14

Term

No projected expiry on record.

  1. Priority and filed
  2. Published
  3. Today

20 claims: 3 independent, 17 dependent

  1. 1
    WHAT IS CLAIMED IS:1. A method for forwarding variable-length packets between channel-specific packet processors and a crossbar of a multiport switch comprising the steps of: segmenting incoming variable-length packets into finite payloads;multiplexing said payloads and request information together to form first switching blocks, wherein said request information in each said switching block includes an indication of an output channel destination of an awaiting variable-length packet that is different from the variable-length packet related to said payload with which said request information is multiplexed;forwarding said multiplexed switching blocks containing request information to said crossbar;demultiplexing said payloads from said request information such that said request information can be used within said crossbar for scheduling arbitration;generating response information from said request information, wherein said response information indicates whether or not a particular awaiting variable-length packet can be forwarded to said crossbar;multiplexing said payloads and said response information together to form second switching blocks;and forwarding said multiplexed second switching blocks containing response information to a designated packet processor.
  2. 8
    A multiport switch having a multichannel switch fabric for switching variable-length packets comprising:means for supplying a crossbar with a combination of a payload and an unrelated request from a packet processing unit over a first data connection;and means for supplying said packet processing unit with a combination of said payload and an unrelated response from said crossbar over a second data connection.
  3. 16
    A method for controlling the flow of variable-length packets through a multichannel switch fabric of a multiport switch wherein said multichannel switch fabric includes channel-specific packet processing units and a crossbar, wherein said crossbar includes a data path multiplexer and a scheduler, comprising the steps of:segmenting a first incoming variable-length packet into fixed- length payloads;multiplexing header information with at least one of said fixed- length payloads to create a first fixed-length switching block, wherein said header information includes a request header that is related to a second incoming variable-length packet, said request header indicating at least one destination output channel of said second variable-length packet;forwarding said first fixed-length switching block via a switch channel to said crossbar of said multiport switch;demultiplexing said fixed-length payload from said request header;forwarding said fixed-length payload to said data path multiplexer of said crossbar;and forwarding said request header to said scheduler of said crossbar;generating first response information from said request header that is related to said second variable-length packet, wherein said response information indicates whether or not said second variable-length packet can be forwarded through said crossbar;multiplexing said fixed-length payload from said first fixed-length switching block with second response information that is unrelated to said first incoming variable-length packet to create a second fixed-length switching block;forwarding said second fixed-length switching block to a packet processor of said multiport switch;multiplexing said first response information related to said second variable-length packet with a second fixed-length payload that is unrelated to said second variable-length packet to create a third fixed-length switching block;and forwarding said third fixed-length switching block to said switch channel from which said first switching block was forwarded.