IP Library Granted Patent US 9,479,417
Granted Patent B2
US 9,479,417 · App. 13/965,695 · Granted Oct 25, 2016

Dual bank traffic generator

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,479,417
App. No.
13/965,695
Granted
Oct 25, 2016
Kind
B2
Abstract

There are disclosed traffic generators, methods, and computer readable media to generate packets for testing a network under test. A first parameter memory bank may be active when a first bank select data has a first value and inactive when the first bank select data has a second value. A second parameter memory bank may be inactive when the first bank select data has the first value and active when the first bank select data has the second value. One or more engines may generate packets based on parameters stored in the active one of the first and second parameter memory banks. A processor coupled to the first and second parameter memory banks may write parameter data into the inactive one of the first and second parameter memory banks.

Claims (84)

1. A traffic generator to generate packets for testing a network under test, comprising:

a first parameter memory bank, the first parameter memory bank active when a first bank select data has a first value and inactive when the first bank select data has a second value;

a second parameter memory bank, the second parameter memory bank inactive when the first bank select data has the first value and active when the first bank select data has the second value;

one or more engines to generate packets based on parameters stored in the active one of the first and second parameter memory banks; and

a processor coupled to the first and second parameter memory banks and configured to write updated parameter data into the inactive one of the first and second parameter memory banks, wherein

the one or more engines store one or more state variables in a state memory, and

at least some of the state variables are reset to respective predetermined values when the first bank select data changes between the first value and the second value.

2. The traffic generator of claim 1 , wherein the parameters stored in the active one of the first and second parameter memory banks include flags associated with at least some of the state values, each flag indicating whether or not the associated state variable is reset to a respective predetermined value when the first bank select data changes between the first value and the second value.

3. The traffic generator of claim 1 , wherein the parameters stored in the active one of the first and second parameter memory banks include flags and respective predetermined values associated with at least some of the state variables, each flag indicating whether or not the associated state variable is reset to the respective predetermined value when the first bank select data changes between the first value and the second value.

4. The traffic generator of claim 1 , wherein

the state memory is partitioned into

a first state memory bank, the first state memory bank active when a second bank select data has the first value and inactive when the second bank select data has the second value, and

a second state memory bank, the second state memory bank inactive when the second bank select data has the first value and active when the second bank select data has the second value; and

the processor is coupled to the first and second state memory banks and configured to write state variables into the inactive one of the first and second state memory banks.

5. The traffic generator of claim 1 , wherein

the traffic generator is one of a plurality of traffic generators generating traffic to the network under test, and

the first bank select data is provided to all of the plurality of traffic generators.

6. The traffic generator of claim 1 , further comprising:

a third parameter memory bank which is always active,

the one or more engines further to generate packets based on parameters stored in the third parameter memory bank.

7. The traffic generator of claim 6 , wherein the first, second, and third parameter memory banks are reconfigurable partitions of a parameter memory.

8. The traffic generator of claim 7 , further comprising:

a memory bank configuration map to store data indicating how the parameter memory is partitioned into the first, second, and third parameter memory banks.

9. A method for generating traffic to test a network under test, comprising:

selecting a first parameter memory bank to be active and a second parameter memory bank to be inactive when first bank select data has a first value and selecting the first parameter memory bank to be inactive and the second parameter memory bank to be active when first bank select data has a second value;

storing one or more state variables in a state memory;

resetting at least some of the one or more state variables to respective predetermined values when the first bank select data changes between the first value and the second value;

generating packets based on parameters stored in the active one of the first and second parameter memory banks and the one or more state variables; and

writing parameter data into the inactive one of the first and second parameter memory banks.

10. The method of claim 9 , wherein the parameters stored in the active one of the first and second parameter memory banks include flags associated with at least some of the state values, each flag indicating whether or not the associated state variable is reset to a respective predetermined value when the first bank select data changes between the first value and the second value.

11. The method of claim 9 , wherein the parameters stored in the active one of the first and second parameter memory banks include flags and respective predetermined values associated with at least some of the state variables, each flag indicating whether or not the associated state variable is reset to the respective predetermined value when the first bank select data changes between the first value and the second value.

12. The method of claim 9 , wherein

the state memory is partitioned into

a first state memory bank, the first state memory bank active when second bank select data has the first value and inactive when the second bank select data has the second value, and

a second state memory bank, the second state memory bank inactive when the second bank select data has the first value and active when the second bank select data has the second value; and

the method further comprises writing state variables into the inactive one of the first and second state memory banks.

13. The method of claim 9 , wherein

generating packets further comprises a plurality of traffic generators generating packets for transmission over the network under test, and

the method further comprises providing the same first bank select data to all of the plurality of traffic generators.

14. The method of claim 9 , further comprising:

generating packets based on parameters stored a third parameter memory bank which is always active.

15. The method of claim 14 , further comprising:

partitioning a parameter memory into the first, second, and third parameter memory banks.

16. The method of claim 15 , wherein partitioning the parameter memory further comprises:

storing, in a memory bank configuration map, data indicating how the parameter memory is partitioned into the first, second, and third parameter memory banks.

17. A computer readable storage medium storing program code which, when used to configure a one or more programmable devices, causes the programmable devices to include a traffic generator comprising:

a first parameter memory bank, the first parameter memory bank active when a first bank select data has a first value and inactive when the first bank select data has a second value;

a second parameter memory bank, the second parameter memory bank inactive when the first bank select data has the first value and active when the first bank select data has the second value;

one or more engines to generate packets based on parameters stored in the active one of the first and second parameter memory banks; and

a processor coupled to the first and second parameter memory banks and configured to write updated parameter data into the inactive one of the first and second parameter memory banks, wherein

the one or more engines store one or more state variables in a state memory, and

at least some of the state variables are reset to respective predetermined values when the first bank select data changes between the first value and the second value.

18. The computer readable storage medium of claim 17 , wherein the parameters stored in the active one of the first and second parameter memory banks include flags associated with at least some of the state values, each flag indicating whether or not the associated state variable is reset to a respective predetermined value when the first bank select data changes between the first value and the second value.

19. The computer readable storage medium of claim 17 , wherein the parameters stored in the active one of the first and second parameter memory banks include flags and respective predetermined values associated with at least some of the state variables, each flag indicating whether or not the associated state variable is reset to the respective predetermined value when the first bank select data changes between the first value and the second value.

20. The computer readable storage medium of claim 17 , wherein

the state memory is partitioned into

a first state memory bank, the first state memory bank active when a second bank select data has the first value and inactive when the second bank select data has the second value, and

a second state memory bank, the second state memory bank inactive when the second bank select data has the first value and active when the second bank select data has the second value; and

the processor is coupled to the first and second state memory banks and configured to write state variables into the inactive one of the first and second state memory banks.

21. The computer readable storage medium of claim 17 , the traffic generator further comprising:

a third parameter memory bank which is always active,

the one or more engines further to generate packets based on parameters stored in the third parameter memory bank.

22. The computer readable storage medium of claim 21 , wherein the first, second, and third parameter memory banks are reconfigurable partitions of a parameter memory.

23. The computer readable storage medium of claim 22 , the traffic generator further comprising:

a memory bank configuration map to store data indicating how the parameter memory is partitioned into the first, second, and third parameter memory banks.

24. A computer readable storage medium storing program code which, when executed by a computing device, causes the computing device to perform a method for generating traffic, comprising:

selecting a first parameter memory bank to be active and a second parameter memory bank to be inactive when first bank select data has a first value and selecting the first parameter memory bank to be inactive and the second parameter memory bank to be active when first bank select data has a second value;

storing one or more state variables in a state memory;

resetting at least some of the one or more state variables to respective predetermined values when the first bank select data changes between the first value and the second value;

generating packets based on parameters stored in the active one of the first and second parameter memory banks and the one or more state variables; and

writing parameter data into the inactive one of the first and second parameter memory banks.

25. The computer readable storage medium of claim 24 , wherein the parameters stored in the active one of the first and second parameter memory banks include flags associated with at least some of the state values, each flag indicating whether or not the associated state variable is reset to a respective predetermined value when the first bank select data changes between the first value and the second value.

26. The computer readable storage medium of claim 24 , wherein the parameters stored in the active one of the first and second parameter memory banks include flags and respective predetermined values associated with at least some of the state variables, each flag indicating whether or not the associated state variable is reset to the respective predetermined value when the first bank select data changes between the first value and the second value.

27. The computer readable storage medium of claim 24 , wherein

the state memory is partitioned into

a first state memory bank, the first state memory bank active when a second bank select data has the first value and inactive when the second bank select data has the second value, and

a second state memory bank, the second state memory bank inactive when the second bank select data has the first value and active when the second bank select data has the second value; and

the method for generating traffic further comprises writing state variables into the inactive one of the first and second state memory banks.

28. The computer readable storage medium of claim 24 , method for generating traffic further comprising:

generating packets based on parameters stored a third parameter memory bank which is always active.

29. The computer readable storage medium of claim 28 , method for generating traffic further comprising:

partitioning a parameter memory into the first, second, and third parameter memory banks.

30. The computer readable storage medium of claim 29 , wherein partitioning the parameter memory further comprises:

storing, in a memory bank configuration map, data indicating how the parameter memory is partitioned into the first, second, and third parameter memory banks.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2013
From: BERGERON, MATTHEW R.
To: IXIA
Reel/Frame 031013/0089 →