|  |  | @ -82,17 +82,19 @@ fn cpumap_chain() { | 
			
		
	
		
		
			
				
					
					|  |  |  |     xdp.load().unwrap(); |  |  |  |     xdp.load().unwrap(); | 
			
		
	
		
		
			
				
					
					|  |  |  |     xdp.attach("lo", XdpFlags::default()).unwrap(); |  |  |  |     xdp.attach("lo", XdpFlags::default()).unwrap(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     const PAYLOAD: &str = "hello cpumap"; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     let sock = UdpSocket::bind("127.0.0.1:1777").unwrap(); |  |  |  |     let sock = UdpSocket::bind("127.0.0.1:1777").unwrap(); | 
			
		
	
		
		
			
				
					
					|  |  |  |     sock.set_read_timeout(Some(Duration::from_millis(1))) |  |  |  |     sock.set_read_timeout(Some(Duration::from_millis(1))) | 
			
		
	
		
		
			
				
					
					|  |  |  |         .unwrap(); |  |  |  |         .unwrap(); | 
			
		
	
		
		
			
				
					
					|  |  |  |     sock.send_to(b"hello cpumap", "127.0.0.1:1777").unwrap(); |  |  |  |     sock.send_to(PAYLOAD.as_bytes(), "127.0.0.1:1777").unwrap(); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     // Read back the packet to ensure it wenth through the entire network stack, including our two
 |  |  |  |     // Read back the packet to ensure it went through the entire network stack, including our two
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     // probes.
 |  |  |  |     // probes.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     let mut buf = vec![0u8; 1000]; |  |  |  |     let mut buf = [0u8; PAYLOAD.len() + 1]; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     let n = sock.recv(&mut buf).unwrap(); |  |  |  |     let n = sock.recv(&mut buf).unwrap(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     assert_eq!(&buf[..n], b"hello cpumap"); |  |  |  |     assert_eq!(&buf[..n], PAYLOAD.as_bytes()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     assert_eq!(hits.get(&0, 0).unwrap(), 1); |  |  |  |     assert_eq!(hits.get(&0, 0).unwrap(), 1); | 
			
		
	
		
		
			
				
					
					|  |  |  |     assert_eq!(hits.get(&1, 0).unwrap(), 1); |  |  |  |     assert_eq!(hits.get(&1, 0).unwrap(), 1); | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |