36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| NAME = "Pktgen test"
 | |
| AUTHOR = "Martin Bligh <mbligh@google.com>"
 | |
| TIME = "MEDIUM"
 | |
| TEST_CATEGORY = "FUNCTIONAL"
 | |
| TEST_CLASS = "HARDWARE"
 | |
| TEST_TYPE = "CLIENT"
 | |
| DOC = """
 | |
| pktgen is a high-performance testing tool included in the Linux kernel. Being
 | |
| part of the kernel is currently best way to test the TX process of device driver
 | |
| and NIC. pktgen can also be used to generate ordinary packets to test other
 | |
| network devices. Especially of interest is the use of pktgen to test routers or
 | |
| bridges which use the Linux network stack. Because pktgen is "in-kernel", it can
 | |
| generate very high packet rates and with few systems saturate network devices as
 | |
| routers or bridges.
 | |
| """
 | |
| 
 | |
| interface='eth0'
 | |
| count=50000
 | |
| 
 | |
| # Parse comma-separated args.
 | |
| for arg in args:
 | |
|     for item in arg.split(','):
 | |
|         key, val = item.split('=')
 | |
|         if key == 'interface':
 | |
|             interface = val
 | |
|         if key == 'count':
 | |
|             count = int(val)
 | |
|         if key == 'num_iterations':
 | |
|             num_iterations = int(val)
 | |
| 
 | |
| job.run_test('pktgen', eth=interface, count=count, clone_skb=0,
 | |
|              tag='clone_skb_off', num_iterations=num_iterations)
 | |
| job.run_test('pktgen', eth=interface, count=count, clone_skb=1,
 | |
|              tag='clone_skb_on', num_iterations=num_iterations)
 | |
| 
 |