C RTNL是什么意思?

C RTNL是什么意思?,c,linux,networking,kernel,connman,C,Linux,Networking,Kernel,Connman,我正在看连接管理器(ConnMan)源代码,它是Linux(-like)系统管理网络的工具。其中一个(未记录的)源文件的命名模糊rtnl.c。有人知道RTNL是什么意思吗?用谷歌搜索它并不是很有效。每一个真正连接到网络和RTNL的站点似乎都是由那些已经知道其含义的人编写的 因为在一个答案中,对一些不同的ConnMan来源进行了一些讨论,所以我使用了以下来源的答案: git://git.kernel.org/pub/scm/network/connman/connman.git如果您查看来源,它会

我正在看连接管理器(ConnMan)源代码,它是Linux(-like)系统管理网络的工具。其中一个(未记录的)源文件的命名模糊
rtnl.c
。有人知道RTNL是什么意思吗?用谷歌搜索它并不是很有效。每一个真正连接到网络和RTNL的站点似乎都是由那些已经知道其含义的人编写的

因为在一个答案中,对一些不同的ConnMan来源进行了一些讨论,所以我使用了以下来源的答案:


git://git.kernel.org/pub/scm/network/connman/connman.git

如果您查看来源,它会说这是用于“路由Netlink”。netlink手册页上说:“netlink用于在内核和用户空间进程之间传输信息。”


rtnl.c的源代码只有50行,从阅读它的目的来看似乎很明显…

这是一个实用函数的集合,因为我知道它的意思是“rt net lock”。。。我认为r是路由,所以可能是路由表网络锁?也许只是路由(正在)网络锁?真的不确定。。。在源文件中有这样的说法吗?我相信RTNL的意思是“路由网络链接”。是的,尤其是在某种程度上。这是我第一次读C,第一次读内核代码,第一次读网络配置。所以对我来说,没有什么是显而易见的,你可能读了另一个文件,然后我读。在我的rtnl.c中,VIM在1676行中找不到任何
/routing.netlink/i
。@erikb:我想在深入研究已建立的网络代码之前,您应该先处理一些简单的示例。看这些东西的人通常已经知道自己在做什么,我敢打赌,其中有一定比例的人一半的时间仍然感到困惑如果你不能弄清楚它的功能,为什么还要看代码呢?啊,那是一个不同的rtnl.c,我刚刚看了ConnMan的代码,它仍然只是一个与netlink合作、设置和管理路由的门面。哎哟。。。你的老板应该送你去上c课:)我同意赵的观点,如果你被要求在不了解c或内核编程的情况下理解这个源代码,你将完全迷失方向。