Repository navigation
feat(net): support multiple independent network interfaces - #9
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
更新内容
将以单张网卡为中心的内部网络状态改为逐设备管理,使 e1000、e1000e、Realtek 驱动可以同时提供多个接口,也支持同一驱动枚举多张匹配的 PCI 网卡。
SO_BINDTODEVICE和SIOCGIFTXQLEN对应路径,修正同接口换网关时 TCP 下一跳缓存与本机 NIC 地址投递。.ko需要随内核重建。接口卸载后保留编号空洞,重新加载会分配新 ifindex 和
ethN名称。编译验证
m的配置编译、安装与模块依赖生成通过。测试验证
net-ioctl-user用户内存等待与不可变输入夹具通过。运行验证
ReliefOS 私有 QEMU/KVM 来宾挂载两张 e1000 与一张 e1000e。内置和模块配置均通过三张网卡独立 DHCP、IPv4/IPv6 ping、并发 TCP/UDP 回显与 BusyBox
ip查询。模块场景中,卸载 e1000 移除其两张网卡时,e1000e 的既有 TCP 连接继续传输;重新加载后的两张 e1000 重新配置并恢复双栈通信。来宾的网络探针使用原生 Linux/POSIX socket 接口,网络管理命令由原版 BusyBox 执行。QEMU 三网卡编排由 ReliefOS 仓库持有。
已知边界
/sys/class/net的完整导出仍待扩展。prepare成功,两个自动化三网卡来宾也通过。此项仍待复现定位。