IP Library Granted Patent US 9,258,273
Granted Patent B2
US 9,258,273 · App. 14/125,393 · Granted Feb 9, 2016

Duplicating packets efficiently within a network security appliance

Inventor: Sakthikumar Subramanian (San Jose, CA)
Assignee: McAfee, Inc.
H04L63/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,258,273
App. No.
14/125,393
Granted
Feb 9, 2016
Kind
B2
Abstract

A network security appliance uses a switch to switch packets between cores configured for fast path processing and slow path processing. The switch duplicates packets for delivery to the slow path processing cores, eliminating the need for the fast path processing cores to expend processor resources on packet duplication. The switch can use IEEE 802.1ad Q-in-Q VLAN tags in the packet to perform the switching and packet duplication. Slow path processing cores may also broadcast packets to other slow path processing cores via the switch.

Claims (58)

1. A non-transitory machine readable medium with instructions stored thereon, comprising instructions that when executed cause a network security appliance to:

perform in a first core fast path processing on a packet received by the network security appliance;

insert by the first core a first virtual local area network tag into the packet;

define a first virtual local area network to a switch of the network security appliance, the first virtual local area network associated with the first virtual local area network tag;

assign a first plurality of cores to the first virtual local area network associated with the first virtual local area network tag;

switch the packet from the first core to the first plurality of cores via the switch based on the first virtual local area network tag;

perform slow path processing concurrently in the first plurality of cores;

remove the first virtual local area network tag from the packet;

insert by a second core a second virtual local area network tag into the packet, wherein the second core is a member of the first plurality of cores; and

send the packet from the second core to a second plurality of cores via the switch based on the second virtual local area network tag.

2. The non-transitory machine readable medium of claim 1 , wherein the instructions stored thereon further comprise instructions that when executed cause the network security appliance to:

receive the packet by a network interface of the network security appliance;

define a second virtual local area network to the switch, the second virtual local area network associated with a second virtual local area network tag;

insert the second virtual local area network tag into the packet; and

switch the packet from the network interface to the first core via the switch based on the second virtual local area network tag.

3. The non-transitory machine readable medium of claim 2 , wherein the instructions stored thereon further comprise instructions that when executed cause the network security appliance to:

configure a switch of the network appliance to switch packets based on the first virtual local area network tag and the second virtual local area network tag.

4. The non-transitory machine readable medium of claim 1 , wherein the instructions stored thereon further comprises instructions that when executed cause the network security appliance to:

configure a switch of the network appliance to switch packets based on the first virtual local area network tag.

5. A network security appliance, comprising:

a first core;

a first plurality of cores;

a switch connected to the first core and the first plurality of cores;

a first memory connected to the first core, on which is stored instructions that when executed by the first core cause the first core to:

perform fast path processing of a packet; and

insert a first virtual local area network tag into the packet, the first virtual local area network tag identifying a first virtual local area network associated with a subplurality of the first plurality of cores;

send the packet to the switch for duplication and delivery to the first subplurality of cores; and

a second memory connected to the first plurality of cores, on which is stored instructions that when executed by the subplurality of the first plurality of cores cause the subplurality of the first plurality of cores to:

perform slow path processing of the packet concurrently;

send the packet to the switch addressed to a second subplurality of the first plurality of cores;

remove a virtual local area network tag added to the packet by the first core; and

insert a virtual local area network tag into the packet,

wherein the switch is configured to duplicate the packet received from the first core and send the duplicated packet to each of the subplurality of the first plurality of cores.

6. The network security appliance of claim 5 , wherein the switch is configured to switch packets based on a Q-in-Q virtual local area network standard.

7. The network security appliance of claim 5 , further comprising:

a network interface, connected to the first core, configured to receive the packet.

8. The network security appliance of claim 7 , wherein the network interface is connected to the first core via the switch.

9. The network security appliance of claim 8 ,

wherein the switch is configured to insert a first virtual local area network tag into the packet and switch the packet based on the first virtual local area network tag, and

wherein the first core is configured as associated with a first virtual local area network identified by the first virtual local area network tag.

10. The network security appliance of claim 5 , wherein the switch comprises a buffer memory for holding the packet while switching the packet to the subplurality of the first plurality of cores.

11. A method of processing packets in a network security appliance, comprising:

receiving a packet at a network interface;

switching the packet to a first core of the network security appliance;

performing fast path processing by the first core of the network security appliance;

determining by the first core that slow path processing should be performed by a plurality of cores of the network security appliance;

inserting by the first core a first virtual local area network tag into the packet;

sending the packet from the first core to a switch of the network security appliance;

duplicating the packet by the switch, sending each of the duplicated packets to a member of the plurality of cores for slow path processing based on the first virtual local area network tag;

performing slow path processing on the duplicated packet by the plurality of cores;

determining by a second core of the plurality of cores performing slow path processing that additional slow path processing should be performed on the packet;

inserting a second virtual local area network tag into the packet;

sending the packet from the second core to the switch;

duplicating the packet by the switch, sending the duplicated packets to a subplurality of the plurality of cores performing slow path processing based on the second virtual local area network tag; and

performing the additional slow path processing of the packet by the subplurality of the plurality of cores.

12. The method of claim 11 , further comprising:

associating the first core with a first virtual local area network; and

associating the plurality of cores with a second virtual local area network.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
Continuity (1)
Related Publication 20150101035A1 · Apr 9, 2015