是否需要实现网络协议族的操作集?

在考虑实现初始化 netlink_proto 的时候,发现inet似乎没有实现网络协议族的操作集 proto,而后面还需要实现 proto_register 等,感觉是不是得实现一个 proto 的 trait 用来把协议注册到内核?之前别的协议是怎么做的?似乎没有找到功能类似的代码。 :smiling_face_with_tear:

1 个赞

应该是net/mod.rs下的 Socket trait,定义了 socket (proto) 的行为:
https://code.dragonos.org.cn/xref/DragonOS/kernel/src/net/socket/mod.rs?r=2eab6dd743e94a86a685f1f3c01e599adf86610a#97
但是暂时没有提供外部注册的api(事实上内部统一posix与smoltcp socket的方式也仅仅是分支判断而非动态注册)