IP Library Granted Patent US 8,537,839
Granted Patent B2
US 8,537,839 · App. 12/871,711 · Granted Sep 17, 2013

Traffic generator with dynamic MPLS label assignment

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,537,839
App. No.
12/871,711
Granted
Sep 17, 2013
Kind
B2
Abstract

There is disclosed a port unit and methods for testing a network. The port unit may include a traffic generator, traffic receiver, and a port processor. The traffic generator may include a memory that stores data defining a plurality of packet streams. The port processor may store label tracking data associating a plurality of label condition sets with one or more respective locations within the traffic generator memory. When a control packet associating a MPLS label with a specific label condition set is received via the traffic receiver, the port processor may store the MPLS label in one or more traffic generator memory locations associated with the specific label condition set in accordance with the stored label tracking data.

Claims (74)

1. A port unit, comprising:

a label map memory to hold multiprotocol label switching (MPLS) labels;

a stream data memory that holds stream forming data defining a plurality of packet streams for transmission over a network under test, the stream forming data for at least one packet stream including one or more pointers to respective locations within the label map memory;

a traffic generator for generating the plurality of packet streams in accordance with the respective stream forming data, the traffic generator configured to

retrieve one or more MPLS labels from the label map memory in accordance with the one or more pointers, and

incorporate the one or more retrieved MPLS labels into the at least one packet stream;

a traffic receiver for receiving packets from the network under test; and

a port processor coupled to the traffic generator and the traffic receiver, the port processor comprising a first memory that stores label tracking data including data to uniquely identify each of a plurality of label conditions sets and data associating each label condition set with one or more respective memory locations within the label map memory,

wherein, when a control packet associating an MPLS label with a specific label condition set is received via the traffic receiver, the port processor performs actions including:

extracting the specific label condition set and the associated MPLS label from the received control packet;

retrieving, from the stored label tracking data, addresses for one or more label map memory locations associated with the specific label condition set; and

storing the MPLS label in label map memory locations defined by the one or more retrieved addresses.

2. The port unit of claim 1 , wherein the actions performed further comprise one or more of storing the MPLS label within the first memory and communicating the MPLS label to a test administrator external to the port unit.

3. The port unit of claim 1 , wherein each control packet associating an MPLS label with a specific label condition set conforms to a protocol selected from Label Distribution Protocol, Constraint-based Label Distribution Protocol, Border Gateway Protocol, Resource Reservation Protocol, and Resource Reservation Protocol—Traffic Extension.

4. The port unit of claim 3 , wherein the actions of extracting, retrieving, and storing the MPLS label comprise executing separate daemons for each protocol used to associate MPLS labels.

5. A method for generating traffic, comprising:

storing, in a stream data memory, stream forming data defining a plurality of packet streams for transmission over a network under test, the stream data memory including one or more pointers to respective memory locations in a label map memory reserved for storing multiprotocol label switching (MPLS) labels;

storing, in a first memory, label tracking data including data uniquely defining a plurality of label conditions sets and data associating each label condition set with one or more respective reserved memory locations within the label map memory;

receiving a control packet associating an MPLS label to a specific label condition set;

extracting the specific label condition set and the associated MPLS label from the received control packet;

retrieving, from the stored label tracking data, addresses for one or more label map memory locations associated with the specific label condition set;

storing the MPLS label in label map memory locations defined by the one or more retrieved addresses; and

generating packet streams in accordance with the stored stream forming data.

6. The method for generating traffic of claim 5 , further comprising one or more of storing the MPLS label within the first memory and communicating the MPLS label to a test administrator external to the port unit.

7. The method for generating traffic of claim 5 , wherein each control packet associating an MPLS label and a specific label condition set conforms to a protocol selected from Label Distribution Protocol, Constraint-based Label Distribution Protocol, Border Gateway Protocol, Resource Reservation Protocol, and Resource Reservation Protocol—Traffic Extension.

8. The method of testing a network of claim 5 , further comprising:

while generating packet streams, receiving a control packet that changes the MPLS label associated with at least one of the label condition sets; and

storing the changed MPLS label without stopping generating packets.

9. The method for generating traffic of claim 7 , wherein the actions of extracting, retrieving, and storing the MPLS label comprise executing separate daemons for each protocol used to associate MPLS labels.

10. A method for testing a network under test, comprising:

storing stream forming data defining a plurality of packet streams for transmission over a network under test, the stream forming data for at least one packet stream including one or more locations reserved to receive multiprotocol label switching (MPLS) labels;

storing label tracking data including data uniquely defining each of a plurality of label condition sets and data associating each label condition set with one or more respective reserved locations within the stored stream forming data;

receiving control packets from the network under test, each control packet associating; one or more MPLS labels to respective label condition sets from the plurality of label condition sets;

extracting the specific label condition set and the associated MPLS label from the received control packet;

retrieving, from the stored label tracking data, addresses for one or more label map memory locations associated with the specific label condition set;

storing the MPLS label at one or more reserved locations within the stored stream forming data associated with the respective label condition set in accordance with the stored label tracking data; and

generating the plurality of packet streams in accordance with the stored stream forming data and transmitting the generated packet stream to the network under test.

11. The method of testing a network of claim 10 , further comprising:

while generating packet streams, receiving a control packet that changes the MPLS label associated with at least one of the label condition sets; and

storing the changed MPLS label without stopping generating packets.

12. The method for generating traffic of claim 10 , wherein each control packet associating an MPLS label and a specific label condition set conforms to a protocol selected from Label Distribution Protocol, Constraint-based Label Distribution Protocol, Border Gateway Protocol, Resource Reservation Protocol, and Resource Reservation Protocol—Traffic Extension.

13. The method for generating traffic of claim 12 , wherein the actions of extracting, retrieving, and storing the MPLS label comprise executing separate daemons for each protocol used to associate MPLS labels.

14. A computer readable non-transitory storage medium storing program instructions which, when executed, cause a processor to perform actions comprising:

storing, in a stream data memory, stream forming data defining a plurality of packet streams for transmission over a network under test, the stream data memory including one or more pointers to respective memory locations in a label map memory reserved for storing multiprotocol label switching (MPLS) labels;

storing, in a first memory, label tracking data including data uniquely defining a plurality of label conditions sets and data associating each label condition set with one or more respective reserved memory locations within the label map memory;

receiving a control packet associating an MPLS label to a specific label condition set;

extracting the specific label condition set and the associated MPLS label from the received control packet;

retrieving, from the stored label tracking data, addresses for one or more label map memory locations associated with the specific label condition set;

storing the MPLS label in label map memory locations defined by the one or more retrieved addresses; and

generating packet streams in accordance with the stored stream forming data.

15. The computer readable non-transitory storage medium of claim 14 , wherein each control packet associating a MPLS label to a specific label condition set conforms to a protocol selected from Label Distribution Protocol, Constraint-based Label Distribution Protocol, Border Gateway Protocol, Resource Reservation Protocol, and Resource Reservation Protocol—Traffic Extension.

16. The computer readable non-transitory storage medium of claim 15 , the actions of extracting, retrieving, and storing the MPLS label comprise executing separate daemons for each protocol used to associate MPLS labels.

17. The computer readable non-transitory storage medium of claim 15 , the actions of extracting, retrieving, and storing the MPLS label comprise executing separate daemons for each protocol used to associate MPLS labels.

18. A port unit, comprising:

a stream data memory that holds stream forming data defining a plurality of packet streams for transmission over a network under test, the stream forming data for at least one packet stream including one or more locations reserved to receive Multi-Protocol Label Switching (MPLS) labels;

a traffic generator for generating the plurality of packet streams in accordance with the respective stream forming data;

a traffic receiver for receiving packets from the network under test; and

a port processor coupled to the traffic generator and the traffic receiver, the port processor comprising a first memory that stores label tracking data including data uniquely defining each of a plurality of label condition sets and data associating each label condition set with one or more respective reserved memory locations within the stream data memory,

wherein, when a control packet associating an MPLS label with a specific label condition set is received via the traffic receiver, the port processor performs actions including:

extracting the specific label condition set and the associated MPLS label from the received control packet;

retrieving, from the stored label tracking data, addresses for one or more reserved stream data memory locations associated with the specific label condition set; and

storing the MPLS label in the reserved stream data memory locations defined by the one or more retrieved addresses.

19. The port unit of claim 18 , wherein the actions performed further comprise one or more of storing the MPLS label within the first memory and communicating the MPLS label to a test administrator external to the port unit.

20. The port unit of claim 18 , wherein each control packet associating an MPLS label with a specific label condition set conforms to a protocol selected from Label Distribution Protocol, Constraint-based Label Distribution Protocol, Border Gateway Protocol, Resource Reservation Protocol, and Resource Reservation Protocol—Traffic Extension.

21. The port unit of claim 20 , wherein the actions of extracting, retrieving, and storing the MPLS label comprise executing separate daemons for each protocol used to associate MPLS labels.

22. A computer readable non-transitory storage medium storing program instructions which, when executed, cause a processor to perform actions comprising:

storing stream forming data defining a plurality of packet streams for transmission over a network under test, the stream forming data for at least one packet stream including one or more locations reserved to receive multiprotocol label switching (MPLS) labels;

storing label tracking data including data uniquely defining each of a plurality of label condition sets and data associating each label condition set with one or more respective reserved locations within the stored stream forming data;

receiving control packets from the network under test, each control packet associating; one or more MPLS labels to respective label condition sets from the plurality of label condition sets;

extracting the specific label condition set and the associated MPLS label from the received control packet;

retrieving, from the stored label tracking data, addresses for one or more label map memory locations associated with the specific label condition set;

storing the MPLS label at one or more reserved locations within the stored stream forming data associated with the respective label condition set in accordance with the stored label tracking data; and

generating the plurality of packet streams in accordance with the stored stream forming data and transmitting the generated packet stream to the network under test.

23. The computer readable non-transitory storage medium of claim 22 , wherein each control packet associating a MPLS label to a specific label condition set conforms to a protocol selected from Label Distribution Protocol, Constraint-based Label Distribution Protocol, Border Gateway Protocol, Resource Reservation Protocol, and Resource Reservation Protocol—Traffic Extension.

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 Aug 30, 2010
From: GINTIS, NOAH; SRIVASTAVA, ALOK; ALSTON, VICTOR
To: IXIA
Reel/Frame 024913/0345 →