Independently sizable memory pages for a plurality of connection ID types in a network switch
First Claim
1. A method for selecting a destination address from a table for use in forwarding a data unit over a communication link from an output module of a network device, wherein said network device comprises a plurality of input modules for receiving data units, a plurality of output modules for forwarding data units and a switch fabric for selectively forwarding data units received at respective ones of said input modules to at least one of said output modules, and wherein each of said input and output modules has at least one input port and one output port, comprising the steps of:
- receiving a data unit at one of said output modules having a modified header portion and a payload portion, said modified header portion comprising;
a first field comprising a plurality of bits for identifying the data unit as being of one connection identifier type out of a plurality of possible connection identifier types; and
a second field comprising a connection identifier for associating the respective data unit with one connection out of a plurality of possible connections for said connection identifier type defined by said first field;
in a first selecting step, selecting one of a plurality of tables in response to said first field, wherein at least some of said tables contain at least one entry comprising a destination address associated with said connection identifier for the respective connection identifier type specified by said first field;
in a second selecting step, selecting one of said at least one entry to obtain a destination address by utilizing said connection identifier within said header portion as an index into said table selected in said first selecting step;
modifying said modified data unit header to form an outgoing data unit header having an outgoing data unit header format;
inserting said destination address into said data unit header having said outgoing data unit header format;
transmitting said data unit comprising said data unit header having said outgoing data unit header format and said payload information out of said network device over said communication link.
8 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are disclosed for selectively accessing and independently sizing connection identification tables within a network switch. Upon receipt of a data unit, such as an asynchronous transfer mode cell at an input port of an Input Output Module, a plurality of selection bits are inserted into the cell header which are used to select one of a plurality of connection identifiers. The VPI/VCI addresses are mapped into a connection identifier and the connection identifier is also inserted within the respective cell header. The connection identifier may comprise an unicast connection identifier, a multicast connection identifier, or a redundant unicast identifier. The unicast, multicast and redundant identifiers are either stored in separate tables at call setup and the tables are independently selectable via use of the selection bits stored within the cell header. Alternatively, the selection bits are employed to specify a register which points to the first address for the respective type of identifiers. Thus, identifiers of a particular connection type are accessible via a base address plus an offset address. In the described manner, tables or portions of tables containing connection identifiers may be flexibly and independently sized.
107 Citations
27 Claims
-
1. A method for selecting a destination address from a table for use in forwarding a data unit over a communication link from an output module of a network device, wherein said network device comprises a plurality of input modules for receiving data units, a plurality of output modules for forwarding data units and a switch fabric for selectively forwarding data units received at respective ones of said input modules to at least one of said output modules, and wherein each of said input and output modules has at least one input port and one output port, comprising the steps of:
-
receiving a data unit at one of said output modules having a modified header portion and a payload portion, said modified header portion comprising; a first field comprising a plurality of bits for identifying the data unit as being of one connection identifier type out of a plurality of possible connection identifier types; and a second field comprising a connection identifier for associating the respective data unit with one connection out of a plurality of possible connections for said connection identifier type defined by said first field; in a first selecting step, selecting one of a plurality of tables in response to said first field, wherein at least some of said tables contain at least one entry comprising a destination address associated with said connection identifier for the respective connection identifier type specified by said first field; in a second selecting step, selecting one of said at least one entry to obtain a destination address by utilizing said connection identifier within said header portion as an index into said table selected in said first selecting step; modifying said modified data unit header to form an outgoing data unit header having an outgoing data unit header format; inserting said destination address into said data unit header having said outgoing data unit header format; transmitting said data unit comprising said data unit header having said outgoing data unit header format and said payload information out of said network device over said communication link. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for selecting a destination address from a table for use in forwarding a data unit over a communication link from an output module of a network device, wherein said network device comprises a plurality of input modules for receiving data units, a plurality of output modules for forwarding data units and a switch fabric for selectively forwarding data units received at respective ones of said input modules to at least one of said output modules, wherein each of said input modules has at least one input port and each of said output modules has at least one output port, said method comprising the steps of:
-
receiving a data unit associated with a connection identifier at one input port of one of said plurality of input modules of said network device, wherein said data unit has a first data unit format and said data unit comprises a data unit header and payload information; modifying said data unit header to form a modified data unit header which includes a first field defining said received data unit as being of one connection identifier type of a plurality of connection identifier types and a second field containing said connection identifier; forwarding said modified data unit header and said payload information through said switch fabric to at least one of a plurality of output modules; selecting one output table out of a plurality of tables based upon the contents of said first field; obtaining an output destination address from the selected one of said plurality of tables using said connection identifier contained within said second field as an index into said selected table; inserting said destination address obtained from said selected table into an outbound data unit header; and transmitting said outbound data unit header and said payload information in said first data unit format from said network device over a communication link for receipt by another network device. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for selectively forwarding data units from a network device comprising a plurality of input modules, a plurality of output modules, and a switch fabric for selectively forwarding data units received from said input modules to selected ones of said output modules, comprising the steps of:
-
receiving a data unit at one input module of said network switch; identifying said received data unit as a data unit of at least a first type corresponding to a unicast data unit type, a second type corresponding to a multicast data unit type, or a third type corresponding to a redundant data unit type; in the event said data unit comprises a data unit of said third type, forwarding said data unit from said input module through said switch fabric to at least two output modules of said network device; identifying one of said two output modules as the active output module and the other ones of said at least two output modules as the inactive module for purposes of forwarding said data unit from said network switch; transmitting said data unit only from the output module of said network device which is identified as the active output module. - View Dependent Claims (26, 27)
-
Specification