Cai Junyuan
Cai Junyuan
由于现在os未实现在用户态为网卡动态分配内存,而lo网卡的id最先分配且ip固定不能被分配,所以特判取用id为1的网卡(也就是virto_net)。
* 使用初始化宏初始化lo * 修复网卡顺序变换导致http_server无法正常工作的问题 * 将lo的iface_config的mac地址调整为[0x00, 0x00, 0x00, 0x00, 0x00, 0x00]
**描述错误** virto_net网卡不位于网卡表头时,运行http_server程序客户端请求连接时,smoltcp无法处理arp请求。但virto_net位于表头时又可正常工作。 **请填写您的电脑的信息:** - 操作系统及版本:Ubuntu 22.04 **重现步骤** commit on: https://github.com/DragonOS-Community/DragonOS/pull/977/commits/40d9375b6bf3c49a6989566f7466e9b1c3e5a942 重现行为的步骤: 1. 恢复lo网卡使用初始化宏,此时lo将位于表头 2. 运行http_server发现arp请求无法正常处理,导致客户端无法连接 **屏幕截图** 如果适用,添加屏幕截图以帮助解释您的问题。  
## 需求 实现unix socket close 握手流程(四次挥手),在unix socket close时对unix 下的几张表进行对应表项资源的释放,防止unix下静态表扩张,占用内存。
**描述错误** 应用程序开线程后退出会panic,比如test-for-robustfutext,test-unix-stream-socket等开线程的应用程序 **请填写您的电脑的信息:** - 操作系统及版本:Ubuntu 22.04 - DragonOS版本:[#f9fe30b](https://github.com/DragonOS-Community/DragonOS/commit/f9fe30be89e89499aad4ef52b4648986bef5a7d8) **重现步骤** 重现行为的步骤: 运行test-for-robustfutext **期望行为** 正常运行 **屏幕截图**  **系统日志** 
## 背景 unix ipc 机制对于跨线程双向通信的需求。由于目前unix的socket通信是直接获取对端缓存进行写,对端对自身缓存进行读。这样的机制对于适配异步读写和提高读写性能不太友好,需要采用通道双向通信的机制。 ## 需求 实现类似Go中能够跨线程双向通信的Channel的IPC机制 ## 设计 可以采用消费-生产模型,两端同时作为读端和写端。