Patent ID: 7209976

Claim:
A method to enable routing protocol communication and transit packet forwarding between multiple virtual routers within a single physical router, said method comprising the steps of: providing a single physical router having within said router multiple virtual routers sharing a centralized data plane and a centralized switch fabric and said physical router containing a plurality of physical network interfaces, each said interface being assigned to only one said virtual router, such that within said physical router a client virtual router can communicate with multiple servers and can concurrently function as a server to multiple clients; creating a logical cut-through device; using said logical cut-through device (CT) between a first virtual router designated as client and a second virtual router designated as server to import packet forwarding table information from said server into said client: creating, allocating, and maintaining at said client a data structure for said imported packet forwarding table information such that said imported information is integrated into a single forwarding table that resides on said interfaces assigned to said client: and applying said imported packet forwarding table information at said client to recognize and forward an information packet out through an interface assigned to said server using a single packet forwarding decision in a single transit through said centralized switch fabric; creating a route at said client that contains a first prefix that refers to a network destination and that specifies forwarding information that refers to said CT; sending g a request from said client to said server requesting prefixes related to said first prefix; exporting said related prefixes and forwarding information from said server to said client; allocating and initializing at said server a tracking request structure related to said first prefix; creating and/or updating at said server a forwarding information base FIB entry related to said first prefix; associating an imported prefix entry with the FIB entry; and maintaining by said client a reference count on each imported prefix entry equal to the number of active first prefix entries related to said imported prefix: such that if an active first prefix entry is added, then said reference count is incremented for each related imported prefix entry; whereas if an active first prefix entry is deleted, then decrementing said reference count for each related imported prefix entry such that if said reference count becomes zero for an imported prefix entry, then said client deletes that imported prefix entry.