From 4e1a74fcea1da8c7c017336ab41c8365b47a8880 Mon Sep 17 00:00:00 2001 From: Tim Froidcoeur Date: Wed, 3 Apr 2024 10:02:05 +0200 Subject: [PATCH] fix: connected udp socket type connected sock needs to be DGRAM see https://github.com/cloudflare/boringtun/issues/395 this has substantial performance impact on linux Signed-off-by: Tim Froidcoeur --- boringtun/src/device/peer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boringtun/src/device/peer.rs b/boringtun/src/device/peer.rs index d7f2c22e5..3bf3655bb 100644 --- a/boringtun/src/device/peer.rs +++ b/boringtun/src/device/peer.rs @@ -117,7 +117,7 @@ impl Peer { .expect("Attempt to connect to undefined endpoint"); let udp_conn = - socket2::Socket::new(Domain::for_address(addr), Type::STREAM, Some(Protocol::UDP))?; + socket2::Socket::new(Domain::for_address(addr), Type::DGRAM, Some(Protocol::UDP))?; udp_conn.set_reuse_address(true)?; let bind_addr = if addr.is_ipv4() { SocketAddrV4::new(Ipv4Addr::UNSPECIFIED, port).into()