forked from mirrors/linux
		
	 156f886cf6
			
		
	
	
		156f886cf6
		
	
	
	
	
		
			
			This file implements some common helpers to consolidate differences in features and functionality between the various XDP samples and give them a consistent look, feel, and reporting capabilities. This commit only adds support for receive statistics, which does not rely on any tracepoint, but on the XDP program installed on the device by each XDP redirect sample. Some of the key features are: * A concise output format accompanied by helpful text explaining its fields. * An elaborate output format building upon the concise one, and folding out details in case of errors and staying out of view otherwise. * Printing driver names for devices redirecting packets. * Getting mac address for interface. * Printing summarized total statistics for the entire session. * Ability to dynamically switch between concise and verbose mode, using SIGQUIT (Ctrl + \). In later patches, the support will be extended for each tracepoint with its own custom output in concise and verbose mode. Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20210821002010.845777-4-memxor@gmail.com
		
			
				
	
	
		
			17 lines
		
	
	
	
		
			295 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
	
		
			295 B
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0-only
 | |
| #ifndef _XDP_SAMPLE_SHARED_H
 | |
| #define _XDP_SAMPLE_SHARED_H
 | |
| 
 | |
| struct datarec {
 | |
| 	size_t processed;
 | |
| 	size_t dropped;
 | |
| 	size_t issue;
 | |
| 	union {
 | |
| 		size_t xdp_pass;
 | |
| 		size_t info;
 | |
| 	};
 | |
| 	size_t xdp_drop;
 | |
| 	size_t xdp_redirect;
 | |
| } __attribute__((aligned(64)));
 | |
| 
 | |
| #endif
 |