fix: allow self virtual IP loopback (#2161)

This commit is contained in:
KKRainbow
2026-04-25 21:26:16 +08:00
committed by GitHub
parent eb3b5aae51
commit b20075e3dc
2 changed files with 26 additions and 2 deletions
+6 -2
View File
@@ -1657,8 +1657,12 @@ impl PeerManager {
#[cfg(not(target_env = "ohos"))]
{
if not_send_to_self && *peer_id == self.my_peer_id {
// the packet may be sent to vpn portal, so we just set flags instead of drop it
if not_send_to_self
&& *peer_id == self.my_peer_id
&& !self.global_ctx.is_ip_local_virtual_ip(&ip_addr)
{
// Keep the loop-prevention flags for proxy-induced self-delivery where
// the destination is not this node's own virtual IP.
hdr.set_not_send_to_tun(true);
hdr.set_no_proxy(true);
}