IP Library Granted Patent US 8,233,399
Granted Patent B2
US 8,233,399 · App. 12/603,335 · Granted Jul 31, 2012

Generic packet generator and method

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 8,233,399
App. No.
12/603,335
Granted
Jul 31, 2012
Kind
B2
Abstract

There are disclosed a computing device, storage medium, and method for generating packets. The computing device may include a memory divided into a kernel space and a user space and a processor coupled to the memory. The processor may execute an application program operative in the user space and a generic packet generator operative in the kernel space. The application program may cause the computing device to generate a first stream definition including a first background data template and one or more first user defined fields. The generic packet generator may cause the computing device to generate a first plurality of transmission-ready packets, wherein each packet of the first plurality of transmission-ready packets comprises the first background data template overlaid by the one or more first user defined fields.

Claims (64)

1. A computing device to generate packets, comprising:

a memory divided into a kernel space and a user space;

a processor coupled to the memory, wherein

the processor executes an application program operative in the user space and a generic packet generator operative in the kernel space,

the application program causes the computing device to generate a first stream definition including a first background data template, a first packet frequency, and one or more first user defined fields, and

the generic packet generator causes the computing device to generate a first plurality of transmission-ready packets, wherein each packet of the first plurality of transmission-ready packets comprises the first background data template overlaid by the one or more first user defined fields and each packet includes all fields necessary to transmit the packet over the network;

a hardware timer coupled to the processor, the hardware timer generating a first series of interrupts at intervals defined by the first packet frequency; and

a physical unit coupled to the processor and to a network,

wherein the computing device provides the first plurality of transmission-ready packets to the physical unit for transmission over the network in response to the first series of interrupts from the hardware timer.

2. The computing device of claim 1 , wherein the first background data template includes fixed data common to all packets of the first plurality of transmission-ready packets.

3. The computing device of claim 2 , wherein the one or more user defined fields define data that changes between successive packets of the first plurality of transmission-ready packets.

4. The computing device of claim 3 , wherein at least one user defined field is selected from the group consisting of a random number, a counter, an IP checksum, a UDP checksum, and a value selected sequentially from a table of values.

5. The computing device of claim 1 , wherein:

the application program further causes the computing device to generate a second stream definition including a second background data template, one or more second user defined fields, and a second packet frequency different from the first packet frequency, and

the generic packet generator further causes the computing device

to generate a second plurality of transmission-ready packets, wherein each packet of the second plurality of transmission-ready packets is comprised of the second background data template overlaid by the one or more second user defined fields, and

to provide the second plurality of transmission packets to the physical unit at intervals defined by the second packet frequency in response to a second series of interrupts interleaved with the first series of interrupts from the hardware timer.

6. The computing device of claim 5 , wherein

the generic packet generator further causes the computing device to generate a time reference signal in response to a third series of interrupts interleaved with the first series of interrupts and second series of interrupts from the hardware timer.

7. The computing device of claim 1 , wherein

the first stream definition further includes a maximum packet length, a minimum packet length, and a statistical distribution between the maximum packet length and the minimum packet length, and

the generic packet generator causes the computing device to randomly set a length of each of the first plurality of transmission-ready packets as defined in the first packet stream description.

8. A non-transitory storage medium having instructions stored thereon, the instruction comprising:

an application program operative in a user space which, when executed, causes a computing device to perform actions comprising:

generating a first stream definition including a first background data template, a first packet frequency, and one or more first user defined fields; and

a generic packet generator operative in a kernel space which, when executed, causes the computing device to perform actions comprising:

generating a first plurality of transmission-ready packets, wherein each packet of the first plurality of transmission-ready packets comprises the first background data template overlaid by the one or more first user defined fields and each packet includes all fields necessary to transmit the packet over the network; and

providing the first plurality of transmission-ready packets to a physical unit for transmission over a network in response to a first series of interrupts from a hardware timer, the interrupts occurring at intervals defined by the first packet frequency.

9. The non-transitory storage medium of claim 8 , wherein the first background data template includes fixed data common to each transmission ready packet.

10. The non-transitory storage medium of claim 9 , wherein the one or more user defined fields define data that changes between successive transmission-ready packets.

11. The non-transitory storage medium of claim 10 , wherein at least one user defined field is selected from the group consisting of a random number, a counter, an IP checksum, a UDP checksum, and a value selected sequentially from a table of values.

12. The non-transitory storage medium of claim 8 , wherein

the actions performed when executing the application program further comprise:

generating a second stream definition including a second background data template, one or more second user defined fields, and a second packet frequency different from the first packet frequency; and

the actions performed when executing the generic packet generator program further comprise:

generating a second plurality of transmission-ready packets, wherein each packet of the second plurality of transmission-ready packets is comprised of the second background data template overlaid by the one or more second user defined fields, and

providing the second plurality of transmission packets to the physical unit at intervals defined by the second packet frequency in response to a second series of interrupts interleaved with the first series of interrupts from the hardware timer.

13. The non-transitory storage medium of claim 12 , wherein the actions performed when executing the generic packet generator program further comprise:

generating a time reference signal in response to a third series of interrupts interleaved with the first series of interrupts and second series of interrupts from the hardware timer.

14. The non-transitory storage medium of claim 8 , wherein

the first stream definition further includes a maximum packet length, a minimum packet length, and a statistical distribution between the maximum packet length and the minimum packet length, and

the actions performed when executing the generic packet generator further comprise:

randomly setting a length of each of the first plurality of transmission-ready packets as defined in the first packet stream description.

15. A method for generating packets using a computing device including a memory having a kernel space and a user space, the method comprising:

executing an application program operative in the user space, executing the application program comprising:

generating a first stream definition including a first background data template, a first packet frequency, and one or more first user defined fields; and

executing a generic packet generator operative in the kernel space, executing the generic packet generator comprising:

generating a first plurality of transmission-ready packets, wherein each packet of the first plurality of transmission-ready packets comprises the first background data template overlaid by the one or more first user defined fields and each packet includes all fields necessary to transmit the packet over the network; and

providing the first plurality of transmission-ready packets to a physical unit for transmission over a network in response to a first series of interrupts from a hardware timer, the interrupts occurring at intervals defined by the first packet frequency.

16. The method of claim 15 , wherein the first background data template includes fixed data common to each transmission ready packet.

17. The method of claim 16 , wherein the one or more user defined fields define data that changes between successive transmission-ready packets.

18. The method of claim 17 , wherein at least one user defined field is selected from the group consisting of a random number, a counter, an IP checksum, a UDP checksum, and a value selected sequentially from a table of values.

19. The method of claim 15 , wherein

executing the application program further comprises:

generating a second stream definition including a second background data template, one or more second user defined fields, and a second packet frequency different from the first packet frequency; and

executing the generic packet generator program further comprises:

generating a second plurality of transmission-ready packets, wherein each packet of the second plurality of transmission-ready packets is comprised of the second background data template overlaid by the one or more second user defined fields, and

providing the second plurality of transmission packets to the physical unit at intervals defined by the second packet frequency in response to a second series of interrupts interleaved with the first series of interrupts from the hardware timer.

20. The method of claim 19 , wherein executing the generic packet generator program further comprises:

generating a time reference signal in response to a third series of interrupts interleaved with the first series of interrupts and second series of interrupts from the hardware timer.

21. The method of claim 15 , wherein

the first stream definition further includes a maximum packet length, a minimum packet length, and a statistical distribution between the maximum packet length and the minimum packet length, and

executing the generic packet generator further comprises:

randomly setting a length of each of the first plurality of transmission-ready packets as defined in the first packet stream description.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: IXIA
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 044222/0695 →
RELEASE OF SECURITY INTEREST Recorded Apr 26, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: IXIA
Reel/Frame 042335/0465 →
NOTICE OF SUBSTITUTION OF ADMINISTRATIVE AGENT Recorded Feb 2, 2015
From: BANK OF AMERICA, N.A., RESIGNING ADMINISTRATIVE AGENT
To: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
Reel/Frame 034870/0598 →
SECURITY AGREEMENT Recorded Jan 25, 2013
From: IXIA
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029698/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2009
From: OLDERDISSEN, JAN; RAUHAMAA, MARKO
To: IXIA
Reel/Frame 023415/0251 →