IP Library › Granted Patent US 10,003,677
Granted Patent B2
US 10,003,677 · App. 15/011,604 · Granted Jun 19, 2018

Network application verification at a network processor

Inventors: Hezi Rahamim (Ramat Gan, IL); Gal Biran (Kfar Saba, IL)
Assignee: NXP USA, Inc.
H04L69/22G06F11/362H04L43/50
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 10,003,677
App. No.
15/011,604
Granted
Jun 19, 2018
Kind
B2
Abstract

A network application is verified at a network processor by selecting network application functions based on a field of an ingress packet. The network application is composed of a set of network application functions, with each function carrying out a corresponding packet processing operation, such as packet parsing, statistical gathering, and the like. Each network application function can be invoked by the network processor with a corresponding command. Based on a field of an ingress packet, the network processor can select a sequence of functions to process the packet, wherein the sequence corresponds to functions of the network application or a portion thereof.

Claims (38)

1. A method comprising:

receiving a first ingress packet at a network processor;

selecting, at the network processor, a first plurality of network application functions based on a field of the first ingress packet, wherein

said selecting comprises selecting a starting network application function of a stored sequence of network application functions based on the field of the first ingress packet, and

the stored sequence of network application functions comprises a random sequence of network application functions; and

applying, at the network processor, the first plurality of network application functions to the first ingress packet to verify a first aspect of operation of a network application, wherein

said applying comprises applying the stored sequence of network application functions beginning at the starting network application function.

2. The method of claim 1 , further comprising:

receiving a second ingress packet at the network processor;

selecting, at the network processor, a second plurality of network application functions based on a field of the second ingress packet, the second plurality of network application functions different from the first plurality of network application functions; and

applying, at the network processor, the second plurality of network application functions to the second ingress packet to verify a second aspect of operation of the network application.

3. The method of claim 1 , wherein the selecting the first plurality of network application functions comprises selecting an order of the first plurality of network application functions based on the field of the first ingress packet.

4. The method of claim 1 , wherein the field of the first ingress packet comprises an address indicating an initial network application function of the stored sequence of network application functions.

5. The method of claim 1 , wherein applying the first plurality of network application functions comprises storing a plurality of results for each network application function of the first plurality of network application functions, and further comprising:

verifying the first aspect of operation of the network application based on the stored plurality of results.

6. The method of claim 5 , wherein the first plurality of network application functions comprises a first network application function and a second network application function, and wherein applying the first plurality of network application functions comprises:

accessing the stored plurality of results to dynamically pass parameters from the first network application function to the second network application function.

7. A method, comprising:

for each of a plurality of ingress packets received at a network processor:

selecting a stored sequence of a plurality of stored sequences of network application functions based on a field of the ingress packet, wherein at least one of the plurality of stored sequences is a randomly generated sequence of network application functions; and

executing the selected stored sequence at the network processor to verify operation of a network application.

8. The method of claim 7 , wherein the selecting comprises identifying a memory address based on the field of the ingress packet.

9. The method of claim 7 , further comprising:

providing results of at least one of the executed selected sequences via an output packet comprising a modification of a corresponding ingress packet.

10. A network node comprising at least one network processor configured to:

receive a first ingress packet;

select a first plurality of network application functions based on a field of the first ingress packet;

select an initial function of a stored sequence of network application functions based on the field of the first ingress packet, wherein the stored sequence of network application functions comprises a random sequence of network application functions;

apply the first plurality of network application functions to the first ingress packet to verify a first aspect of operation of a network application; and

apply the stored sequence of network application functions beginning at the initial function.

11. The network node of claim 10 , wherein the at least one network processor is to:

receive a second ingress packet;

select a second plurality of network application functions based on a field of the second ingress packet, the second plurality of network application functions different from the first plurality of network application functions; and

apply the second plurality of network application functions to the second ingress packet to verify a second aspect of operation of the network application.

12. The network node of claim 10 , wherein the at least one network processor is to select an order of the first plurality of network application functions based on the field of the first ingress packet.

13. The network node of claim 10 , wherein the field of the first ingress packet comprises an address indicating an initial function of the stored sequence of network application functions.

14. The network node of claim 10 , wherein the at least one network node is to verify the first aspect of operation of the network application based on the stored plurality of results.

15. The network node of claim 14 , wherein the plurality of network application functions comprises a first network application function and a second network application function, and wherein at least one network node is to access the stored plurality of results to dynamically pass parameters from the first network application function to the second network application function.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2021
From: NXP B.V.
To: FUTURE LINK SYSTEMS, LLC
Reel/Frame 055115/0491 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2016
From: RAHAMIM, HEZI; BIRAN, GAL
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037639/0113 →
Continuity (1)
Related Publication 20170223152A1 · Aug 3, 2017