Method of managing and using multiple virtual private networks in a router with a single routing table
First Claim
Patent Images
1. A method comprising:
- providing a router with a route table for routing incoming packets to multiple virtual private networks (VPNs);
generator to maintain a global table, and a forwarding engine to perform table lookups, the performing of the table lookups in the global table using a key, the key representing an index pointing into the global table, the key generated by combining a virtual private network identification (VPN ID) of a packet and a portion of the packet; and
maintaining a plurality of table entries in the global table by using the key as a pointer to one of the table entries.
19 Assignments
0 Petitions
Accused Products
Abstract
A method of maintaining multiple routing tables within a global table of a network router including the steps of providing the router with a route table generator to maintain the global table, and a forwarding engine to perform table lookups, the performing of table lookups in one of the multiple routing tables of the global table using a key, the key representing an index into the one of said multiple routing tables within said global table, the key created by combining a virtual private network identification (VPN ID) and an address prefix, and maintaining a plurality of table entries in the global table by using the key as a pointer to one of said table entries.
134 Citations
13 Claims
-
1. A method comprising:
-
providing a router with a route table for routing incoming packets to multiple virtual private networks (VPNs);
generator to maintain a global table, and a forwarding engine to perform table lookups, the performing of the table lookups in the global table using a key, the key representing an index pointing into the global table, the key generated by combining a virtual private network identification (VPN ID) of a packet and a portion of the packet; and
maintaining a plurality of table entries in the global table by using the key as a pointer to one of the table entries. - View Dependent Claims (2, 3)
-
-
4. A method for routing a packet in a virtual router servicing multiple private networks comprising:
-
receiving a packet on an input port of a virtual router;
identifying a virtual private network identification (VPN ID) of the packet;
identifying a portion of the packet;
generating a key that points into a global table of entries, the key combining the portion of the packet and the VPN ID;
performing a search within the global table of entries by using the key as an offset into a specific location of the global table to determine a best matching prefix (BMP); and
routing the packet to an output port of the virtual router in accordance with the results of performing the search.
-
-
5. A method comprising:
-
maintaining a plurality of entries in a global routing table supporting multiple virtual private networks (VPNs), each of the entries using an access key for access, the access key being a combination of a VPN identification (ID) and a prefix;
receiving a plurality of packets into a router;
identifying a VPN ID of each of the packets;
identifying a portion of a destination address of each of the packets;
combining the VPN ID and the portion of the destination address to produce a key;
performing a search using the key as an index into the global routing table; and
routing each of the packets in accordance with the search results. - View Dependent Claims (6, 7, 8)
left shifting the VPN ID; and
performing a mathematical operation on the shifted VPN ID and the portion of the destination address.
-
-
9. A method comprising:
-
in a network, receiving a packet in a routing system servicing a plurality of virtual private networks (VPNs);
generating a key from a VPN identification (VPN ID) of the received packet; and
a portion of the received packet; and
determining an entry in a global routing table having port addresses of next hops for said plurality of VPNs using the key. - View Dependent Claims (10, 11, 12)
-
-
13. A method comprising
receiving a packet on an input port of a router; - supporting a plurality of virtual private networks (VPNs);
generating a key that points into a global table of entries representing addresses for said plurality of VPNs, the key combining a portion of the packet and a virtual private network identification (VPNs) VPN ID;
determining a match of the key against a location in the global table; and
sending the packet to an output port of the router corresponding to the match.
- supporting a plurality of virtual private networks (VPNs);
Specification