高性能网络SIG月度动态: 推进SMC支持基于eBPF透明替换和内存水位限制等多项功能支持

简介: 一键查看高性能网络 SIG 10 月各项目进展。

本次月报总结了 SIG 在 9 月和 10 月的工作进展,聚焦在 ANCK 网络安全和稳定性问题修复以及 SMC 新特性的推进。

一、关键进展

1. 完成上游 SMC 共享内存使用统计的支持,并回合到 ANCK 5.10。

2. 推进上游 SMC 基于 eBPF 透明替换功能的合入。

3. 完成 ANCK 5.10 中 SMC 共享内存水位限制功能的开发与合入。

4. 修复 ANCK 通用内核网络和 SMC 的多个安全及稳定性问题。

二、ANCK 通用内核网络协议栈

修复

ANCK 5.10 内核修复了如下问题,预计随 018 版本发布:

  • 修复 netem qdisc 可能出现 UAF 的问题。(PR3824,PR3835)
  • 修复 sockmap 可能引起 soft lockup 的问题。(PR4000)
  • 修复 qdisc 的一处 panic 风险。(PR4003)

安全

ANCK 5.10 修复了如下 CVE,预计随 018 版本发布:

CVE-2024-36889(PR3942)

CVE-2024-36883(PR3941)

CVE-2024-46771(PR3898)

CVE-2024-46783(PR3899)

CVE-2024-46679(PR3925)

CVE-2024-46679(PR3925)

CVE-2024-46800(PR3835)

CVE-2024-41040(PR3885)

CVE-2024-45018(PR3881)

CVE-2024-44934(PR3935)

CVE-2024-36971(PR3934)

CVE-2024-44987(PR3880)

CVE-2024-42284(PR3926)

CVE-2024-44974(PR3928)

CVE-2024-43861(PR3875)

CVE-2024-43879(PR3932)

CVE-2024-42271(PR3930)

 

三、SMC

双月 SMC 相关工作聚焦于上游共享内存统计和 eBPF 透明替换特性的推动,以及 ANCK 中的内存水位限制特性开发和稳定性问题修复。

共享内存统计

上游 SMC 的统计指标中缺少对 LGR 当前持有的共享内存的统计,为此 SIG 向上游 Linux 内核[1]和 smc-tools 用户态工具[2]提交 LGR 和 net namespace 维度共享内存使用统计功能,目前均已合入。相关内核补丁也已回合至 ANCK 内核[3],自 5.10-17.3 版本后携带。

eBPF 透明替换

一直以来,上游 SMC 仅提供了 smc_run 这一进程维度透明替换 TCP 的功能,但这种方式存在静态链接程序不可用以及替换维度单一的问题。因此 SIG 向上游提交了基于 eBPF 的灵活替换方案[4],旨在提供多种维度(如 netns 或进程)透明替换以及基于端口等策略灵活替换 TCP 的能力。

共享内存水位限制

SMC 使用共享内存通信来获得更好的网络性能,但也带来一定的内存压力。因此 SIG 向 ANCK 5.10 提交了 SMC 共享内存水位限制的功能[5],用户可通过 sysctl 设置 node 或 net namespace 维度的共享内存使用上限,达到上限后将回退回 TCP,以避免过多的内存消耗。此特性自 5.10-17.3 版本后携带,目前属于预览特性,后续将推动贡献到上游。

稳定性问题修复

修复了 ANCK 5.10 SMC 中内存泄漏[6]相关问题。

相关链接

[1]https://lore.kernel.org/netdev/20240814130827.73321-1-guwen@linux.alibaba.com/

[2] https://github.com/ibm-s390-linux/smc-tools/pull/11

[3] https://gitee.com/anolis/cloud-kernel/pulls/3766

[4]https://lore.kernel.org/netdev/1729737768-124596-1-git-send-email-alibuda@linux.alibaba.com/

[5] https://gitee.com/anolis/cloud-kernel/pulls/3894

[6] https://gitee.com/anolis/cloud-kernel/pulls/3847


注:更多龙蜥 SIG 月度动态可点击这里查看。


高性能网络 SIG(Special Interest Group)在这个万物互联的时代,云上的网络通信效率对各种服务至关重要,高性能网络兴趣组致力于利用 XDP、RDMA、VIRTIO 等新高效通信技术,结合软硬件一体化的思想,打造高性能网络协议栈,提升云计算时代数据中心应用的网络性能。

高性能网络 SIG 主页:https://openanolis.cn/sig/high-perf-network

—— 完 ——

相关文章
|
12天前
|
数据采集 监控 安全
公司网络监控软件:Zig 语言底层优化保障系统高性能运行
在数字化时代,Zig 语言凭借出色的底层控制能力和高性能特性,为公司网络监控软件的优化提供了有力支持。从数据采集、连接管理到数据分析,Zig 语言确保系统高效稳定运行,精准处理海量网络数据,保障企业信息安全与业务连续性。
35 4
|
1月前
|
机器学习/深度学习 运维 安全
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
金融交易网络与蛋白质结构的共同特点是它们无法通过简单的欧几里得空间模型来准确描述,而是需要复杂的图结构来捕捉实体间的交互模式。传统深度学习方法在处理这类数据时效果不佳,图神经网络(GNNs)因此成为解决此类问题的关键技术。GNNs通过消息传递机制,能有效提取图结构中的深层特征,适用于欺诈检测和蛋白质功能预测等复杂网络建模任务。
75 2
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
|
30天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
91 7
|
1月前
|
安全 网络安全 数据安全/隐私保护
利用Docker的网络安全功能来保护容器化应用
通过综合运用这些 Docker 网络安全功能和策略,可以有效地保护容器化应用,降低安全风险,确保应用在安全的环境中运行。同时,随着安全威胁的不断变化,还需要持续关注和研究新的网络安全技术和方法,不断完善和强化网络安全保护措施,以适应日益复杂的安全挑战。
45 5
|
1月前
|
存储 监控 数据挖掘
计算机网络的功能
计算机网络支持信息交换、资源共享、分布式处理、可靠性增强及集中管理。信息交换涵盖多种媒体形式,促进远程协作;资源共享降低用户成本,提高效率;分布式处理提升计算能力;冗余机制保障系统稳定;集中管理简化网络维护,确保安全运行。
39 2
|
1月前
|
缓存 Prometheus 监控
Elasticsearch集群JVM调优设置合适的堆内存大小
Elasticsearch集群JVM调优设置合适的堆内存大小
322 1
|
26天前
|
存储 监控 算法
深入探索Java虚拟机(JVM)的内存管理机制
本文旨在为读者提供对Java虚拟机(JVM)内存管理机制的深入理解。通过详细解析JVM的内存结构、垃圾回收算法以及性能优化策略,本文不仅揭示了Java程序高效运行背后的原理,还为开发者提供了优化应用程序性能的实用技巧。不同于常规摘要仅概述文章大意,本文摘要将简要介绍JVM内存管理的关键点,为读者提供一个清晰的学习路线图。
|
1月前
|
Java
JVM内存参数
-Xmx[]:堆空间最大内存 -Xms[]:堆空间最小内存,一般设置成跟堆空间最大内存一样的 -Xmn[]:新生代的最大内存 -xx[use 垃圾回收器名称]:指定垃圾回收器 -xss:设置单个线程栈大小 一般设堆空间为最大可用物理地址的百分之80