gpt4 book ai didi

c - 最长前缀匹配表

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:38 24 4
gpt4 key购买 nike

我想构建一个内核模块,它将维护自己的表以进行最长前缀匹配。为此,我尝试使用 linux 的“include/net/ip6_fib.h”。是否可以通过这个来满足需要的功能?我走在正确的道路上吗?

如果答案是肯定的,那么谁能告诉我一些解释 IP6 FIB API 的好资源?提前致谢。

问候

最佳答案

我的内核空间经验很少,但从用户空间的角度来看,我知道 Linux 路由表可以独立于数据包的路由。如果我没有正确理解你的问题,那就是你要问的。

AFAIK Linux 路由仅使用在“路由策略”中定义的表,即它们具有引用它们的路由规则。 Linux 默认使用表“local”、“main”和“default”(表号 255、254 和 253)。所以如果你把你的路线放在例如表号 100,它们将不会被常规路由机制使用,除非您添加引用该表的规则。您可以通过键入 ip rule list 查看路由“策略”。这个也可以从“官方”的iproute中了解到documentation自 Alexey N. Kuznetsov 在世纪之交写下它以来就没有更新过。

但是,我不知道这如何影响前缀匹配和 ip6_fib api,因为路由查找被缓存(在路由表之外)。您可以通过键入 ip route list table cache 查看路由缓存。 (旁注:可以在 http://vincent.bernat.im/en/blog/2011-ipv4-route-cache-linux.html 找到对路由缓存的深入了解)

关于在内核中使用 FIB,我无法提供任何帮助,这是您的第二次询问。我只能冒险内核源代码是最新的文档,而且很可能也是唯一的文档。

关于c - 最长前缀匹配表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16985540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com