Browse Source

完善SIG-Network条目

Samuka007 10 months ago
parent
commit
f3c251ecbd
3 changed files with 183 additions and 0 deletions
  1. 101 0
      sigs/sig-network/README.md
  2. 56 0
      sigs/sig-network/charter.md
  3. 26 0
      sigs/sig-network/contributing.md

+ 101 - 0
sigs/sig-network/README.md

@@ -0,0 +1,101 @@
+# SIG-Network
+
+<!-- > 这个目录下是SIG信息的模版,当你申请成立新的SIG的时候,需要填写相关的内容。 -->
+
+<!-- (这里是一段SIG的简介)SIG-template维护了XXXXX,它的目标是XXXX。 -->
+
+
+该 [章程](charter.md) 定义了 [SIG-Network] 的范围和治理相关的内容。
+
+## 会议
+
+- SIG定期会议:**北京时间 周五 10:00** (每两周一次)
+  - 会议记录和议程 (这里要指向对应的文档链接)
+  - 会议视频 (指向DragonOS社区官方bilibili账号下,每个SIG的合集链接)
+
+
+## SIG管理层
+
+### 主席
+
+SIG 主席负责管理 SIG 的运营和流程。
+- 戴吕琛,[`@Samuka007`],华南理工大学
+
+### 技术负责人
+
+- 付鼎拔,[`@Saga1718`],华南理工大学
+- 蔡俊源,[`@smallcjy`],华南理工大学
+
+## 联系方式
+
+- BBS版块:[DragonOS开源社区 - SIG - Network](https://bbs.dragonos.org.cn/c/sig-net)
+- Github Team: [`@DragonOS-Community`] / [`SIG-Network`]
+- PMC联络人:[`@Samuka007`]
+
+## 工作组
+
+~~以下是SIG-template参与并支持的 [工作组]~~ 
+
+暂无工作组
+
+<!-- - [示例工作组] -->
+
+## 子项目列表
+
+以下 [子项目] 归 [SIG-Network] 所有:
+
+### Loopback网卡实现
+
+Loopback网卡是一个虚拟网络设备,主要用于在本地机器上进行网络通信。
+
+#### 子项目Maintainer
+
+- 蔡俊源, [`@smallcjy`]
+
+### 解决actix-web与epoll的适配
+
+解决 epoll 管理 socket 所遇到的具体问题。
+
+#### 子项目Maintainer
+
+- 付鼎拔, [`@Saga1718`]
+
+## 子项目的详细信息
+
+### Loopback网卡实现
+> 详见 [实现Loopback回环网卡设备及其驱动 - DragonOS开源社区](https://bbs.dragonos.org.cn/t/topic/238)
+
+LoopbackDevice的实现分为四层:
+- #### Loopback层
+  实现的核心。其定义Loopback设备的数据结构,采用 `VecDeque<Vec>` 用来储存接受的数据包和代发送的数据包。
+
+- #### LoopbackInterface层
+  负责实现网卡接口设备的基本功能,实现Device、NetDevice、KObject的接口函数。
+
+- #### LoopbackDeviceInnerWapper层
+  用于封装底层,具有更好的封装性。
+
+- #### LoopbackDeviceInner层
+  负责实现网卡的基本功能,发包,收包等。
+
+### 解决actix-web与epoll的适配
+> 详见 [[Bug] 是否考虑资源限制对 epoll管理socket存在问题 - DragonOS开源社区](https://bbs.dragonos.org.cn/t/topic/235)
+
+解决在运行 test-backlog 程序时,行为与预期不符的问题。
+
+#### 问题复现与跟踪
+使用 strace 跟踪 epoll_ctl 和 epoll_wait 系统调用。复现 test-backlog 程序的两个进程共享 epoll 实例管理 socket 的问题。
+
+#### 原因分析
+分析 epoll_ctl 在 EPOLL_CTL_ADD 操作缺失的原因。调查 cgroup 或mmap map_fixed等资源限制有关功能缺失对 epoll 和 socket 管理的影响。
+
+<!-- 引用 -->
+[工作组]: /governance/dev-group.md#WG(工作组)
+[子项目]: /governance/dev-group.md#子项目
+[示例工作组]: /wgs/wg-template/README.md
+[SIG-Network]: ./README.md
+[`@DragonOS-Community`]: https://github.com/DragonOS-Community
+[`SIG-Network`]: https://github.com/orgs/DragonOS-Community/teams/sig-network
+[`@Samuka007`]: https://github.com/Samuka007
+[`@Saga1718`]: https://github.com/Saga1718
+[`@smallcjy`]: https://github.com/smallcjy

+ 56 - 0
sigs/sig-network/charter.md

@@ -0,0 +1,56 @@
+# 架构章程
+
+本章程遵循 [SIG治理文档] 中描述的约定,并使用 [SIG章程指南] 中概述的角色和组织管理。
+
+## 范围
+
+[SIG-Network] 维护并发展了 [DragonOS] 网络方面相关的设施。
+
+### 属于 [SIG-Network] 的范围
+
+#### [DragonOS] 内核网络模块
+
+- 于 [`DragonOS`] / [`kernel`] / [`src`] / [`net`] 下的源码
+- 以及需要调用以上源码的部分
+
+#### 有关 [DragonOS] 网络方面相关的问题
+
+- 有关未能实现的功能、特性
+- 使用 [DragonOS] 过程中出现的系统内的网络相关问题
+
+### 不属于当前SIG的范围
+
+- 因外部系统导致的,使用 [DragonOS] 异常的网络问题(如自身网络环境差)
+- 获取 [DragonOS] 源码或镜像失败的相关网络问题
+
+## 角色和组织管理
+
+该部分遵循 [SIG治理文档] 中描述的角色和组织管理,并 **不对** [SIG治理文档] 描述的角色职责进行更改。
+
+### 主席的额外职责
+
+<!-- > 这部分根据每个SIG自己来定 -->
+
+- 在每次 SIG 会议之前管理和策划与所有子项目相关的项目板,以便进行讨论
+- 确保在会议前 24 小时填写议程,否则会议将被取消
+- 尽可能在活动和社区会议上报告 SIG 状态
+- 积极促进 SIG 的多样性和包容性
+- 遵守 Kubernetes 行为准则,尤其是在个人行为和责任方面
+
+### 与 [SIG治理文档] 的差异
+
+与 [SIG治理文档] 无差异。
+
+### 子项目创建
+
+参见 [SIG治理文档的子项目创建部分]
+
+[SIG治理文档]: /governance/sig-governance/README.md
+[SIG治理文档的子项目创建部分]: /governance/sig-governance/README.md#子项目创建
+[SIG章程指南]: /governance/sig-governance/sig-charter-guide.md
+[`DragonOS`]: https://github.com/DragonOS-Community/DragonOS
+[`kernel`]: https://github.com/DragonOS-Community/DragonOS/tree/master/kernel
+[`src`]: https://github.com/DragonOS-Community/DragonOS/tree/master/kernel/src
+[`net`]: https://github.com/DragonOS-Community/DragonOS/tree/master/kernel/src/net
+[SIG-Network]: ./README.md
+[DragonOS]: https://dragonos.org/

+ 26 - 0
sigs/sig-network/contributing.md

@@ -0,0 +1,26 @@
+# 为 [SIG-Network] 作出贡献
+
+欢迎为 [SIG-Network] 作出贡献。[SIG-Network] 有多个您可以贡献的领域。这些贡献可以以代码、文档、支持的形式出现,参与论坛讨论,出席会议等等。本文档描述了 [SIG-Network] 参与的不同主要功能区域,概述了这些领域,并提供了获取更多参与的指南。您可以把这看作是 [SIG-Network] 的起点,或者是选择一个您感兴趣的领域来开始。
+
+## 参与论坛讨论
+
+积极的论坛讨论可以帮助我们快速定位与解决 **大部分** 技术问题。哪怕不是这样,至少我们知道他是怎么发生的(How it works)。
+
+(加入论坛讨论本身就使得我们感到开心)
+
+## 尝试修复Bugs
+
+如果你是一位善良且热心的 **开发者**,又或者你对眼下的问题心急如焚且有把握解决,你可能希望能将此 **Bug** 消灭。既然如此,那就做吧~ 
+
+修复 **Bug** ,然后提交你的Pr,以便大家合力消除存在于大家机子上的 **Bug** !
+
+## 加入我们
+
+当你提交的 **有关 [SIG-Network] 的Pr** 通过审批,即可获得加入我们的资格。
+
+更多加入可能,请参考 [导师制]
+
+欢迎您来~
+
+[导师制]: /mentorship/README.md
+[SIG-Network]: ./README.md