SunBK201 最近的时间轴更新
SunBK201

SunBK201

V2EX 第 544456 号会员,加入于 2021-05-04 22:30:44 +08:00
3 G 29 S 21 B
如何解决 eBPF sockmap 重定向转发中背压缺失带来的 OOM ?
  •  1   
    Linux  •  SunBK201  •  3 月 31 日  •  最后回复来自 SunBK201
    11
    nftables 如何匹配的 TCP 中存在 Payload 数据包?
    宽带症候群  •  SunBK201  •  2025 年 12 月 12 日  •  最后回复来自 maybeonly
    14
    Reeder Classic 在 macOS 26 Tahoe 上的左右滑动手势失效了🥲
    RSS  •  SunBK201  •  2025 年 12 月 1 日  •  最后回复来自 orFish
    5
    UA3F: 透明重写 HTTP Header
    分享创造  •  SunBK201  •  1 月 4 日  •  最后回复来自 rekulas
    9
    Mac 上支持 4K 60FPS 录制的采集卡
    问与答  •  SunBK201  •  2024 年 2 月 27 日  •  最后回复来自 SunBK201
    6
    SunBK201 最近回复了
    @SunBK201 或者 go run . -m TPROXY --rewrite-mode GLOBAL --include-lan-routes --bpf-offload
    @macscsbf 更正下命令,应该使用命令 go run . -m TPROXY --rewrite-mode DIRECT --include-lan-routes --bpf-offload
    @macscsbf 虚拟机没问题,我就是用的 UTM 复现的
    @macscsbf 需求是用 eBPF 加速 socket 铰接转发,主要是用在 TCP socket 代理上,从一个 socket 上读到数据并写到另一个 socket 上,现在主流做法是用 splice 来做,我想试试 eBPF redirect 能够加速,理论上除了能够零拷贝还能节省系统调用带来的用户态与内核态之间的上下文切换开销。

    如果要测试可以参考下我的代码:
    1. eBPF 程序 https://github.com/SunBK201/UA3F/blob/v3.3.0/src/internal/bpf/sockmap/sockmap.c
    2. 核心就是保存 2 个 socket 的 cookie 到 SOCKHASH ,然后用 `bpf_sk_redirect_hash` 转发
    3. 可以在本机使用 iperf3 或者 netperf 做吞吐测试
    4. 如果要完整复现可能比较麻烦,因为我还用到了 TPORXY ,可以直接用我的项目试试 https://github.com/SunBK201/UA3F ,`go run . -m TPROXY --include-lan-routes`。这个命令会接管本机的所有 TCP 连接并进行代理,然后在本机使用 iperf3 请求到另一台机器即可。
    @swananan 感谢回复。其实我之前就是用 splice 做的,用 eBPF 就是想看看能不能再把转发性能提升一些,目前测试看来对于发送时延和 CPU 负载都能有 20% 到 30% 的优化提升,不过目前看来可能只适用于网络接口带宽收发对等的场景。
    2 月 20 日
    回复了 sxmad 创建的主题 macOS Mac 上好用的 markdown 预览插件
    c3VuYmsyMDFnbUBnbWFpbC5jb20= 感谢
    2025 年 12 月 11 日
    回复了 SunBK201 创建的主题 宽带症候群 nftables 如何匹配的 TCP 中存在 Payload 数据包?
    @unused 这个方法刚刚我也发现了,但是 ih 似乎需要比较新的 nftables 版本,旧版本不支持🥲
    2025 年 12 月 11 日
    回复了 SunBK201 创建的主题 宽带症候群 nftables 如何匹配的 TCP 中存在 Payload 数据包?
    @birdvdsk 我也有想到,但是只用 flag 可能有漏报吧
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5173 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:27 · PVG 17:27 · LAX 02:27 · JFK 05:27
    ♥ Do have faith in what you're doing.