Interfaces and buses / Networking / Ethernet_Traffic
Block Name: Ethernet_Traffic
Code File Location: VisualSim/actor/lib/networking/avb/Network_Traffic_Gen
This is an Ethernet Traffic Generator block. A single block an support multiple concurrent traffic streams. The streams can be associated with one or more Source Nodes. The traffic can be sent out with a handshake or can start after receiving a handshake. The output simulates network traffic in a model including AVB, Ethernet and AFDX. Each block can support 64 traffic streams.
The block accepts a traffic table and uses this to generate data. If the Identifier field contains "Ethernet", all data structures after the first one are sent out without waiting for a response. If the Identifier field has any other value, the block sends a data structure, waits for a response and then starts transmitting. After this first acknowledgment, no additional packets need to be acknowledged. All traffic is sent out via the net_tg_out port. All responses and traffic destinated for this Node are sent to the net_tg_in port. The data_out port sends out all data structure that terminate at this block. This can be conencted to a plotter for latency plotting. This block will also support UDP Multicast traffic generation.
The block parameter has the Linking_Name of the Traffic Table Database block. The format of the Traffic Table is as follows:
ID Identifier Task_Source Task_Destination Mbps Task_Size Start_Time Stop_Time Protocol Type ; |
Each row of the Traffic Table is a separate stream. Also, each row can be associated with a different Source Node. This means that a model containing 100 Nodes can have a single Traffic block. All rows in the Table run independent and concurrently. The columns of the Table become the fields of the Data Structure.
ID: Sequence Number
Identifier: If the value is "Ethernet", all Data Structure are sent out without waiting for the first packet to be acknowledged. If it is not "Ethernet", then the first packet must be acknowledged before the traffic will start. The field value can be used downstream for any purpose.
Task_Source: Source Node name. This is used outside this block to send the stream to appropriate starting node.
Task_Destination: This is the terminating Node. This is used to route the packet through the destination. If this field starts with "Multicast_", then the Network_Message and Multicast fields will be added this value. The Multicast name must match a item in the Multicast List that is used by the Multicast block to handle the network routing.
Mbps: Rate of the stream
Task_Size: Data size for each packet. If you need variable size streams, you can fragment the packet on the output of this block.
Start_Time: Starting time of the stream
Stop_Time: Ending time of the stream. The last packet will be sent out at or before this time.
Protocol: UDP or TCP. For use in the Node and Network.
Type: Type of Class.
Note: additional fields can be added to the Table, as required in the model.
The data structure contains some additional fields- Task_Trace, Multicast_Flag, Task_Message, Task_Message_Type, and Task_Hop. If the Identifier is not "Ethernet", then the Task_Message will be "Talker_Advertise" and the Task_Message_Type will be "Register". These two fields are specific to AVB (Audio Video Bridging).
The net_tg_out port ccan be connected to a OUT block, which will route it to the Task_Source Node. The Node must have a IN block with the matching Task_Source name.
To illustrate the usage, look at the following Examples in the BDE.
Parameter |
Explanation |
Type |
Example |
Traffic_Table |
Linking_Name of the Database block containing the Traffic Table |
String |
"Traffic" |
Port |
Explanation |
net_tg_out |
Traffic out from this block |
net_tg_in |
Traffic input to this block |
data_out |
Traffic output for all stream terminating at this block |
Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents