Linux TCP/IP 网络技术解析
1. Netlink 数据结构
Netlink 数据结构在 Linux 内核网络通信中扮演着重要角色,主要包含 nl_table 和 rtnetlink_link 两部分。
- nl_table :
- 是一个指向 sock 结构的指针数组。数组的每个元素代表一个 Netlink 协议族,例如 NETLINK_ROUTE 、 NETLINK_FIREWALL 等。
- 通过特定步骤(如图 19.44 中 42 - 45 行所示)可获取 nl_table 的指针地址,对该指针地址进行解引用就能得到 nl_table 的第一个 sock 元素。在此过程中,主要检查 sock 结构中的 data_ready 函数指针以及它所指向的函数。
- rtnetlink_link :
- 被定义为指向 rtnetlink_link 数据结构的指针数组。每个 rtnetlink_link 数据结构对应一个 rtnetlink 命令,如 RTM_NEWQDISC 是用于添加新队列规则(qdisc)的命令。
- 图 19.45 展示了访问 r
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



