Patent ID: 8111690
Filing Date: 2012-02-07
Classification: H04L

Abstract:
1. A method comprising: establishing, by flow learning software running on a processor of a processing element of a plurality of processing elements of a virtual router-based network device, a flow data structure within a memory of the processing element, the flow data structure including (i) information identifying a plurality of current packet flows associated with a plurality of virtual routers running within the processing element and (ii) corresponding forwarding state information for each of the plurality of current packet flows, wherein each of the plurality of virtual routers comprise an instance of software, executing within a processor of the processing element, that emulates functionality of an individual physical router and to which at least a subset of physical hardware resources of the processing element are partitioned; receiving, by a packet forwarding engine of the processing element, an incoming packet; determining, by the packet forwarding engine, whether the incoming packet is associated with any of the plurality of current packet flows by accessing the flow data structure based on a header associated with the incoming packet; if the incoming packet is associated with a current packet flow of the plurality of current packet flows, then otherwise, if the incoming packet is not associated with any of the plurality of current packet flows, then providing information regarding the incoming packet to the flow learning software on the processor to allow the flow data structure to be updated to include information identifying a flow with which the incoming packet is associated within the plurality of current packet flows.