@@ -549,10 +549,16 @@ where
549549 let mut buffer = [ 0u8 ; MAXIMUM_UDP_PAYLOAD_SIZE ] ;
550550 loop {
551551 let ( n, addr) = match outbound. recv ( & mut buffer) . await {
552- Ok ( n) => {
552+ Ok ( ( n, addr) ) => {
553+ trace ! (
554+ "udp relay {} <- {} (proxied) received {} bytes" ,
555+ self . peer_addr,
556+ addr,
557+ n
558+ ) ;
553559 // Keep association alive in map
554560 let _ = self . assoc_map . lock ( ) . await . get ( & self . peer_addr ) ;
555- n
561+ ( n , addr )
556562 }
557563 Err ( err) => {
558564 // Socket that connected to remote server returns an error, it should be ECONNREFUSED in most cases.
@@ -575,24 +581,35 @@ where
575581 // Send back to client
576582 if let Err ( err) = self . respond_writer . send_to ( self . peer_addr , & addr, data) . await {
577583 warn ! (
578- "udp failed to send back to client {}, from target {}, error: {}" ,
584+ "udp failed to send back to client {}, from target {} (proxied) , error: {}" ,
579585 self . peer_addr, addr, err
580586 ) ;
581587 continue ;
582588 }
583589
584- trace ! ( "udp relay {} <- {} with {} bytes" , self . peer_addr, addr, data. len( ) ) ;
590+ trace ! (
591+ "udp relay {} <- {} (proxied) with {} bytes" ,
592+ self . peer_addr,
593+ addr,
594+ data. len( )
595+ ) ;
585596 }
586597 }
587598
588599 async fn copy_bypassed_r2l ( self : Arc < Self > , outbound : Arc < UdpSocket > ) -> io:: Result < ( ) > {
589600 let mut buffer = [ 0u8 ; MAXIMUM_UDP_PAYLOAD_SIZE ] ;
590601 loop {
591602 let ( n, addr) = match outbound. recv_from ( & mut buffer) . await {
592- Ok ( n) => {
603+ Ok ( ( n, addr) ) => {
604+ trace ! (
605+ "udp relay {} <- {} (bypassed) received {} bytes" ,
606+ self . peer_addr,
607+ addr,
608+ n
609+ ) ;
593610 // Keep association alive in map
594611 let _ = self . assoc_map . lock ( ) . await . get ( & self . peer_addr ) ;
595- n
612+ ( n , addr )
596613 }
597614 Err ( err) => {
598615 error ! (
@@ -610,13 +627,18 @@ where
610627 // Send back to client
611628 if let Err ( err) = self . respond_writer . send_to ( self . peer_addr , & addr, data) . await {
612629 warn ! (
613- "udp failed to send back to client {}, from target {}, error: {}" ,
630+ "udp failed to send back to client {}, from target {} (bypassed) , error: {}" ,
614631 self . peer_addr, addr, err
615632 ) ;
616633 continue ;
617634 }
618635
619- trace ! ( "udp relay {} <- {} with {} bytes" , self . peer_addr, addr, data. len( ) ) ;
636+ trace ! (
637+ "udp relay {} <- {} (bypassed) with {} bytes" ,
638+ self . peer_addr,
639+ addr,
640+ data. len( )
641+ ) ;
620642 }
621643 }
622644}
0 commit comments