US2010272118A1PendingUtilityA1
High Speed Traffic Generator
Est. expiryOct 17, 2028(~2.3 yrs left)· nominal 20-yr term from priority
H04L 43/50
39
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
There is disclosed a method of generating a data flow and a high speed packet generator. A sequence of packets to be transmitted may be defined. Generation of each packet in the sequence may be assigned to a respective transmit engine selected from a plurality of transmit engines. The plurality of transmit engines may generate respective assigned packets in parallel. Packets generated by the plurality of transmit engines may be coherently interleaved in the defined sequence to form the data flow.
Claims
exact text as granted — not AI-modified1 . A method of generating a data flow, comprising:
defining a sequence of packets to be transmitted assigning each packet in the sequence to a respective transmit engine selected from a plurality of transmit engines the plurality of transmit engines generating respective assigned packets in parallel coherently interleaving packets generated by the plurality of transmit engines in the defined sequence to form the data flow.
2 . The method of generating a packet flow of claim 1 , further comprising:
storing definitions for a plurality of packet streams determining, from the stored definitions, the packet sequence, the packet sequence indicating the order in which packets from the plurality of packet streams are to be interleaved to form the data flow identifying a next packet in the packet sequence assigning the next packet to one of the plurality of transmit engines.
3 . The method of generating a packet flow of claim 2 , wherein assigning the next packet further comprises:
determining packet forming data for the next packet providing the packet forming data to the assigned transmit engine.
4 . The method of generating a packet flow of claim 3 , wherein generating the next packet comprises:
the assigned transmit engine generating the next packet based, at least in part, on the packet forming data.
5 . The method of generating a packet flow of claim 1 , wherein coherently interleaving further comprises:
storing the packets generated by the plurality of transmit engines in a corresponding plurality of FIFO buffers selecting packets for transmission from the plurality of FIFO buffers in accordance with the defined sequence.
6 . The method of generating a packet flow of claim 1 ,
wherein defining a sequence of packets includes setting target transmit times for at least some of the packets, and wherein coherently interleaving includes transmitting packets at the respective target transmit times.
7 . A traffic generator to transmit a data flow, comprising:
a plurality of transmit engines to generate packets in parallel a scheduler to define a sequence of packets to be transmitted and to assign generation of each packet in the sequence to a respective transmit engine selected from the plurality of transmit engines a multiplexer to coherently interleave packets generated by the plurality of transmit engines in the sequence defined by the scheduler to form the data flow.
8 . The packet generator of claim 7 , wherein
the scheduler provides packet forming data for each packet to the respective transmit engine each transmit engine generates respective assigned packets based, at least in part, on the packet forming data received from the scheduler.
9 . The packet generator of claim 8 , wherein the packet forming data for each packet includes one or more of a stream identifier, a packet length, overlay data, and payload instructions.
10 . The packet generator of claim 7 , wherein the multiplexer further comprises:
a plurality of FIFO buffers, each FIFO buffer coupled to receive packets from a corresponding one of the plurality of transmit engines a data selector to retrieve packets from the plurality of FIFO buffers in the sequence defined by the scheduler to form the data flow.
11 . The packet generator of claim 10 , wherein the multiplexer further comprises:
another FIFO buffer coupled between the scheduler and the data selector to hold data indicative of the sequence defined by the scheduler.
12 . The packet generator of claim 10 , wherein the multiplexer further comprises:
a real time clock a timestamp engine coupled between the data selector and a network interface unit to add a timestamp in accordance with the real time clock to at least some of the packets prior to transmission via the network interface unit.
13 . The packet generator of claim 7 , wherein
the multiplexer outputs the data flow at a first data rate, and the transmit engines generate packets at a second data rate lower than the first data rate.
14 . The packet generator of claim 13 , wherein
the second data rate is equal to the first data rate divided by a number of transmit engines in the plurality of transmit engines.
15 . A machine readable storage medium storing configuration data which, when used to configure a programmable hardware device, causes the programmable hardware device to be configured to include a traffic generator, comprising:
a plurality of transmit engines to generate packets a scheduler to define a sequence of packets to be transmitted and to assign generation of each packet in the sequence to a respective transmit engine selected from the plurality of transmit engines a multiplexer to coherently interleave packets generated by the plurality of transmit engines in the sequence defined by the scheduler to form a data flow.
16 . The machine readable storage medium of claim 15 , wherein
the scheduler provides packet forming data for each packet to the respective transmit engine each transmit engine generates assigned packets based, at least in part, on the packet forming data received from the scheduler.
17 . The machine readable storage medium of claim 16 , wherein the packet forming data for each packet includes one or more of a stream identifier, a packet length, overlay data, and payload instructions.
18 . The machine readable storage medium of claim 15 , wherein the multiplexer further comprises:
a plurality of FIFO buffers, each FIFO buffer coupled to receive packets from a corresponding one of the plurality of transmit engines a data selector to retrieve packets from the plurality of FIFO buffers in the sequence defined by the scheduler to form the data flow.
19 . The machine readable storage medium of claim 18 , wherein the multiplexer further comprises:
another FIFO buffer coupled between the scheduler and the data selector to hold data indicative of the packet sequence.
20 . The machine readable storage medium of claim 18 , wherein the multiplexer further comprises:
a real time clock a timestamp engine coupled between the data selector and a network interface unit to add a timestamp in accordance with the real time clock to at least some of the packets prior to transmission via the network interface unit.
21 . The machine readable storage medium of claim 15 , wherein
the multiplexer outputs the data flow at a first data rate, and the transmit engines generate packets at a second data rate lower than the first data rate.
22 . The machine readable storage medium of claim 21 , wherein
the second data rate is equal to the first data rate divided by a number of transmit engines in the plurality of transmit engines.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.