|
1 | 1 | use crate::cli::{Config, TimeoutAction}; |
2 | 2 | use crate::net::params::MAX_WIRE_PAYLOAD; |
3 | | -use crate::net::payload::{handle_payload_result, send_payload, validate_payload_or_log}; |
| 3 | +use crate::net::payload::{handle_payload_result, send_payload, validate_payload}; |
4 | 4 | use crate::net::sock_mgr::{SocketHandles, SocketManager}; |
5 | 5 | use crate::stats::Stats; |
6 | 6 | use socket2::{SockAddr, Type}; |
@@ -236,16 +236,14 @@ pub fn run_upstream_to_client_thread( |
236 | 236 | cache.refresh_handles_and_cache(sock_mgr, &mut handles); |
237 | 237 |
|
238 | 238 | if locked.load(AtomOrdering::Relaxed) { |
239 | | - let Some(validated) = validate_payload_or_log( |
240 | | - C2U, |
| 239 | + let validated = result_or_log_continue!( |
| 240 | + validate_payload(C2U, cfg, stats, &buf.data[..len], cache.recv_port_id), |
| 241 | + log_debug_dir, |
| 242 | + cfg.debug_log_drops, |
241 | 243 | worker_id, |
242 | | - cfg, |
243 | | - stats, |
244 | | - &buf.data[..len], |
245 | | - cache.recv_port_id, |
246 | | - ) else { |
247 | | - continue; |
248 | | - }; |
| 244 | + C2U, |
| 245 | + "validate_payload error: {}" |
| 246 | + ); |
249 | 247 | let send_res = send_payload( |
250 | 248 | C2U, |
251 | 249 | &validated, |
@@ -314,16 +312,14 @@ pub fn run_client_to_upstream_thread( |
314 | 312 | let t_recv = Instant::now(); |
315 | 313 |
|
316 | 314 | if locked.load(AtomOrdering::Relaxed) { |
317 | | - let Some(validated) = validate_payload_or_log( |
318 | | - C2U, |
| 315 | + let validated = result_or_log_continue!( |
| 316 | + validate_payload(C2U, cfg, stats, &buf.data[..len], cache.recv_port_id), |
| 317 | + log_debug_dir, |
| 318 | + cfg.debug_log_drops, |
319 | 319 | worker_id, |
320 | | - cfg, |
321 | | - stats, |
322 | | - &buf.data[..len], |
323 | | - cache.recv_port_id, |
324 | | - ) else { |
325 | | - continue; |
326 | | - }; |
| 320 | + C2U, |
| 321 | + "validate_payload error: {}" |
| 322 | + ); |
327 | 323 | let send_res = send_payload( |
328 | 324 | C2U, |
329 | 325 | &validated, |
@@ -365,26 +361,23 @@ pub fn run_client_to_upstream_thread( |
365 | 361 |
|
366 | 362 | // First lock: publish client and connect the socket for fast path |
367 | 363 | if !locked.load(AtomOrdering::Relaxed) { |
368 | | - let Some(src) = src_sa.as_socket() else { |
369 | | - log_warn_dir!( |
370 | | - worker_id, |
371 | | - C2U, |
372 | | - "recv_from client non-IP address family (ignored): {:?}", |
373 | | - src_sa |
374 | | - ); |
375 | | - continue; |
376 | | - }; |
377 | | - |
378 | | - let Some(validated) = validate_payload_or_log( |
| 364 | + let src = option_or_log_continue!( |
| 365 | + src_sa.as_socket(), |
| 366 | + log_warn_dir, |
| 367 | + worker_id, |
379 | 368 | C2U, |
| 369 | + "recv_from client non-IP address family (ignored): {:?}", |
| 370 | + src_sa |
| 371 | + ); |
| 372 | + |
| 373 | + let validated = result_or_log_continue!( |
| 374 | + validate_payload(C2U, cfg, stats, &buf.data[..len], cache.recv_port_id), |
| 375 | + log_debug_dir, |
| 376 | + cfg.debug_log_drops, |
380 | 377 | worker_id, |
381 | | - cfg, |
382 | | - stats, |
383 | | - &buf.data[..len], |
384 | | - cache.recv_port_id, |
385 | | - ) else { |
386 | | - continue; |
387 | | - }; |
| 378 | + C2U, |
| 379 | + "validate_payload error: {}" |
| 380 | + ); |
388 | 381 |
|
389 | 382 | // Signal to other threads that a client is currently being locked |
390 | 383 | locked.store(true, AtomOrdering::Relaxed); |
@@ -468,16 +461,14 @@ pub fn run_client_to_upstream_thread( |
468 | 461 | ); |
469 | 462 | } else if Some(src_sa) == cache.client_sa { |
470 | 463 | // Only forward packets from the locked client (recv_from may still deliver before connect succeeds) |
471 | | - let Some(validated) = validate_payload_or_log( |
472 | | - C2U, |
| 464 | + let validated = result_or_log_continue!( |
| 465 | + validate_payload(C2U, cfg, stats, &buf.data[..len], cache.recv_port_id), |
| 466 | + log_debug_dir, |
| 467 | + cfg.debug_log_drops, |
473 | 468 | worker_id, |
474 | | - cfg, |
475 | | - stats, |
476 | | - &buf.data[..len], |
477 | | - cache.recv_port_id, |
478 | | - ) else { |
479 | | - continue; |
480 | | - }; |
| 469 | + C2U, |
| 470 | + "validate_payload error: {}" |
| 471 | + ); |
481 | 472 | let send_res = send_payload( |
482 | 473 | C2U, |
483 | 474 | &validated, |
|
0 commit comments