2022-11-11 07:35:37 +00:00
|
|
|
|
[package]
|
|
|
|
|
|
name = "dragonos_kernel"
|
2025-08-22 15:01:37 +00:00
|
|
|
|
version = "0.2.0"
|
2022-11-11 07:35:37 +00:00
|
|
|
|
edition = "2021"
|
|
|
|
|
|
|
|
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
|
|
|
2023-10-02 12:46:19 +00:00
|
|
|
|
|
2022-11-11 07:35:37 +00:00
|
|
|
|
[lib]
|
|
|
|
|
|
crate-type = ["staticlib"]
|
|
|
|
|
|
|
2023-10-02 12:46:19 +00:00
|
|
|
|
[workspace]
|
2025-04-02 05:49:57 +00:00
|
|
|
|
members = ["crates/*"]
|
2023-10-02 12:46:19 +00:00
|
|
|
|
|
2023-11-01 14:12:19 +00:00
|
|
|
|
[features]
|
2025-04-02 05:49:57 +00:00
|
|
|
|
default = ["fatfs", "kvm", "fatfs-secure", "static_keys_test"]
|
2024-02-04 07:46:24 +00:00
|
|
|
|
# kvm
|
|
|
|
|
|
kvm = []
|
2023-11-01 14:12:19 +00:00
|
|
|
|
|
2024-07-24 16:55:02 +00:00
|
|
|
|
fatfs = []
|
|
|
|
|
|
fatfs-secure = ["fatfs"]
|
2024-10-26 04:55:19 +00:00
|
|
|
|
driver_ps2_mouse = []
|
2024-07-24 16:55:02 +00:00
|
|
|
|
|
2024-10-25 07:59:57 +00:00
|
|
|
|
# kprobe
|
|
|
|
|
|
kprobe_test = []
|
2024-11-16 08:21:20 +00:00
|
|
|
|
static_keys_test = []
|
2023-11-07 13:39:27 +00:00
|
|
|
|
|
2025-06-14 12:42:58 +00:00
|
|
|
|
# kstack_protect 开启该功能后,会开启内核栈保护功能。用于辅助检测栈溢出。(内核栈占用会*2)
|
|
|
|
|
|
kstack_protect = []
|
|
|
|
|
|
|
2025-10-30 05:32:40 +00:00
|
|
|
|
# initram
|
|
|
|
|
|
initram = []
|
|
|
|
|
|
|
2022-11-11 14:21:44 +00:00
|
|
|
|
# 运行时依赖项
|
2022-11-11 07:35:37 +00:00
|
|
|
|
[dependencies]
|
2024-09-05 13:12:20 +00:00
|
|
|
|
acpi = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/acpi-rs.git", rev = "282df2af7b" }
|
2024-04-14 12:39:20 +00:00
|
|
|
|
asm_macros = { path = "crates/asm_macros" }
|
2024-03-05 09:22:04 +00:00
|
|
|
|
atomic_enum = "=0.2.0"
|
|
|
|
|
|
bit_field = "=0.10"
|
|
|
|
|
|
bitfield-struct = "=0.5.3"
|
|
|
|
|
|
bitflags = "=1.3.2"
|
2024-01-15 10:13:22 +00:00
|
|
|
|
bitmap = { path = "crates/bitmap" }
|
2024-03-27 16:28:13 +00:00
|
|
|
|
driver_base_macros = { "path" = "crates/driver_base_macros" }
|
2024-03-05 09:22:04 +00:00
|
|
|
|
elf = { version = "=0.7.2", default-features = false }
|
2024-08-27 05:01:11 +00:00
|
|
|
|
fdt = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/fdt", rev = "9862813020" }
|
2024-09-05 13:12:20 +00:00
|
|
|
|
# 一个no_std的hashmap、hashset
|
2024-03-05 09:22:04 +00:00
|
|
|
|
hashbrown = "=0.13.2"
|
2024-09-25 03:20:52 +00:00
|
|
|
|
ida = { path = "crates/ida" }
|
2024-07-24 16:55:02 +00:00
|
|
|
|
intertrait = { path = "crates/intertrait" }
|
2024-10-13 15:39:55 +00:00
|
|
|
|
kcmdline_macros = { path = "crates/kcmdline_macros" }
|
2023-11-07 13:39:27 +00:00
|
|
|
|
kdepends = { path = "crates/kdepends" }
|
2023-12-25 15:12:27 +00:00
|
|
|
|
klog_types = { path = "crates/klog_types" }
|
2024-07-24 16:55:02 +00:00
|
|
|
|
linkme = "=0.3.27"
|
2024-03-05 09:22:04 +00:00
|
|
|
|
num = { version = "=0.4.0", default-features = false }
|
|
|
|
|
|
num-derive = "=0.3"
|
2025-04-02 05:49:57 +00:00
|
|
|
|
num-traits = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/num-traits.git", rev = "1597c1c", default-features = false }
|
refactor(net): the big network rebuild (#977)
* ready for merge in master (#964)
uevent should be format
Enum of smoltcp socket should be optimized.
need to add interface for routing subsys
actix is still not abled to run.
clean some casual added code to other places
* updates uevent and make fmt
* 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试
* 修改net设备的uevent内容,使之与Linux语义一致
* 删除无用注释
* feat: 支持 sysfs下 block, char, Net, rtc, tty 等类型设备的 uevent 文件读操作 (#973)
* 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试
* 修改net设备的uevent内容,使之与Linux语义一致
* 删除无用注释
* can ctrl-c interupt from blocking accept
* make fmt
* clean debug messages
* 清理积弊,不必要的动态分发和智能指针
* remove uevent and netlink
* fmt
* remove uevent test
* 重新组织代码分布
* remove unused imports
* fix it back to old syscall printing style
* regulate naming to posix
* todo: socket close 及 port 接触占用
* fix: format check
* feat: remove syscall prettier printing (#988)
* 重新组织代码分布
* remove unused imports
* fix it back to old syscall printing style
* regulate naming to posix
* todo: socket close 及 port 接触占用
* fix: format check
* remove unnecessary warnings and impls
* loopback assign single ip, remove unnecessary comments
* fmt
* 去除virtio_blk, virtio_net expect错误处理,直接返回错误
* fix: 修复网卡顺序的bug (#996)
* fix: 修复网卡顺序的bug
* make fmt
* feat: 添加默认网卡字段
* make fmt
* 删掉奇怪加入的文件
* fix: ipv6, AddressFamily有转换问题。
* make fmt
* feat(net): 实现unix抽象地址空间 (#1017)
* feat(doc):添加网络子系统模块 (#1020)
* feat(doc): 添加网络子系统文档
* make fmt
* fix(net): TCP Resources and add syscall print, change to use latest smoltcp (#1032)
* change to smoltcp
* add syscall, fix wront accept-listen logic
* add version and resource close
* debug and add socket option level print
* fix: fix udp and run dog in udp
* turn off syscall printing, remove unused imports and make fmt
* turn off syscall printings
* 纸糊忙等tcp connecting,尚不明确连接可用的机制。
* turn off syscall
* fix: 修正IfaceCommon的bounds字段的锁使用问题&调度问题
- 中断上下文内用到的锁,在外面要irqsave.
- 把主线调度的pr应用到当前分支: https://github.com/DragonOS-Community/DragonOS/pull/1063
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(socket): 实现shutdown系统调用的基础结构并启用相关方法
* feat(socket): 添加shutdown方法并实现ShutdownTemp的TryFrom转换
* fmt
* fix(net): misc of resources release (#1096)
* fix: TCP socket miss activation after close
* fix: TCP socket miss activation after close (#1085)
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
* fmt: format
* fix: loopback and udp resource problem (#1086)
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
* fix(net): Unix 资源释放 (#1087)
* unix socket 相关资源释放 #991
* 完善streamsocket资源释放
* 解决inode和id不匹配
* fix TCP socketset release (#1095)
* fix: TCP socket miss activation after close
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
---------
Co-authored-by: YuLong Huang <139891737+LINGLUO00@users.noreply.github.com>
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参 (#1083)
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot (#1084)
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot
- 校验magic number
- 支持多个cmd (具体内容未实现)
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* fix: 修复do_wait函数在wait所有子进程时,忘了释放锁就sleep的bug (#1089)
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(virtualization): 内核虚拟化支持 (#1073)
* 几个结构体
* 通过vmx_init以及create_vm,create_vcpu部分TODO
* kvm_run完成一半
* 能够成功vmlaunch,但是在vmexit时候还有些问题未排查出来
* 解决了vmlaunch导致的cpu_reset的问题
* 整理代码
* 暂时性push到hyc仓库
* 修改内存虚拟化部分参数传入,解决死锁问题
* 初步完成ept映射.但不停EPT_VIOLATION
* 初步完成了EPT映射,但是读写内存还是有点问题
* fixme
* 更新了一些truncate到from_bits_unchecked的实现
* 完成内存虚拟化EPT_VIOLATION的映射
* fmt
* Remove /fixme from .gitignore
* Remove /fixme file
* Update kernel/src/init/init.rs
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
* Update kernel/src/init/init.rs
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
* 修改了注释格式,删除了附带的一些文件操作
* feat(syscall): 实现syscall restart (#1075)
能够在系统调用返回ERESTARTSYS时,信号处理结束后,自动重启系统调用.
TODO: 实现wait等需要restart_block的系统调用的重启
Signed-off-by: longjin <longjin@DragonOS.org>
* chore: update docker image version in script && update doc (#1076)
* chore: update docker image version in script
* chore: replace lots of spaces with newline in doc
* fix: 修复wait4系统调用部分语义与Linux不一致的问题 (#1080)
* fix: 修复wait4系统调用部分语义与Linux不一致的问题
解决wait不住/wait之后卡死的bug
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(fs/syscall): 实现fchdir系统调用 (#1081)
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(mm): 修复fat文件系统的PageCache同步问题 (#1005)
---------
Co-authored-by: longjin <longjin@DragonOS.org>
* fix: 修正nographic启动时,控制台日志未能输出到文件的问题 (#1082)
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参 (#1083)
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot (#1084)
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot
- 校验magic number
- 支持多个cmd (具体内容未实现)
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* fix: 修复do_wait函数在wait所有子进程时,忘了释放锁就sleep的bug (#1089)
Signed-off-by: longjin <longjin@DragonOS.org>
* pull主线并且fmt
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
Co-authored-by: LoGin <longjin@DragonOS.org>
Co-authored-by: LIU Yuwei <22045841+Marsman1996@users.noreply.github.com>
Co-authored-by: MemoryShore <1353318529@qq.com>
* fix: 在插入新的timer时,边界条件判断不正确的问题 (#1091)
修复split_pos 初始值错误导致原本应该被插入到链表末尾的定时器,插入到了链表头
Signed-off-by: longjin <longjin@DragonOS.org>
* fmt
* feat(net): Add Inet documenation
* Revert "Merge Master"
* cleanup codes
* refactor: 将设备名称 "lo" 提取为常量 DEVICE_NAME
Signed-off-by: longjin <longjin@DragonOS.org>
* make fmt (#1109)
* fmt (#1110)
* refactor: 删除多余的代码
Signed-off-by: longjin <longjin@DragonOS.org>
* refactor: 移除网络重构分支中,use xxx::*的内容 (#1117)
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(net): 引入kthread,将Inet-网卡处理流程移入内核线程中
* change socket interface
* add check target vscode settings
* fix(net,unix): fix miss create of file
* fix(net): format codes
* fix: 修复缺失的glibc和busybox的toml文件
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fmt
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* refactor: 统一接口到 Socket trait 一层
* fix(user): http_server 错误判断创建socket的返回值
* feat(net): add epoll logical support for inet sockets
* fix(net): can write file, have problem in notification
* refactor: 消除warning,优化代码结构
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix(epoll): 修复connect的忙等待逻辑,以及支持socket加入epoll
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fmt
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 简单实现unix stream & seqpacket
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix(unix):让 unix socket 的close方法返回Ok
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* chore: 更新依赖镜像并调整调试输出
- 将inherit-methods-macro依赖从GitHub迁移至DragonOS镜像源
- 移除rust-analyzer的allTargets检查配置
- 简化LoopbackInterface和IfaceCommon的Debug实现
- 移除socket resize方法中的冗余警告日志
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
Co-authored-by: val213 <1042594899@qq.com>
Co-authored-by: Val213 <112376067+val213@users.noreply.github.com>
Co-authored-by: 黄铭涛 <1037827920@qq.com>
Co-authored-by: Cai Junyuan <121806694+smallcjy@users.noreply.github.com>
Co-authored-by: smallcjy <2628035541@qq.com>
Co-authored-by: longjin <longjin@DragonOS.org>
Co-authored-by: xiaolin2004 <1553367438@qq.com>
Co-authored-by: YuLong Huang <139891737+LINGLUO00@users.noreply.github.com>
Co-authored-by: Z Fan <140599389+BrahmaMantra@users.noreply.github.com>
Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
Co-authored-by: LIU Yuwei <22045841+Marsman1996@users.noreply.github.com>
Co-authored-by: MemoryShore <1353318529@qq.com>
Co-authored-by: 火花 <sparkhhhhhhhhhh@outlook.com>
2025-09-11 16:35:13 +00:00
|
|
|
|
smoltcp = { version = "=0.12.0", default-features = false, features = [
|
2025-04-02 05:49:57 +00:00
|
|
|
|
"alloc",
|
|
|
|
|
|
"socket-raw",
|
|
|
|
|
|
"socket-udp",
|
|
|
|
|
|
"socket-tcp",
|
|
|
|
|
|
"socket-icmp",
|
|
|
|
|
|
"socket-dhcpv4",
|
|
|
|
|
|
"socket-dns",
|
|
|
|
|
|
"proto-ipv4",
|
|
|
|
|
|
"proto-ipv6",
|
refactor(net): the big network rebuild (#977)
* ready for merge in master (#964)
uevent should be format
Enum of smoltcp socket should be optimized.
need to add interface for routing subsys
actix is still not abled to run.
clean some casual added code to other places
* updates uevent and make fmt
* 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试
* 修改net设备的uevent内容,使之与Linux语义一致
* 删除无用注释
* feat: 支持 sysfs下 block, char, Net, rtc, tty 等类型设备的 uevent 文件读操作 (#973)
* 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试
* 修改net设备的uevent内容,使之与Linux语义一致
* 删除无用注释
* can ctrl-c interupt from blocking accept
* make fmt
* clean debug messages
* 清理积弊,不必要的动态分发和智能指针
* remove uevent and netlink
* fmt
* remove uevent test
* 重新组织代码分布
* remove unused imports
* fix it back to old syscall printing style
* regulate naming to posix
* todo: socket close 及 port 接触占用
* fix: format check
* feat: remove syscall prettier printing (#988)
* 重新组织代码分布
* remove unused imports
* fix it back to old syscall printing style
* regulate naming to posix
* todo: socket close 及 port 接触占用
* fix: format check
* remove unnecessary warnings and impls
* loopback assign single ip, remove unnecessary comments
* fmt
* 去除virtio_blk, virtio_net expect错误处理,直接返回错误
* fix: 修复网卡顺序的bug (#996)
* fix: 修复网卡顺序的bug
* make fmt
* feat: 添加默认网卡字段
* make fmt
* 删掉奇怪加入的文件
* fix: ipv6, AddressFamily有转换问题。
* make fmt
* feat(net): 实现unix抽象地址空间 (#1017)
* feat(doc):添加网络子系统模块 (#1020)
* feat(doc): 添加网络子系统文档
* make fmt
* fix(net): TCP Resources and add syscall print, change to use latest smoltcp (#1032)
* change to smoltcp
* add syscall, fix wront accept-listen logic
* add version and resource close
* debug and add socket option level print
* fix: fix udp and run dog in udp
* turn off syscall printing, remove unused imports and make fmt
* turn off syscall printings
* 纸糊忙等tcp connecting,尚不明确连接可用的机制。
* turn off syscall
* fix: 修正IfaceCommon的bounds字段的锁使用问题&调度问题
- 中断上下文内用到的锁,在外面要irqsave.
- 把主线调度的pr应用到当前分支: https://github.com/DragonOS-Community/DragonOS/pull/1063
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(socket): 实现shutdown系统调用的基础结构并启用相关方法
* feat(socket): 添加shutdown方法并实现ShutdownTemp的TryFrom转换
* fmt
* fix(net): misc of resources release (#1096)
* fix: TCP socket miss activation after close
* fix: TCP socket miss activation after close (#1085)
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
* fmt: format
* fix: loopback and udp resource problem (#1086)
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
* fix(net): Unix 资源释放 (#1087)
* unix socket 相关资源释放 #991
* 完善streamsocket资源释放
* 解决inode和id不匹配
* fix TCP socketset release (#1095)
* fix: TCP socket miss activation after close
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
---------
Co-authored-by: YuLong Huang <139891737+LINGLUO00@users.noreply.github.com>
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参 (#1083)
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot (#1084)
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot
- 校验magic number
- 支持多个cmd (具体内容未实现)
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* fix: 修复do_wait函数在wait所有子进程时,忘了释放锁就sleep的bug (#1089)
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(virtualization): 内核虚拟化支持 (#1073)
* 几个结构体
* 通过vmx_init以及create_vm,create_vcpu部分TODO
* kvm_run完成一半
* 能够成功vmlaunch,但是在vmexit时候还有些问题未排查出来
* 解决了vmlaunch导致的cpu_reset的问题
* 整理代码
* 暂时性push到hyc仓库
* 修改内存虚拟化部分参数传入,解决死锁问题
* 初步完成ept映射.但不停EPT_VIOLATION
* 初步完成了EPT映射,但是读写内存还是有点问题
* fixme
* 更新了一些truncate到from_bits_unchecked的实现
* 完成内存虚拟化EPT_VIOLATION的映射
* fmt
* Remove /fixme from .gitignore
* Remove /fixme file
* Update kernel/src/init/init.rs
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
* Update kernel/src/init/init.rs
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
* 修改了注释格式,删除了附带的一些文件操作
* feat(syscall): 实现syscall restart (#1075)
能够在系统调用返回ERESTARTSYS时,信号处理结束后,自动重启系统调用.
TODO: 实现wait等需要restart_block的系统调用的重启
Signed-off-by: longjin <longjin@DragonOS.org>
* chore: update docker image version in script && update doc (#1076)
* chore: update docker image version in script
* chore: replace lots of spaces with newline in doc
* fix: 修复wait4系统调用部分语义与Linux不一致的问题 (#1080)
* fix: 修复wait4系统调用部分语义与Linux不一致的问题
解决wait不住/wait之后卡死的bug
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(fs/syscall): 实现fchdir系统调用 (#1081)
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(mm): 修复fat文件系统的PageCache同步问题 (#1005)
---------
Co-authored-by: longjin <longjin@DragonOS.org>
* fix: 修正nographic启动时,控制台日志未能输出到文件的问题 (#1082)
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参 (#1083)
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot (#1084)
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot
- 校验magic number
- 支持多个cmd (具体内容未实现)
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* fix: 修复do_wait函数在wait所有子进程时,忘了释放锁就sleep的bug (#1089)
Signed-off-by: longjin <longjin@DragonOS.org>
* pull主线并且fmt
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
Co-authored-by: LoGin <longjin@DragonOS.org>
Co-authored-by: LIU Yuwei <22045841+Marsman1996@users.noreply.github.com>
Co-authored-by: MemoryShore <1353318529@qq.com>
* fix: 在插入新的timer时,边界条件判断不正确的问题 (#1091)
修复split_pos 初始值错误导致原本应该被插入到链表末尾的定时器,插入到了链表头
Signed-off-by: longjin <longjin@DragonOS.org>
* fmt
* feat(net): Add Inet documenation
* Revert "Merge Master"
* cleanup codes
* refactor: 将设备名称 "lo" 提取为常量 DEVICE_NAME
Signed-off-by: longjin <longjin@DragonOS.org>
* make fmt (#1109)
* fmt (#1110)
* refactor: 删除多余的代码
Signed-off-by: longjin <longjin@DragonOS.org>
* refactor: 移除网络重构分支中,use xxx::*的内容 (#1117)
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(net): 引入kthread,将Inet-网卡处理流程移入内核线程中
* change socket interface
* add check target vscode settings
* fix(net,unix): fix miss create of file
* fix(net): format codes
* fix: 修复缺失的glibc和busybox的toml文件
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fmt
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* refactor: 统一接口到 Socket trait 一层
* fix(user): http_server 错误判断创建socket的返回值
* feat(net): add epoll logical support for inet sockets
* fix(net): can write file, have problem in notification
* refactor: 消除warning,优化代码结构
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix(epoll): 修复connect的忙等待逻辑,以及支持socket加入epoll
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fmt
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 简单实现unix stream & seqpacket
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix(unix):让 unix socket 的close方法返回Ok
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* chore: 更新依赖镜像并调整调试输出
- 将inherit-methods-macro依赖从GitHub迁移至DragonOS镜像源
- 移除rust-analyzer的allTargets检查配置
- 简化LoopbackInterface和IfaceCommon的Debug实现
- 移除socket resize方法中的冗余警告日志
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
Co-authored-by: val213 <1042594899@qq.com>
Co-authored-by: Val213 <112376067+val213@users.noreply.github.com>
Co-authored-by: 黄铭涛 <1037827920@qq.com>
Co-authored-by: Cai Junyuan <121806694+smallcjy@users.noreply.github.com>
Co-authored-by: smallcjy <2628035541@qq.com>
Co-authored-by: longjin <longjin@DragonOS.org>
Co-authored-by: xiaolin2004 <1553367438@qq.com>
Co-authored-by: YuLong Huang <139891737+LINGLUO00@users.noreply.github.com>
Co-authored-by: Z Fan <140599389+BrahmaMantra@users.noreply.github.com>
Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
Co-authored-by: LIU Yuwei <22045841+Marsman1996@users.noreply.github.com>
Co-authored-by: MemoryShore <1353318529@qq.com>
Co-authored-by: 火花 <sparkhhhhhhhhhh@outlook.com>
2025-09-11 16:35:13 +00:00
|
|
|
|
"medium-ip",
|
2025-04-02 05:49:57 +00:00
|
|
|
|
] }
|
2025-05-13 10:59:18 +00:00
|
|
|
|
syscall_table_macros = { path = "crates/syscall_table_macros" }
|
2023-12-25 15:12:27 +00:00
|
|
|
|
system_error = { path = "crates/system_error" }
|
2024-08-27 05:01:11 +00:00
|
|
|
|
unified-init = { path = "crates/unified-init" }
|
2025-03-27 12:48:40 +00:00
|
|
|
|
virtio-drivers = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/virtio-drivers", rev = "415ab38ff9" }
|
2024-08-27 05:01:11 +00:00
|
|
|
|
wait_queue_macros = { path = "crates/wait_queue_macros" }
|
2024-03-05 09:22:04 +00:00
|
|
|
|
paste = "=1.0.14"
|
2024-04-15 04:51:14 +00:00
|
|
|
|
slabmalloc = { path = "crates/rust-slabmalloc" }
|
2024-04-23 09:19:54 +00:00
|
|
|
|
log = "0.4.21"
|
2024-10-25 07:59:57 +00:00
|
|
|
|
kprobe = { path = "crates/kprobe" }
|
2024-09-04 16:35:27 +00:00
|
|
|
|
lru = "0.12.3"
|
2023-11-07 13:39:27 +00:00
|
|
|
|
|
2025-06-20 02:49:59 +00:00
|
|
|
|
rbpf = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/rbpf", rev = "f31e471a29", default-features = false }
|
2025-08-18 05:25:19 +00:00
|
|
|
|
printf-compat = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/printf-compat", rev = "626801cb5f", default-features = false }
|
2024-11-19 13:55:22 +00:00
|
|
|
|
|
2025-04-21 17:58:44 +00:00
|
|
|
|
static-keys = { version = "=0.7" }
|
2025-04-20 10:51:45 +00:00
|
|
|
|
|
2025-10-30 05:32:40 +00:00
|
|
|
|
cpio_reader = "0.1.2"
|
|
|
|
|
|
xz4rust = { version = "0.2.1", default-features = false, features = ["alloc"] }
|
|
|
|
|
|
|
2024-12-12 16:56:20 +00:00
|
|
|
|
defer = "0.2.1"
|
2025-03-27 06:16:10 +00:00
|
|
|
|
cfg-if = { version = "1.0.0" }
|
2025-06-14 12:42:58 +00:00
|
|
|
|
derive_builder = { version = "0.20.2", default-features = false, features = [
|
|
|
|
|
|
"alloc",
|
|
|
|
|
|
] }
|
2024-11-16 08:21:20 +00:00
|
|
|
|
|
refactor(net): the big network rebuild (#977)
* ready for merge in master (#964)
uevent should be format
Enum of smoltcp socket should be optimized.
need to add interface for routing subsys
actix is still not abled to run.
clean some casual added code to other places
* updates uevent and make fmt
* 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试
* 修改net设备的uevent内容,使之与Linux语义一致
* 删除无用注释
* feat: 支持 sysfs下 block, char, Net, rtc, tty 等类型设备的 uevent 文件读操作 (#973)
* 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试
* 修改net设备的uevent内容,使之与Linux语义一致
* 删除无用注释
* can ctrl-c interupt from blocking accept
* make fmt
* clean debug messages
* 清理积弊,不必要的动态分发和智能指针
* remove uevent and netlink
* fmt
* remove uevent test
* 重新组织代码分布
* remove unused imports
* fix it back to old syscall printing style
* regulate naming to posix
* todo: socket close 及 port 接触占用
* fix: format check
* feat: remove syscall prettier printing (#988)
* 重新组织代码分布
* remove unused imports
* fix it back to old syscall printing style
* regulate naming to posix
* todo: socket close 及 port 接触占用
* fix: format check
* remove unnecessary warnings and impls
* loopback assign single ip, remove unnecessary comments
* fmt
* 去除virtio_blk, virtio_net expect错误处理,直接返回错误
* fix: 修复网卡顺序的bug (#996)
* fix: 修复网卡顺序的bug
* make fmt
* feat: 添加默认网卡字段
* make fmt
* 删掉奇怪加入的文件
* fix: ipv6, AddressFamily有转换问题。
* make fmt
* feat(net): 实现unix抽象地址空间 (#1017)
* feat(doc):添加网络子系统模块 (#1020)
* feat(doc): 添加网络子系统文档
* make fmt
* fix(net): TCP Resources and add syscall print, change to use latest smoltcp (#1032)
* change to smoltcp
* add syscall, fix wront accept-listen logic
* add version and resource close
* debug and add socket option level print
* fix: fix udp and run dog in udp
* turn off syscall printing, remove unused imports and make fmt
* turn off syscall printings
* 纸糊忙等tcp connecting,尚不明确连接可用的机制。
* turn off syscall
* fix: 修正IfaceCommon的bounds字段的锁使用问题&调度问题
- 中断上下文内用到的锁,在外面要irqsave.
- 把主线调度的pr应用到当前分支: https://github.com/DragonOS-Community/DragonOS/pull/1063
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(socket): 实现shutdown系统调用的基础结构并启用相关方法
* feat(socket): 添加shutdown方法并实现ShutdownTemp的TryFrom转换
* fmt
* fix(net): misc of resources release (#1096)
* fix: TCP socket miss activation after close
* fix: TCP socket miss activation after close (#1085)
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
* fmt: format
* fix: loopback and udp resource problem (#1086)
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
* fix(net): Unix 资源释放 (#1087)
* unix socket 相关资源释放 #991
* 完善streamsocket资源释放
* 解决inode和id不匹配
* fix TCP socketset release (#1095)
* fix: TCP socket miss activation after close
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
---------
Co-authored-by: YuLong Huang <139891737+LINGLUO00@users.noreply.github.com>
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参 (#1083)
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot (#1084)
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot
- 校验magic number
- 支持多个cmd (具体内容未实现)
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* fix: 修复do_wait函数在wait所有子进程时,忘了释放锁就sleep的bug (#1089)
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(virtualization): 内核虚拟化支持 (#1073)
* 几个结构体
* 通过vmx_init以及create_vm,create_vcpu部分TODO
* kvm_run完成一半
* 能够成功vmlaunch,但是在vmexit时候还有些问题未排查出来
* 解决了vmlaunch导致的cpu_reset的问题
* 整理代码
* 暂时性push到hyc仓库
* 修改内存虚拟化部分参数传入,解决死锁问题
* 初步完成ept映射.但不停EPT_VIOLATION
* 初步完成了EPT映射,但是读写内存还是有点问题
* fixme
* 更新了一些truncate到from_bits_unchecked的实现
* 完成内存虚拟化EPT_VIOLATION的映射
* fmt
* Remove /fixme from .gitignore
* Remove /fixme file
* Update kernel/src/init/init.rs
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
* Update kernel/src/init/init.rs
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
* 修改了注释格式,删除了附带的一些文件操作
* feat(syscall): 实现syscall restart (#1075)
能够在系统调用返回ERESTARTSYS时,信号处理结束后,自动重启系统调用.
TODO: 实现wait等需要restart_block的系统调用的重启
Signed-off-by: longjin <longjin@DragonOS.org>
* chore: update docker image version in script && update doc (#1076)
* chore: update docker image version in script
* chore: replace lots of spaces with newline in doc
* fix: 修复wait4系统调用部分语义与Linux不一致的问题 (#1080)
* fix: 修复wait4系统调用部分语义与Linux不一致的问题
解决wait不住/wait之后卡死的bug
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(fs/syscall): 实现fchdir系统调用 (#1081)
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(mm): 修复fat文件系统的PageCache同步问题 (#1005)
---------
Co-authored-by: longjin <longjin@DragonOS.org>
* fix: 修正nographic启动时,控制台日志未能输出到文件的问题 (#1082)
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参 (#1083)
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot (#1084)
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot
- 校验magic number
- 支持多个cmd (具体内容未实现)
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* fix: 修复do_wait函数在wait所有子进程时,忘了释放锁就sleep的bug (#1089)
Signed-off-by: longjin <longjin@DragonOS.org>
* pull主线并且fmt
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
Co-authored-by: LoGin <longjin@DragonOS.org>
Co-authored-by: LIU Yuwei <22045841+Marsman1996@users.noreply.github.com>
Co-authored-by: MemoryShore <1353318529@qq.com>
* fix: 在插入新的timer时,边界条件判断不正确的问题 (#1091)
修复split_pos 初始值错误导致原本应该被插入到链表末尾的定时器,插入到了链表头
Signed-off-by: longjin <longjin@DragonOS.org>
* fmt
* feat(net): Add Inet documenation
* Revert "Merge Master"
* cleanup codes
* refactor: 将设备名称 "lo" 提取为常量 DEVICE_NAME
Signed-off-by: longjin <longjin@DragonOS.org>
* make fmt (#1109)
* fmt (#1110)
* refactor: 删除多余的代码
Signed-off-by: longjin <longjin@DragonOS.org>
* refactor: 移除网络重构分支中,use xxx::*的内容 (#1117)
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(net): 引入kthread,将Inet-网卡处理流程移入内核线程中
* change socket interface
* add check target vscode settings
* fix(net,unix): fix miss create of file
* fix(net): format codes
* fix: 修复缺失的glibc和busybox的toml文件
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fmt
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* refactor: 统一接口到 Socket trait 一层
* fix(user): http_server 错误判断创建socket的返回值
* feat(net): add epoll logical support for inet sockets
* fix(net): can write file, have problem in notification
* refactor: 消除warning,优化代码结构
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix(epoll): 修复connect的忙等待逻辑,以及支持socket加入epoll
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fmt
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 简单实现unix stream & seqpacket
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix(unix):让 unix socket 的close方法返回Ok
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* chore: 更新依赖镜像并调整调试输出
- 将inherit-methods-macro依赖从GitHub迁移至DragonOS镜像源
- 移除rust-analyzer的allTargets检查配置
- 简化LoopbackInterface和IfaceCommon的Debug实现
- 移除socket resize方法中的冗余警告日志
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
Co-authored-by: val213 <1042594899@qq.com>
Co-authored-by: Val213 <112376067+val213@users.noreply.github.com>
Co-authored-by: 黄铭涛 <1037827920@qq.com>
Co-authored-by: Cai Junyuan <121806694+smallcjy@users.noreply.github.com>
Co-authored-by: smallcjy <2628035541@qq.com>
Co-authored-by: longjin <longjin@DragonOS.org>
Co-authored-by: xiaolin2004 <1553367438@qq.com>
Co-authored-by: YuLong Huang <139891737+LINGLUO00@users.noreply.github.com>
Co-authored-by: Z Fan <140599389+BrahmaMantra@users.noreply.github.com>
Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
Co-authored-by: LIU Yuwei <22045841+Marsman1996@users.noreply.github.com>
Co-authored-by: MemoryShore <1353318529@qq.com>
Co-authored-by: 火花 <sparkhhhhhhhhhh@outlook.com>
2025-09-11 16:35:13 +00:00
|
|
|
|
inherit-methods-macro = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/inherit-methods-macro", rev = "98f7e3e" }
|
|
|
|
|
|
|
2023-11-25 04:07:39 +00:00
|
|
|
|
# target为x86_64时,使用下面的依赖
|
|
|
|
|
|
[target.'cfg(target_arch = "x86_64")'.dependencies]
|
2024-09-05 13:12:20 +00:00
|
|
|
|
multiboot2 = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/multiboot2", rev = "05739aab40" }
|
2024-03-05 09:22:04 +00:00
|
|
|
|
raw-cpuid = "11.0.1"
|
|
|
|
|
|
x86 = "=0.52.0"
|
2025-08-18 05:25:19 +00:00
|
|
|
|
x86_64 = "=0.15.2"
|
|
|
|
|
|
uefi = { version = "=0.26.0", features = ["alloc"] }
|
|
|
|
|
|
uefi-raw = "=0.5.0"
|
2022-11-11 07:35:37 +00:00
|
|
|
|
|
2024-01-03 10:00:47 +00:00
|
|
|
|
# target为riscv64时,使用下面的依赖
|
|
|
|
|
|
[target.'cfg(target_arch = "riscv64")'.dependencies]
|
2025-04-02 05:49:57 +00:00
|
|
|
|
riscv = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/riscv.git", rev = "4241a97", features = [
|
|
|
|
|
|
"s-mode",
|
|
|
|
|
|
] }
|
2025-10-26 16:11:00 +00:00
|
|
|
|
byte-slice-cast = { version = "1.2.2", default-features = false }
|
2024-03-05 09:22:04 +00:00
|
|
|
|
sbi-rt = { version = "=0.0.3", features = ["legacy"] }
|
2025-08-18 05:25:19 +00:00
|
|
|
|
uefi = { version = "=0.26.0", features = ["alloc"] }
|
|
|
|
|
|
uefi-raw = "=0.5.0"
|
2024-01-03 10:00:47 +00:00
|
|
|
|
|
2025-04-20 10:51:45 +00:00
|
|
|
|
# target为loongarch64时,使用下面的依赖
|
|
|
|
|
|
[target.'cfg(target_arch = "loongarch64")'.dependencies]
|
2025-05-07 11:00:02 +00:00
|
|
|
|
loongArch64 = "=0.2.5"
|
2025-04-20 10:51:45 +00:00
|
|
|
|
|
|
|
|
|
|
# 由于unwinding库不支持loongarch64架构,因此需要排除该依赖项
|
|
|
|
|
|
[target.'cfg(not(target_arch = "loongarch64"))'.dependencies]
|
2025-08-18 05:25:19 +00:00
|
|
|
|
unwinding = { version = "=0.2.8", default-features = false, features = [
|
2025-04-20 10:51:45 +00:00
|
|
|
|
"unwinder",
|
|
|
|
|
|
"fde-gnu-eh-frame-hdr",
|
|
|
|
|
|
"panic",
|
|
|
|
|
|
"personality",
|
|
|
|
|
|
] }
|
2024-01-03 10:00:47 +00:00
|
|
|
|
|
2022-11-11 14:21:44 +00:00
|
|
|
|
# 构建时依赖项
|
2022-11-11 07:35:37 +00:00
|
|
|
|
[build-dependencies]
|
2023-11-17 03:26:26 +00:00
|
|
|
|
kernel_build = { path = "../build-scripts/kernel_build" }
|
2023-04-05 16:50:14 +00:00
|
|
|
|
|
2023-03-04 10:36:55 +00:00
|
|
|
|
[dependencies.lazy_static]
|
2024-03-05 09:22:04 +00:00
|
|
|
|
version = "=1.4.0"
|
2023-03-04 10:36:55 +00:00
|
|
|
|
# 由于在no_std环境,而lazy_static依赖了spin库,因此需要指定其使用no_std
|
|
|
|
|
|
features = ["spin_no_std"]
|
|
|
|
|
|
|
2023-10-24 06:31:56 +00:00
|
|
|
|
# The development profile, used for `cargo build`
|
|
|
|
|
|
[profile.dev]
|
|
|
|
|
|
# opt-level = 0 # Controls the --opt-level the compiler builds with
|
2025-04-02 05:49:57 +00:00
|
|
|
|
debug = true # Controls whether the compiler passes `-g`
|
2023-10-24 08:40:49 +00:00
|
|
|
|
|
2023-07-22 08:27:02 +00:00
|
|
|
|
# The release profile, used for `cargo build --release`
|
|
|
|
|
|
[profile.release]
|
2025-03-25 05:41:30 +00:00
|
|
|
|
debug = false
|
feat(net): 桥接网络支持 (#1287)
* feat: 新增veth和bridge结构体,尚未详细测试
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(net): 完善一下已有的bridge以及veth设备,增加一些调试信息
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(net): 完善veth网卡驱动,能通过测例;简单修改vridge设备,尚未测试
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(routing): 简单添加路由子系统,尚未完成
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(veth): 增加veth默认对端路由
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(socket): 恢复udp socket中的wait_queue等待
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(net): 补充bridge的实现
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(bridge): 更改测试程序
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 重命名测试程序
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 更改veth&beidge测试程序的toml
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 暂时添加route_iface以及route_table
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: draft router
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 实现简单的路由功能,未详细测试
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 添加netlink框架,内核相应的处理逻辑以及读取写入用户空间尚未完成
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netlink): 完善netlink的读写部分,增加addr的内核处理逻辑
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 移动routing的位置
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 补充netlink的阻塞等待逻辑&&fmt
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netns): 添加网络命名空间
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netns): 删除全局路由,使用当前netns下的路由
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netlink): 将netlink socket移入netns中
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 完成netlink addr消息的支持,增加测试程序
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netlink): 消除一些warning
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix: 新建netns时插入loopback网卡到设备列表
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 将veth和bridge测试程序改用C完成
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(gdb): 增加gdb debug可选项
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix: 修复SockAddrIn结构体中的sin_addr字节序问题,确保正确处理IPv4地址
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 手糊实现路由功能,后续需要更改事件驱动
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netlink): 补充getlink方法以及相关结构体
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* Refactor network driver interfaces and introduce NAPI support
- Removed the default_iface parameter.
- Introduced a new NAPI module to manage network polling and scheduling.
- Updated the Iface trait to include a napi_struct method for NAPI support.
- Modified Veth network interfaces to integrate with the new NAPI structure.
- Refactored the Router implementation to remove unnecessary polling threads and wait queues.
- Updated NetNamespace to manage a list of bridge devices.
- Cleaned up various unused methods and comments across network-related files.
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 将virtio网卡的处理逻辑移动进ksoftirqd中
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netlink): 暂时为多播消息添加allow unused,消除warning
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(nat): 实现SNAT和DNAT
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(epoll): 更改epoll唤醒判断的逻辑,支持socket加入epoll
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 修改test_bind,防止爆内存
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 添加一个路由todo信息
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix: rebase主线之后修改冲突
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: fmt
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 清除无用日志
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 补充一个panic信息
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 将kernel文件夹重命名为kern
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 删除netlink测试程序中的linux/netlink.h头文件
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
---------
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
2025-10-29 17:55:04 +00:00
|
|
|
|
# debug = true
|