Network protocol processing for routing and bridging
First Claim
Patent Images
1. A method for routing a packet using a routing table that is cross-linked with a state table that is indexed with an address resolution table index, the packet having an Internet Protocol destination address and a media access control destination address in a data structure, the method comprising:
- determining whether a media access control destination address for the packet matches an interface of the packet;
determining whether the packet contains a routable protocol responsive to the media access control destination address matching the interface;
if the packet contains the routable protocol,checking for layer-level validity of the packet;
marking the data structure associated with the packet to indicate the layer-level validity was checked;
checking for Internet Protocol options being supported and valid; and
marking the data structure associated with the packet to indicate the Internet Protocol options were checked for support and validity; and
if the layer-level is valid and the Internet Protocol options are supported and valid,accessing the Internet Protocol destination address from the packet;
looking for the Internet Protocol destination address in the routing table;
obtaining an address resolution table index stored in association with the Internet Protocol destination address in the routing table responsive to the Internet Protocol destination address being found in the routing table, wherein the address resolution table index obtained is an index into the state table for locating an entry in the state table; and
storing in the data structure associated with the packet the address resolution table index obtained.
1 Assignment
0 Petitions
Accused Products
Abstract
Method and apparatus for routing and bridging are described. An address from a packet is obtained and used to find an index in a table. If the address is found in the table, the index stored in association with the address obtained. The index is stored in a data structure associated with the packet.
64 Citations
23 Claims
-
1. A method for routing a packet using a routing table that is cross-linked with a state table that is indexed with an address resolution table index, the packet having an Internet Protocol destination address and a media access control destination address in a data structure, the method comprising:
-
determining whether a media access control destination address for the packet matches an interface of the packet; determining whether the packet contains a routable protocol responsive to the media access control destination address matching the interface; if the packet contains the routable protocol, checking for layer-level validity of the packet; marking the data structure associated with the packet to indicate the layer-level validity was checked; checking for Internet Protocol options being supported and valid; and marking the data structure associated with the packet to indicate the Internet Protocol options were checked for support and validity; and if the layer-level is valid and the Internet Protocol options are supported and valid, accessing the Internet Protocol destination address from the packet; looking for the Internet Protocol destination address in the routing table; obtaining an address resolution table index stored in association with the Internet Protocol destination address in the routing table responsive to the Internet Protocol destination address being found in the routing table, wherein the address resolution table index obtained is an index into the state table for locating an entry in the state table; and storing in the data structure associated with the packet the address resolution table index obtained. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for routing a packet using a routing table that is cross-linked with a state table that is indexed with an address resolution table index, the packet having an Internet Protocol source address, an Internet Protocol destination address and a media access control destination address in a data structure, the method comprising:
-
determining whether the media access control destination address for the packet matches an interface of the packet; determining whether the packet is a multicast packet and whether multicast routing is invoked responsive to the media access control destination address not matching the interface; if the packet is a packet for multicasting and multicasting is invoked, accessing the Internet Protocol source address from the packet; and checking a routing table for the Internet Protocol source address; if the routing table contains the Internet Protocol source address, checking for layer-level validity of the packet; marking a data structure associated with the packet to indicate the layer-level validity was checked; checking for Internet Protocol options being supported and valid; and marking the data structure associated with the packet to indicate the Internet Protocol options were checked for support and validity; and if the layer-level is valid and the Internet Protocol options are supported and valid, accessing the Internet Protocol destination address from the packet; looking for the Internet Protocol destination address in the routing table; obtaining an address resolution table index stored in association with the Internet Protocol destination address in the routing table responsive to the Internet Protocol destination address being found in the routing table, wherein the address resolution table index obtained is an index into the state table for locating an entry in the state table; and storing in the data structure associated with the packet the address resolution table index obtained. - View Dependent Claims (12, 13, 14)
-
-
15. A method for bridging a packet using an address resolution table that is cross-linked with a state table that is indexed with an address resolution table index, the packet having a media access control destination address in a data structure, said method comprising:
-
determining whether the media access control destination address for the packet matches an interface of the packet; determining whether the packet is a multicast packet and whether multicast routing is invoked responsive to the media access control address not matching the interface; and if the packet is not a packet for multicasting or multicasting is not invoked, looking for the media access control destination address in an address resolution table; obtaining an address resolution table index stored in association with the media access control destination address in the address resolution table responsive to the media access control destination address being found in the address resolution table, wherein the address resolution table index obtained is an index into the state table for locating an entry in the state table; and storing in the data structure associated with the packet the address resolution table index obtained. - View Dependent Claims (16, 17)
-
-
18. A computer-readable storage medium containing a program which, when executed by a processor, causes execution of a method for routing a packet using a routing table that is cross-linked with a state table that is indexed with an address resolution table index, the packet having an Internet Protocol destination address and a media access control destination address in a data structure, said method comprising:
-
determining whether a media access control destination address for the packet matches an interface of the packet; determining whether the packet contains a routable protocol responsive to the media access control destination address matching the interface; if the packet contains the routable protocol, checking for layer-level validity of the packet; marking the data structure associated with the packet to indicate the layer-level validity was checked; checking for Internet Protocol options being supported and valid; and marking the data structure associated with the packet to indicate the Internet Protocol options were checked for support and validity; and if the layer-level is valid and the Internet Protocol options are supported and valid, accessing the Internet Protocol destination address from the packet; looking for the Internet Protocol destination address in the routing table; obtaining an address resolution table index stored in association with the Internet Protocol destination address in the routing table responsive to the Internet Protocol destination address being found in the routing table, wherein the address resolution table index obtained is an index into the state table for locating an entry in the state table; and storing in the data structure associated with the packet the address resolution table index obtained.
-
-
19. A computer-readable storage medium containing a program which, when executed by a processor, causes execution of a method for routing a packet using a routing table that is cross-linked with a state table that is indexed with an address resolution table index, the packet having an Internet Protocol source address, an Internet Protocol destination address and a media access control destination address in a data structure, said method comprising:
-
determining whether the media access control destination address for the packet matches an interface of the packet; determining whether the packet is a multicast packet and whether multicast routing is invoked responsive to the media access control destination address not matching the interface; if the packet is a packet for multicasting and multicasting is invoked, accessing the Internet Protocol source address from the packet; and checking a routing table for the Internet Protocol source address; if the routing table contains the Internet Protocol source address, checking for layer-level validity of the packet; marking a data structure associated with the packet to indicate the layer-level validity was checked; checking for Internet Protocol options being supported and valid; and marking the data structure associated with the packet to indicate the Internet Protocol options were checked for support and validity; and if the layer-level is valid and the Internet Protocol options are supported and valid, accessing the Internet Protocol destination address from the packet; looking for the Internet Protocol destination address in the routing table; obtaining an address resolution table index stored in association with the Internet Protocol destination address in the routing table responsive to the Internet Protocol destination address being found in the routing table, wherein the address resolution table index obtained is an index into the state table for locating an entry in the state table; and storing in the data structure associated with the packet the address resolution table index obtained.
-
-
20. A computer-readable storage medium containing a program which, when executed by a processor, causes execution of a method for bridging a packet using an address resolution table that is cross-linked with a state table that is indexed with an address resolution table index, the packet having a media access control destination address in a data structure, said method comprising:
-
determining whether the media access control destination address for the packet matches an interface of the packet; determining whether the packet is a multicast packet and whether multicast routing is invoked responsive to the media access control address not matching the interface; and if the packet is not a packet for multicasting or multicasting is not invoked, looking for the media access control destination address in an address resolution table; obtaining an address resolution table index stored in association with the media access control destination address in the address resolution table responsive to the media access control destination address being found in the address resolution table, wherein the address resolution table index obtained is an index into the state table for locating an entry in the state table; and storing in the data structure associated with the packet the address resolution table index obtained.
-
-
21. An apparatus for routing a packet using a routing table that is cross-linked with a state table that is indexed with an address resolution table index, the packet having an Internet Protocol destination address and a media access control destination address in a data structure, said apparatus comprising:
-
means for determining whether a media access control destination address for the packet matches an interface of the packet; means for determining whether the packet contains a routable protocol responsive to the media access control destination address matching the interface; responsive to the packet contains the routable protocol, means for checking for layer-level validity of the packet; means for marking the data structure associated with the packet to indicate the layer-level validity was checked; means for checking for Internet Protocol options being supported and valid; and means for marking the data structure associated with the packet to indicate the Internet Protocol options were checked for support and validity; and responsive to the layer-level is valid and the Internet Protocol options are supported and valid, means for accessing the Internet Protocol destination address from the packet; means for looking for the Internet Protocol destination address in the routing table; means for obtaining an address resolution table index stored in association with the Internet Protocol destination address in the routing table responsive to the Internet Protocol destination address being found in the routing table, wherein the address resolution table index obtained is an index into the state table for locating an entry in the state table; and means for storing in the data structure associated with the packet the address resolution table index obtained.
-
-
22. An apparatus for routing a packet using a routing table that is cross-linked with a state table that is indexed with an address resolution table index, the packet having an Internet Protocol source address, an Internet Protocol destination address and a media access control destination address in a data structure, said apparatus comprising:
-
means for determining whether the media access control destination address for the packet matches an interface of the packet; means for determining whether the packet is a multicast packet and whether multicast routing is invoked responsive to the media access control destination address not matching the interface; responsive to the packet is a packet for multicasting and multicasting is invoked, means for accessing the Internet Protocol source address from the packet; and means for checking a routing table for the Internet Protocol source address; responsive to the routing table contains the Internet Protocol source address, means for checking for layer-level validity of the packet; means for marking a data structure associated with the packet to indicate the layer-level validity was checked; means for checking for Internet Protocol options being supported and valid; and means for marking the data structure associated with the packet to indicate the Internet Protocol options were checked for support and validity; and responsive to the layer-level is valid and the Internet Protocol options are supported and valid, means for accessing the Internet Protocol destination address from the packet; means for looking for the Internet Protocol destination address in the routing table; means for obtaining an address resolution table index stored in association with the Internet Protocol destination address in the routing table responsive to the Internet Protocol destination address being found in the routing table, wherein the address resolution table index obtained is an index into the state table for locating an entry in the state table; and means for storing in the data structure associated with the packet the address resolution table index obtained.
-
-
23. An apparatus for bridging a packet using an address resolution table that is cross-linked with a state table that is indexed with an address resolution table index, the packet having a media access control destination address in a data structure, said apparatus comprising:
-
means for determining whether the media access control destination address for the packet matches an interface of the packet; means for determining whether the packet is a multicast packet and whether multicast routing is invoked responsive to the media access control address not matching the interface; and responsive to the packet is not a packet for multicasting or multicasting is not invoked, means for looking for the media access control destination address in an address resolution table; means for obtaining an address resolution table index stored in association with the media access control destination address in the address resolution table responsive to the media access control destination address being found in the address resolution table, wherein the address resolution table index obtained is an index into the state table for locating an entry in the state table; and means for storing in the data structure associated with the packet the address resolution table index obtained.
-
Specification