Ruled-based network traffic interception and distribution scheme
First Claim
1. A network device, comprising:
- a plurality of virtual local area networks (VLANs), wherein each of the plurality of VLANs is associated with one or more ports;
one or more processors; and
a memory coupled to the one or more processors, wherein the memory includes instructions that, when executed by the one or more processors, cause at least one processor from the one or more processors to perform operations comprising;
determining a class for a packet received at the network device, wherein the class is determined using a first attribute of the packet;
selecting a VLAN from the plurality of VLANs based on the class, wherein the selected VLAN comprises multiple groups of two or more ports;
generating, based on a second attribute of the packet, a first identification value for the packet;
accessing a data structure that comprises a plurality of second identification values, wherein each of the plurality of second identification values is associated with a respective subset of ports of the selected VLAN and wherein the plurality of second identification values are generated using a hash function;
selecting, from the data structure, a subset of ports associated with the first identification value, wherein the selected subset of ports comprises a port from each of the multiple groups of two or more ports; and
sending a copy of the packet through each port from the selected subset of ports.
4 Assignments
0 Petitions
Accused Products
Abstract
Using a hash function, an L2/L3 switch can produce an FID for a data packet. The L2/L3 switch can select, from among potentially several stored VLAN flooding tables, a particular VLAN flooding table that is associated with a particular VLAN on which the data packet is to be carried. The rows of the particular VLAN flooding table can specify different combinations of the particular VLAN'"'"'s egress ports. The L2/L3 switch can locate, in the particular VLAN flooding table, a particular row that specifies the FID. The L2/L3 switch can read, from the particular row, a specified subset of the egress ports that are associated with the particular VLAN. The L2/L3 switch can transmit copies of the data packet out each of the egress ports specified in the subset, toward analytic servers connected to those egress ports.
-
Citations
19 Claims
-
1. A network device, comprising:
-
a plurality of virtual local area networks (VLANs), wherein each of the plurality of VLANs is associated with one or more ports; one or more processors; and a memory coupled to the one or more processors, wherein the memory includes instructions that, when executed by the one or more processors, cause at least one processor from the one or more processors to perform operations comprising; determining a class for a packet received at the network device, wherein the class is determined using a first attribute of the packet; selecting a VLAN from the plurality of VLANs based on the class, wherein the selected VLAN comprises multiple groups of two or more ports; generating, based on a second attribute of the packet, a first identification value for the packet; accessing a data structure that comprises a plurality of second identification values, wherein each of the plurality of second identification values is associated with a respective subset of ports of the selected VLAN and wherein the plurality of second identification values are generated using a hash function; selecting, from the data structure, a subset of ports associated with the first identification value, wherein the selected subset of ports comprises a port from each of the multiple groups of two or more ports; and sending a copy of the packet through each port from the selected subset of ports. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method, comprising:
-
determining a class for a packet received at a network device that comprises a plurality of virtual local area networks (VLANs), wherein each of the plurality of VLANs is associated with one or more ports; selecting a VLAN from the plurality of VLANs based on the class, wherein the selected VLAN comprises multiple groups of two or more ports; generating a first identification value for the packet; accessing a data structure that comprises a plurality of second identification values, wherein each of the plurality of second identification values is associated with a respective subset of ports of the selected VLAN and wherein the plurality of second identification values are generated using a hash function; selecting, from the data structure, a subset of ports that is associated with the first identification value, wherein the selected subset of ports comprises a port from each of the multiple groups of two or more ports; and transmitting a copy of the packet through at least one port from the selected subset of ports. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable device at a network device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:
-
creating a copy of a packet received at the network device; transmitting the packet to a destination associated with the packet; determining a class for the copy of the packet, wherein the class is determined using a first attribute of the copy of the packet and wherein the network device comprises a plurality of virtual local area networks (VLANs), wherein each of the plurality of VLANs is associated with one or more ports; selecting a VLAN from the plurality of VLANs based on the class, wherein the selected VLAN comprises multiple groups of two or more ports; generating, based on a second attribute of the copy of the packet and a hash function, a first identification value for the copy of the packet; accessing a data structure that comprises a plurality of second identification values, wherein each of the plurality of second identification values is associated with a respective subset of ports of the selected VLAN and wherein the plurality of second identification values are generated using a hash function; selecting, from the data structure, a subset of ports associated with the first identification value, wherein the selected subset of ports comprises a port from each of the multiple groups of two or more ports; and transmitting the copy of the packet to one or more analytic servers through each port from the selected subset of ports. - View Dependent Claims (18, 19)
-
Specification