Method of providing virtual router functionality
First Claim
1. A method, performed in, by or for a networking device, of presenting different virtual routers to different end users, classes of service, or packets comprising the steps of:
- receiving an incoming packet having a VLAN field and at least one additional packet field;
forming a key from the VLAN field and the at least one additional packet field;
mapping the key into a virtual router identifier using a two-step indirection mapping process, comprising a first step and a second step, the virtual router identifier identifying a particular virtual router configuration from amongst a plurality of possible virtual router configurations, each of which is characterized by a routing table, for use in routing packets at OSI layer three or higher, selected from a plurality of possible routing tables;
the first step of the two-step indirection mapping process comprising accessing a table having a plurality of entries, each having a content value and an index value, and locating a matching entry having a content value that matches the key;
the second step of the two-step indirection mapping process comprising mapping the index value of the matched entry into the virtual router identifier by using the index value to identify an entry in an associated data store element containing or including the virtual router identifier;
configuring the device to have the particular configuration identified by the virtual router identifier by selecting the routing table that characterizes the particular configuration identified by the virtual router identifier for use in routing the packet at OSI layer three or higher; and
routing the packet at OSI layer three or higher using the selected routing table that characterizes the particular configuration identified by the virtual router identifier,wherein the number of possible virtual routers is increased by mapping many different key values into the same virtual router identifier through appropriate settings of the index values.
8 Assignments
0 Petitions
Accused Products
Abstract
A method of presenting different virtual routers to different end users, classes of service, or packets is provided. An incoming packet is received having a VLAN field and at least one additional field. A key is formed from the VLAN field and at least one other packet field, and mapped into a virtual router identifier (VRID) using an indirection mapping process. The VRID identifies a particular virtual router configuration from a plurality of possible virtual router configurations. A networking device is configured to have the particular virtual router configuration identified by the VRID, and the packet is then forwarded by the configured device.
116 Citations
27 Claims
-
1. A method, performed in, by or for a networking device, of presenting different virtual routers to different end users, classes of service, or packets comprising the steps of:
-
receiving an incoming packet having a VLAN field and at least one additional packet field; forming a key from the VLAN field and the at least one additional packet field; mapping the key into a virtual router identifier using a two-step indirection mapping process, comprising a first step and a second step, the virtual router identifier identifying a particular virtual router configuration from amongst a plurality of possible virtual router configurations, each of which is characterized by a routing table, for use in routing packets at OSI layer three or higher, selected from a plurality of possible routing tables; the first step of the two-step indirection mapping process comprising accessing a table having a plurality of entries, each having a content value and an index value, and locating a matching entry having a content value that matches the key; the second step of the two-step indirection mapping process comprising mapping the index value of the matched entry into the virtual router identifier by using the index value to identify an entry in an associated data store element containing or including the virtual router identifier; configuring the device to have the particular configuration identified by the virtual router identifier by selecting the routing table that characterizes the particular configuration identified by the virtual router identifier for use in routing the packet at OSI layer three or higher; and routing the packet at OSI layer three or higher using the selected routing table that characterizes the particular configuration identified by the virtual router identifier, wherein the number of possible virtual routers is increased by mapping many different key values into the same virtual router identifier through appropriate settings of the index values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 15)
-
-
10. A method, performed in, by or for a networking device, of presenting different virtual routers to different end users, classes of service, or packets comprising the steps of:
-
receiving an incoming packet having a VLAN field and at least one additional packet field; forming a key from the VLAN field and the at least one additional packet field; masking the key using a key type determined responsive to one or more packet fields; mapping the masked key into a virtual router identifier using a two-step indirection mapping process, comprising a first step and a second step, the virtual router identifier identifying a particular virtual router configuration from amongst a plurality of possible virtual router configurations, each of which is characterized by a routing table, for use in routing packets at OSI layer three or higher, selected from a plurality of possible routing tables; the first step of the two-step indirection mapping process comprising accessing a table having a plurality of entries, each having a content value and an index value, and locating a matching entry having a content value that matches the key; the second step of the two-step indirection mapping process comprising mapping the index value of the matched entry into the virtual router identifier by using the index value to identify an entry in an associated data store element containing or including the virtual router identifier; configuring the device to have the particular configuration identified by the virtual router identifier by selecting the routing table that characterizes the particular configuration identified by the virtual router identifier for use in routing the packet at OSI layer three or higher; and routing the packet at OSI layer three or higher using the selected routing table that characterizes the particular configuration identified by the virtual router identifier, wherein the routing table characterizing the particular configuration identified by the virtual router identifier is implicitly selected by determining, responsive to the virtual router identifier, a starting address of a sequence of commands that are executed by a packet processor to route the packet. - View Dependent Claims (14, 16)
-
-
11. A method, performed in, by or for a networking device, of presenting different virtual routers to different end users, classes of service, or packets comprising the steps of:
-
receiving an incoming packet having a VLAN field and at least one additional packet field; forming a key from the VLAN field and at least one additional packet field; masking the key using a key type determined responsive to the ingress port field; mapping the masked key into a virtual router identifier using a two-step indirection mapping process, comprising a first step and a second step, the virtual router identifier identifying a particular virtual router configuration from amongst a plurality of possible virtual router configurations, each of which is characterized by a routing table, for use in routing packets at OSI layer three or higher, selected from a plurality of possible routing tables; the first step of the two-step indirection mapping process comprising accessing a table having a plurality of entries, each having a content value and an index value, and locating a matching entry having a content value that matches the key; the second step of the two-step indirection mapping process comprising mapping the index value of the matched entry into the virtual router identifier by using the index value to identify an entry in an associated data store element containing or including the virtual router identifier; configuring the device to have the particular configuration identified by the virtual router identifier by selecting the routing table that characterizes the particular configuration identified by the virtual router identifier for use in routing the packet at OSI layer three or higher; and routing the packet at OSI layer three or higher using the selected routing table that characterizes the particular configuration identified by the virtual router identifier, wherein the key type is determined by inputting an ingress port field of the packet to a lookup table, and wherein the number of possible virtual routers is increased by mapping many different key values into the same virtual router identifier through appropriate settings of the index values.
-
-
17. A system, in or associated with a networking device, of presenting different virtual routers to different end users, classes of service, or packets comprising:
-
first logic for receiving an incoming packet having a VLAN field and at least one additional packet field; second logic forming a key from the VLAN field and the at least one additional packet field; means for mapping the key into a virtual router identifier using a two-step indirection mapping process, comprising a first step and a second step, the virtual router identifier identifying a particular virtual router configuration from amongst a plurality of possible virtual router configurations, each of which is characterized by a routing table, for use in routing packets at OSI layer three or higher, selected from a plurality of possible routing tables; the first step of the two-step indirection mapping process comprising accessing a table having a plurality of entries, each having a content value and an index value, and locating a matching entry having a content value that matches the key; the second step of the two-step indirection mapping process comprising mapping the index value of the matched entry into the virtual router identifier by using the index value to identify an entry in an associated data store element containing or including the virtual router identifier; and one or more packet processors for (1) configuring the device to have the particular configuration identified by the virtual router identifier by selecting the routing table that characterizes the particular configuration identified by the virtual router identifier for use in routing the packet at OSI layer three or higher; and
(2) routing the packet at OSI layer three or higher using the selected routing table that characterizes the particular configuration identified by the virtual router identifier,wherein the key is masked using a key type, the key type is determined by inputting an ingress port field of the packet to a lookup table, and wherein the number of possible virtual routers is increased by mapping many different key values into the same virtual router identifier through appropriate settings of the index values. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 26, 27)
-
-
25. The system of 24 wherein the key is masked by wildcarding one or more fields of the key responsive to key type.
Specification