Patent ID: 8018943

Claim:
A network packet forwarding device having 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 filter engine coupled to the packet forwarding circuitry and configured to use filter rules to control at least in part how packets are forwarded by the packet forwarding circuitry from the input ports to the output ports; 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 filter rules for the filter engine to provide for the different forwarding actions, and to automatically apply the filter rules to the filter engine so that the filter engine is 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 filter engine comprises: at least one ingress filter engine configured to provide a single forwarding action per packet and to use ingress filter rules to determine at least in part how packets are forwarded from input ports to output ports; and at least one egress filter engine configured to use egress filter rules to determine at least in part which packets received by the output ports are actually sent out by the output ports to destination devices; wherein the dynamic filter processor is configured to generate ingress and egress filters rules for the ingress and egress filter engines and to 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.