Abstract:
A method and system for tracking and managing network flows including receiving a first flow counter value for a flow of first flows and determining that the flow is an elephant flow. The method further includes obtaining flow egress port information by determining an egress port on a switch for each of the first flows, obtaining port congestion information for the switch, where the port congestion information includes port congestion data for each egress port, and selecting, based on the port congestion information and the flow egress port information, a new egress port for the flow, and sending a request to update a switch chip on the switch, where the request specifies that subsequently received packets for the flow are to be forwarded out of the new egress port.
Abstract:
An example network device includes a network interface and a control unit that receives a packet having header information. The control unit includes a forwarding structure having a plurality of entries that each refers to one of a plurality of logical interfaces, a forwarding engine configured to access the forwarding structure to select a first logical interface to which to forward the packet based on the header information, wherein the first logical interface comprises a pseudo-device interface (PDI). The control unit also includes a PDI module that tunnels the packet to an external service complex (ESC) by at least applying a set of metadata to the packet, encapsulating the packet with a header, and forwarding the packet to the ESC via the network interface, and wherein the metadata allows the ESC to determine a set of services to be applied to the packet based on the metadata.
Abstract:
A method and system for tracking and managing network flows including receiving a first flow counter value for a flow of first flows and determining that the flow is an elephant flow. The method further includes obtaining flow egress port information by determining an egress port on a switch for each of the first flows, obtaining port congestion information for the switch, where the port congestion information includes port congestion data for each egress port, and selecting, based on the port congestion information and the flow egress port information, a new egress port for the flow, and sending a request to update a switch chip on the switch, where the request specifies that subsequently received packets for the flow are to be forwarded out of the new egress port.
Abstract:
Systems and methods consistent with the present invention provide a better fragment drop heuristic that determines a per-fragment determined “remainder time” value to trigger potential drops on the whole bundle. A per-bundle drop timeout value is assumed. This value is to be configured based on differential delay considerations of the various links that constitute the bundle. The arrival time of a fragment to a reassembly algorithm triggers a remainder timer. When the reassembly algorithm instance actually processes the fragment, the “remainder time,” which is difference of a bundle drop timeout and time elapsed on the remainder timer, is used to determine whether the fragment and the other fragments of the packet should be dropped.
Abstract:
Resource utilization required for processing packets associated with multilink bundles of a router are tracked. Corrective actions can be taken to provide fair usage of the available resources by comparing actual usage to a predetermined threshold value, and taking corrective actions if that threshold is exceeded.
Abstract:
Systems and methods consistent with the present invention provide a better fragment drop heuristic that determines a per-fragment determined “remainder time” value to trigger potential drops on the whole bundle. A per-bundle drop timeout value is assumed. This value is to be configured based on differential delay considerations of the various links that constitute the bundle. The arrival time of a fragment to a reassembly algorithm triggers a remainder timer. When the reassembly algorithm instance actually processes the fragment, the “remainder time,” which is difference of a bundle drop timeout and time elapsed on the remainder timer, is used to determine whether the fragment and the other fragments of the packet should be dropped.