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)
 | 
						|
 |