首先
什么是谷歌编程之夏
简单讲就是学生党或者18+
为开源社区写代码最后谷歌买单
根据项目规模
以及相应区域的生活成本
谷歌为参与者提供fair compensation
P4社区的最新声明
我们很高兴地宣布将参加 2024 年 Google 编程之夏 (GSoC)!GSoC 是一个全球计划,它将对开源贡献感兴趣的码农与开源项目维护者联系起来。 今年我们正在指导各种 GSoC 项目,主题包括改进 P4 语言的文档和工具、新的 BMv2 功能以及与更好地与 Kubernetes 集成。当然,如果您想提出自己的与 P4 相关的项目,我们也非常乐意指导。 Contributor 申请将于世界标准时间 2024 年 3 月 18 日星期一 18:00 开放,提交申请(包括项目提案)的截止日期为世界标准时间 2024 年 4 月 2 日星期二 18:00。更多信息可以查询我们的 GSoC 或 Github 。我们期待收到您的申请! P4 社区对今年项目的简要概述: 为 P4C 开发文档网站 该项目涉及构建一个主站来改进 P4 编译器 (P4C) 的文档。目前,文档分布在各种 Markdown 文件和幻灯片中,这可能会让新贡献者感到困惑。该项目的目标是使用现有工具创建一个架构良好且易于导航的文档站点。 将 p4-constraints 前端集成到 P4C 中 p4-constraints 扩展了 P4 语言,支持约束注释。这些约束可以在运行时使用 p4-constraints 库强制执行。目前,该库与 P4C 是独立的。我们希望将 p4-constraints 前端直接集成到 P4C 中。 P4 formatter P4语言目前没有标准化和开源代码的formatter。该项目的重点是将 P4 formatter程序集成到官方 P4 编译器 P4C 中。这项工作涉及解决当前 AST/IR 处理注释和格式选项的限制。 BMv2 packet trace支持 P4 交换机模拟器 BMv2 通过写入日志来跟踪数据包处理,但没有编程的方式来访问此类信息。我们希望在 BMv2 中实现一种机制,以结构化格式记录和提供数据包跟踪,以便于分析和自动化。 BMv2 PNA 支持 可移植网络架构(PNA)规范是针对网络接口卡 (NIC) 的新兴标准。目前BMv2 虽然支持一些 P4 目标架构但是缺乏对 PNA 的支持。该项目涉及在 BMv2 中实现 PNA 功能的核心子集,使其成为用于开发和测试的可行的 PNA 模拟器。(参考阅读:SmartNIC :下一个网络大事件正在发生!) Kubernetes 集群中 P4 使能的容器迁移 Kubernetes 是一个容器编排平台。虽然它提供容器checkpointing,但由于 IP 地址的变化,使用 TCP/IP 等网络协议迁移容器时会出现挑战。该项目旨在设计和实现基于 P4 的解决方案,用于在 Kubernetes 集群容器迁移期间迁移已建立的 TCP 连接。