Fangliding:WireGuard 内核 TUN 的表号向下搜索因该 bug 实际失效,多个 WireGuard 出站会坏掉

Fangliding 在 Xray-core PR #6881(Linux 内核 TUN 配置含 IPv6 时提示 failed to find available ipv6 table index)下说明:这段向下 search 最早是为控制多个出站的场景而加,但由于该 PR 所修复的 bug(循环内只递减局部变量、从未把新表号写回过滤器,每次都在查同一张表),search 实际上一直是失效的;只要多于一个 WireGuard 出站就会坏掉。他表示早年接到相关 issue 时没看到下面这段代码,以为是硬编码,于是写了个递增 alloc 并放弃了多 instance 场景,并同意既然这里有搜索就拿起来用上。

作者原文

我知道了 这个向下search是最早加的 用以控制多个出站的场景 因为你找的这个bug导致search实际是失效的 多余一个wireguard出站就会坏掉 早年的时候接到这个issue我没看到下面代码以为是硬编码才写了个递增alloc然后放弃多instance场景了 如果这里有搜索的话就拿起来用上吧