Method and apparatus for finding a match entry using receive port number embedded in the port vector
First Claim
Patent Images
1. A multiport switch configured for controlling communication of data frames, comprising:
- a plurality of ports for receiving and transmitting the data frames;
an address table for storing address information including source addresses and port vectors associated with the data frames; and
an internal decision making engine, coupled to the plurality of ports, accessing the address table and configured to learn the source addresses of the data frames and to store corresponding port vectors, each of the port vectors identifying, in a learning mode, one of the ports that received the data frame and, in a forwarding mode, identifying which of the ports are to transmit the data frame, wherein the address table comprises a plurality of table entries, each of the entries having a format comprising;
a static bit for preventing deletion of the table entries;
a hit bit for aging the entries;
an address field indicating a source address of the data frames;
a virtual local area network (VLAN) field; and
a port vector field identifying the ports to which each received data frame should be forwarded for transmission from the multiport switch, the port vector field having embedded therein a port receive number that indicates the one port that received said each data frame.
5 Assignments
0 Petitions
Accused Products
Abstract
A network switch configured for switching data packets across multiple ports uses an address table to generated frame forwarding information. The switch receives frame information including a source address and destination address along with a virtual local area network (VLAN) ID, if applicable. A decision-making engine searches a network address table to “learn” Medium Access Control (MAC) addresses without having to store receive port numbers by embedding the receive port number in the stored port vector fields.
-
Citations
15 Claims
-
1. A multiport switch configured for controlling communication of data frames, comprising:
-
a plurality of ports for receiving and transmitting the data frames;
an address table for storing address information including source addresses and port vectors associated with the data frames; and
an internal decision making engine, coupled to the plurality of ports, accessing the address table and configured to learn the source addresses of the data frames and to store corresponding port vectors, each of the port vectors identifying, in a learning mode, one of the ports that received the data frame and, in a forwarding mode, identifying which of the ports are to transmit the data frame, wherein the address table comprises a plurality of table entries, each of the entries having a format comprising;
a static bit for preventing deletion of the table entries;
a hit bit for aging the entries;
an address field indicating a source address of the data frames;
a virtual local area network (VLAN) field; and
a port vector field identifying the ports to which each received data frame should be forwarded for transmission from the multiport switch, the port vector field having embedded therein a port receive number that indicates the one port that received said each data frame. - View Dependent Claims (2, 3, 4)
-
-
5. A multiport switch configured for controlling communication of data frames, comprising:
-
a plurality of ports for receiving and transmitting the data frames;
an address table for storing address information including source addresses and port vectors associated with the data frames; and
an internal decision making engine, coupled to the plurality of ports, accessing the address table and configured to learn the source addresses of the data frames and to store corresponding port vectors, each of the port vectors identifying, in a learning mode, one of the ports that received the data frame and, in a forwarding mode, identifying which of the ports are to transmit the data frame, wherein the address table comprises a plurality of table entries, each of the entries having a format comprising;
a static bit for preventing deletion of the table entries;
a hit bit for aging the entries;
an address field indicating a source address of the data frames;
a virtual local area network (VLAN) field; and
a port vector field representing an embedded port receive number that indicates the one port that received the data frame, the internal decision making engine is configured to learn the source addresses of the plurality of data frames by;
accessing a frame header associated with a received one of the data frames;
comparing the frame header having an address field and a VLAN field with the corresponding fields of the table entries to determine a match or a non-match;
creating a new one of the table entries, setting a hit bit of the new table entry, and forwarding the corresponding frame header to one of the ports that is designated as a management port based upon the non-match of the address field and the non-match of the VLAN field;
decoding, in response to the match of the address field and the match of the VLAN field, a receive port number from the port vector field of each of the table entries and determining whether the decoded receive port number is in a same trunk as a receive port number of the frame header, wherein the internal decision making engine sets the hit bit based upon the determination that the decoded receive port number is in a same trunk as the receive port number of the frame header; and
determining, in response to the match of the address field and the match of the VLAN field and the finding that the decoded receive port number is not in the same trunk as the receive port number of the frame header, whether the table entry has its static bit field set, wherein the internal decision making engine overwrites the table entry with the frame header information, sets a corresponding hit bit, and forwards the frame header to the management port based upon a non-setting of the static bit field; and
the internal decision making engine sets the corresponding hit bit and forwards the frame header to the management port based upon the match of the corresponding address field, the match of the corresponding VLAN field, the determination that the corresponding decoded receive port number is not in the same trunk as the receive port number of the frame header, and the setting of the static bit field.
-
-
6. A method of learning source addresses of data frames received by a multiport switch comprising:
-
receiving a frame header associated with one of the data frames, the frame header comprising a source address;
assigning a virtual local area network (VLAN) identifier to the received data frames; and
learning via an internal decision making engine the source addresses of the data frames by manipulating an address table having a plurality of table entries and creating corresponding port vectors, each of the port vectors indicating the port that received the data frame, wherein the step of learning updates the address table, each of the table entries having a format comprising;
a static bit for preventing deletion of the table entries;
a hit bit for aging the entries;
an address field indicating a source address of the data frames;
a virtual local area network (VLAN) field; and
a port vector field identifying the ports to which each received data frame should be forwarded for transmission from the multiport switch, the port vector field having embedded therein a port receive number that indicates the one port that received said each data frame. - View Dependent Claims (7, 8, 9)
-
-
10. A method of learning source addresses of data frames received by a multiport switch comprising:
-
receiving a frame header associated with one of the data frames, the frame header comprising a source address;
assigning a virtual local area network (VLAN) identifier to the received data frames; and
learning via an internal decision making engine the source addresses of the data frames by manipulating an address table having a plurality of table entries and creating corresponding port vectors, each of the port vectors indicating the port that received the data frame, wherein the step of learning updates the address table, each of the table entries having a format comprising;
a static bit for preventing deletion of the table entries;
a hit bit for aging the entries;
an address field indicating a source address of the data frames;
a virtual local area network (VLAN) field; and
a port vector field representing an embedded port receive number that indicates the one port that received the data frame, and the step of learning comprises;
comparing the frame header having an address field and a VLAN field with the corresponding fields of the table entries to determine a match or a non-match;
creating a new one of the table entries, setting a hit bit of the new table entry, and forwarding the corresponding frame header to one of the ports that is designated as a management port based upon the non-match of the address field and the non-match of the VLAN field;
decoding, in response to the match of the address field and the match of the VLAN field, a receive port number from the port vector field of each of the table entries and determining whether the decoded receive port number is in a same trunk as a receive port number of the frame header, wherein the internal decision making engine sets the hit bit based upon the determination that the decoded receive port number is in a same trunk as the receive port number of the frame header;
determining, in response to the match of the address field and the match of the VLAN field and the finding that the decoded receive port number is not in the same trunk as the receive port number of the frame header, whether the table entry has its static bit field set, wherein the internal decision making engine overwrites the table entry with the frame header information, sets a corresponding hit bit, and forwards the frame header to the management port based upon a non-setting of the static bit field; and
setting, in response to the match of the address field and the match of the VLAN field and the finding that the decoded receive port number is not in the same trunk as the receive port number of the frame header and a setting of the static bit field, the corresponding hit bit and forwarding the frame header to the management port based upon the match of the corresponding address field, the match of the corresponding VLAN field, the determination that the corresponding decoded receive port number is not in the same trunk as the receive port number of the frame header, and the setting of the static bit field.
-
-
11. A multiport switch configured for controlling communication of data frames, comprising:
-
a plurality of ports for receiving and transmitting the data frames; and
an internal decision making engine coupled to the plurality of ports comprising;
an internal rules checker controller configured to learn the source addresses of the data frames and to store corresponding port vectors, each of the port vectors indicating, in a learning mode, the port that received the data frame and, in a forwarding mode, indicating which of the ports are to transmit the data frame; and
an address table for storing address information including source addresses and the port vectors, wherein the address table comprises a plurality of table entries, each of the entries has a format comprising;
a static bit for preventing deletion of the table entries;
a hit bit for aging the entries;
an address field indicating a source address of the data frames;
a virtual local area network (VLAN) field; and
a port vector field identifying the ports to which each received data frame should be forwarded for transmission from the multiport switch, the port vector field having embedded therein a port receive number that indicates the one port that received said each data frame. - View Dependent Claims (12, 13, 14)
-
-
15. A multiport switch configured for controlling communication of data frames, comprising:
-
a plurality of ports for receiving and transmitting the data frames; and
an internal decision making engine coupled to the plurality of ports comprising;
an internal rules checker controller configured to learn the source addresses of the data frames and to store corresponding port vectors, each of the port vectors indicating, in a learning mode, the port that received the data frame and, in a forwarding mode, indicating which of the ports are to transmit the data frame; and
an address table for storing address information including source addresses and the port vectors, wherein the address table comprises a plurality of table entries, each of the entries has a format comprising;
a static bit for preventing deletion of the table entries;
a hit bit for aging the entries;
an address field indicating a source address of the data frames;
a virtual local area network (VLAN) field; and
a port vector field having an embedded port receive number that indicates the one port corresponding to the data frames, the internal decision making engine is configured to learn the source addresses of the plurality of data frames by;
accessing a frame header associated with a received one of the data frames;
comparing the frame header having an address field and a VLAN field with the corresponding fields of the table entries to determine a match or a non-match;
creating a new one of the table entries, setting a hit bit of the new table entry, and forwarding the corresponding frame header to one of the ports that is designated as a management port based upon the non-match of the address field and the non-match of the VLAN field;
decoding, in response to the match of the address field and the match of the VLAN field, a receive port number from the port vector field of each of the table entries and determining whether the decoded receive port number is in a same trunk as a receive port number of the frame header, wherein the internal decision making engine sets the hit bit based upon the determination that the decoded receive port number is in a same trunk as the receive port number of the frame header; and
determining, in response to the match of the address field and the match of the VLAN field and the finding that the decoded receive port number is not in the same trunk as the receive port number of the frame header, whether the table entry has its static bit field set, wherein the internal decision making engine overwrites the table entry with the frame header information, sets a corresponding hit bit, and forwards the frame header to the management port based upon a non-setting of the static bit field, and the internal decision making engine sets the corresponding hit bit and forwards the frame header to the management port based upon the match of the corresponding address field and the match of the corresponding VLAN field, and the determination that the corresponding decoded receive port number is not in the same trunk as the receive port number of the frame header, and the setting of the static bit field.
-
Specification