Superset packet forwarding for overlapping filters and related systems and methods
First Claim
1. A network packet forwarding device having superset packet forwarding for automatic filter overlap processing, comprising:
- one or more input ports configured to receive packets from one or more source devices;
a plurality of output ports configured to send packets to two or more destination devices;
packet forwarding circuitry coupled between the input ports and the output ports and configured to forward packets from the input ports to the output ports;
at least one ingress filter engine coupled to the packet forwarding circuitry and configured to use ingress filter rules to control at least in part how packets are forwarded from the input ports to the output ports, the ingress filter engine being configured to provide a single forwarding action per packet;
at least one egress filter engine coupled to the packet forwarding circuitry and configured to use egress filter rules to control at least in part how packets are sent by the output ports to destination devices;
a filter interface configured to allow a user to define a plurality of filters representing how packets are desired to be forwarded from input ports to output ports; and
a dynamic filter processor configured to analyze the user-defined filters, to automatically identify filters having different forwarding actions for packets from a single input port as overlapping filters, to automatically generate the ingress filter rules so that packets matching ingress filter rules for an overlapping filter are forwarded to all output ports associated with any other overlapping filter, to automatically generate the egress filter rules, and to automatically apply the ingress and egress filter rules to the ingress and egress filter engines so that the ingress and egress filter engines are configured to cause packets from the single input port to be forwarded according to the different forwarding actions provided by the overlapping filters;
wherein the ingress and egress filter engines are configured to utilize value/mask pairs to define ingress and egress filter rules, each value/mask pair representing ternary digits configured to determine packet matches for a filter rule; and
wherein the dynamic filter processor is configured to automatically decompose overlapping filters into value/mask pairs to generate ingress and egress filter rules for the overlapping filters.
6 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed that allow for improved management and control of packet forwarding in network systems. Network devices and tool optimizers and a related systems and methods are disclosed for improved packet forwarding between input ports and output ports. The input ports and output ports are configured to be connected to source devices and destination devices, for example, network sources and destination tools in a network monitoring environment. The network devices and tool optimizers disclosed can use superset packet forwarding, such that ingress filter engines are configured with ingress filter rules so as to forward a superset of packets to output ports associated with overlapping filters. Egress filter engines are configured with egress filter rules to then determine which of the superset packets are actually sent out the output ports.
132 Citations
24 Claims
-
1. A network packet forwarding device having superset packet forwarding for automatic filter overlap processing, comprising:
-
one or more input ports configured to receive packets from one or more source devices; a plurality of output ports configured to send packets to two or more destination devices; packet forwarding circuitry coupled between the input ports and the output ports and configured to forward packets from the input ports to the output ports; at least one ingress filter engine coupled to the packet forwarding circuitry and configured to use ingress filter rules to control at least in part how packets are forwarded from the input ports to the output ports, the ingress filter engine being configured to provide a single forwarding action per packet; at least one egress filter engine coupled to the packet forwarding circuitry and configured to use egress filter rules to control at least in part how packets are sent by the output ports to destination devices; a filter interface configured to allow a user to define a plurality of filters representing how packets are desired to be forwarded from input ports to output ports; and a dynamic filter processor configured to analyze the user-defined filters, to automatically identify filters having different forwarding actions for packets from a single input port as overlapping filters, to automatically generate the ingress filter rules so that packets matching ingress filter rules for an overlapping filter are forwarded to all output ports associated with any other overlapping filter, to automatically generate the egress filter rules, and to automatically apply the ingress and egress filter rules to the ingress and egress filter engines so that the ingress and egress filter engines are configured to cause packets from the single input port to be forwarded according to the different forwarding actions provided by the overlapping filters; wherein the ingress and egress filter engines are configured to utilize value/mask pairs to define ingress and egress filter rules, each value/mask pair representing ternary digits configured to determine packet matches for a filter rule; and wherein the dynamic filter processor is configured to automatically decompose overlapping filters into value/mask pairs to generate ingress and egress filter rules for the overlapping filters. - View Dependent Claims (2, 3, 4, 7, 8, 9, 10, 12, 13)
-
-
5. A network packet forwarding device having superset packet forwarding for automatic filter overlap processing, comprising:
-
one or more input ports configured to receive packets from one or more source devices; a plurality of output ports configured to send packets to two or more destination devices; packet forwarding circuitry coupled between the input ports and the output ports and configured to forward packets from the input ports to the output ports; at least one ingress filter engine coupled to the packet forwarding circuitry and configured to use ingress filter rules to control at least in part how packets are forwarded from the input ports to the output ports, the ingress filter engine being configured to provide a single forwarding action per packet; at least one egress filter engine coupled to the packet forwarding circuitry and configured to use egress filter rules to control at least in part how packets are sent by the output ports to destination devices; a filter interface configured to allow a user to define a plurality of filters representing how packets are desired to be forwarded from input ports to output ports; and a dynamic filter processor configured to analyze the user-defined filters, to automatically identify filters having different forwarding actions for packets from a single input port as overlapping filters, to automatically generate the ingress filter rules so that packets matching ingress filter rules for an overlapping filter are forwarded to all output ports associated with any other overlapping filter, to automatically generate the egress filter rules, and to automatically apply the ingress and egress filter rules to the ingress and egress filter engines so that the ingress and egress filter engines are configured to cause packets from the single input port to be forwarded according to the different forwarding actions provided by the overlapping filters; wherein the at least one ingress filter engine comprises a plurality of ingress filter engines, each ingress filter engine having a processing priority with respect to each of the other ingress filter engines; and wherein the dynamic filter processor is configured to apply the ingress filter rules to the plurality of ingress filter engines such that any one ingress filter engine will have non-overlapping ingress filter rules within it. - View Dependent Claims (6)
-
-
11. A network packet forwarding device having superset packet forwarding for automatic filter overlap processing, comprising:
-
one or more input ports configured to receive packets from one or more source devices; a plurality of output ports configured to send packets to two or more destination devices; packet forwarding circuitry coupled between the input ports and the output ports and configured to forward packets from the input ports to the output ports; at least one ingress filter engine coupled to the packet forwarding circuitry and configured to use ingress filter rules to control at least in part how packets are forwarded from the input ports to the output ports, the ingress filter engine being configured to provide a single forwarding action per packet; at least one egress filter engine coupled to the packet forwarding circuitry and configured to use egress filter rules to control at least in part how packets are sent by the output ports to destination devices; a filter interface configured to allow a user to define a plurality of filters representing how packets are desired to be forwarded from input ports to output ports; and a dynamic filter processor configured to analyze the user-defined filters, to automatically identify filters having different forwarding actions for packets from a single input port as overlapping filters, to automatically generate the ingress filter rules so that packets matching ingress filter rules for an overlapping filter are forwarded to all output ports associated with any other overlapping filter, to automatically generate the egress filter rules, and to automatically apply the ingress and egress filter rules to the ingress and egress filter engines so that the ingress and egress filter engines are configured to cause packets from the single input port to be forwarded according to the different forwarding actions provided by the overlapping filters; wherein the dynamic filter processor is further configured to determine projected match rates for ingress filter rules and to place an ingress filter rule with a lower projected match rate at a higher processing priority than an ingress filter rule with a higher projected match rate.
-
-
14. A method for superset packet forwarding for automatic filter overlap processing, comprising:
-
providing one or more input ports configured to receive packets from one or more source devices; providing a plurality of output ports configured to send packets to two or more destination devices; forwarding packets between the input ports and the output ports using packet forwarding circuitry; using at least one ingress filter engine to control at least in part how packets are forwarded from the input ports to the output ports based upon ingress filter rules, the ingress filter engine being configured to provide a single forwarding action per packet; using at least one egress filter engine to control at least in part how packets are sent by the output ports to destination devices based upon egress filter rules; allowing a user to define through an interface a plurality of filters representing how packets are desired to be forwarded from input ports to output ports; analyzing the user-defined filters; automatically identifying filters having different forwarding actions for packets from a single input port as overlapping filters; automatically generating the ingress filter rules so that packets matching ingress filter rules for an overlapping filter are forwarded to all output ports associated with any other overlapping filter; automatically generating the egress filter rules; automatically applying the ingress and egress filter rules to the ingress and egress filter engines so that the ingress and egress filter engines are configured to cause packets from the single input port to be forwarded according to the different forwarding actions provided by the overlapping filters; and forwarding packets according to the user-defined filters; wherein value/mask pairs are utilized to define ingress and egress filter rules, each value/mask pair representing ternary digits configured to determine packet matches for a filter rule; and wherein overlapping filters are automatically decomposed into value/mask pairs to generate ingress and egress filter rules for the overlapping filters. - View Dependent Claims (15, 16, 17, 20, 21, 22, 24)
-
-
18. A method for superset packet forwarding for automatic filter overlap processing, comprising:
-
providing one or more input ports configured to receive packets from one or more source devices; providing a plurality of output ports configured to send packets to two or more destination devices; forwarding packets between the input ports and the output ports using packet forwarding circuitry; using at least one ingress filter engine to control at least in part how packets are forwarded from the input ports to the output ports based upon ingress filter rules, the ingress filter engine being configured to provide a single forwarding action per packet; using at least one egress filter engine to control at least in part how packets are sent by the output ports to destination devices based upon egress filter rules; allowing a user to define through an interface a plurality of filters representing how packets are desired to be forwarded from input ports to output ports; analyzing the user-defined filters; automatically identifying filters having different forwarding actions for packets from a single input port as overlapping filters; automatically generating the ingress filter rules so that packets matching ingress filter rules for an overlapping filter are forwarded to all output ports associated with any other overlapping filter; automatically generating the egress filter rules; automatically applying the ingress and egress filter rules to the ingress and egress filter engines so that the ingress and egress filter engines are configured to cause packets from the single input port to be forwarded according to the different forwarding actions provided by the overlapping filters; and forwarding packets according to the user-defined filters; wherein the using at least one ingress filter engine comprises using a plurality of ingress filter engines, each ingress filter engine having a processing priority with respect to each of the other ingress filter engines; and further comprising applying the ingress filter rules to the plurality of ingress filter engines such that any one ingress filter engine will have non-overlapping ingress filter rules within it. - View Dependent Claims (19)
-
-
23. A method for superset packet forwarding for automatic filter overlap processing, comprising:
-
providing one or more input ports configured to receive packets from one or more source devices; providing a plurality of output ports configured to send packets to two or more destination devices; forwarding packets between the input ports and the output ports using packet forwarding circuitry; using at least one ingress filter engine to control at least in part how packets are forwarded from the input ports to the output ports based upon ingress filter rules, the ingress filter engine being configured to provide a single forwarding action per packet; using at least one egress filter engine to control at least in part how packets are sent by the output ports to destination devices based upon egress filter rules; allowing a user to define through an interface a plurality of filters representing how packets are desired to be forwarded from input ports to output ports; analyzing the user-defined filters; automatically identifying filters having different forwarding actions for packets from a single input port as overlapping filters; automatically generating the ingress filter rules so that packets matching ingress filter rules for an overlapping filter are forwarded to all output ports associated with any other overlapping filter; automatically generating the egress filter rules; automatically applying the ingress and egress filter rules to the ingress and egress filter engines so that the ingress and egress filter engines are configured to cause packets from the single input port to be forwarded according to the different forwarding actions provided by the overlapping filters; and forwarding packets according to the user-defined filters; and further comprising determining projected match rates for ingress filter rules and placing an ingress filter rule with a lower projected match rate at a higher processing priority than an ingress filter rule with a higher projected match rate.
-
Specification