I want to generate my own Ethernet packet(my source and destination mac, my packet length, my VLAN tag, my traffic, and my changing payload) and send this packet to a network switch and watch the output port of a switch(layer 2 Ethernet packet) as a result. I want the software has a capability of getting a changeable string as a payload. For example, I want to generate a 10 gig Ethernet traffic with a length of 100 that these contain a counter in their payload(showing the number of a packet). My test scenario is above and I want to simulate this scenario, how can I do this ? and I want to know what is the best software for me that can simulate my scenario?