IP结构与操作之in_device结构和in_ifaddr结构

in_device为ip配置块,关联了二层设备,包含ip地址列表,组播配置,arp参数,接口配置等;

复制代码
 1 /* ip配置块 */
 2 struct in_device {
 3     /* 二层设备 */
 4     struct net_device    *dev;
 5     /* 引用计数 */
 6     atomic_t        refcnt;
 7     /* 是否正在销毁 */
 8     int            dead;
 9     /* ip地址列表 */
10     struct in_ifaddr    *ifa_list;    /* IP ifaddr chain        */
11 
12     /* 组播相关 */
13     struct ip_mc_list __rcu    *mc_list;    /* IP multicast filter chain    */
14     struct ip_mc_list __rcu    * __rcu *mc_hash;
15 
16     int            mc_count;    /* Number of installed mcasts    */
17     spinlock_t        mc_tomb_lock;
18     struct ip_mc_list    *mc_tomb;
19     unsigned long        mr_v1_seen;
20     unsigned long        mr_v2_seen;
21     unsigned long        mr_maxdelay;
22     unsigned char        mr_qrv;
23     unsigned char        mr_gq_running;
24     unsigned char        mr_ifc_count;
25     struct timer_list    mr_gq_timer;    /* general query timer */
26     struct timer_list    mr_ifc_timer;    /* interface change timer */
27 
28     /* arp参数 */
29     struct neigh_parms    *arp_parms;
30     /* 设备接口的一些配置 */
31     struct ipv4_devconf    cnf;
32     struct rcu_head        rcu_head;
33 };
复制代码

 

in_ifaddr表示地址结构,其成员包含了地址,掩码,范围等信息,多个地址连接成链表,主地址在前,从地址在后;

posted @   AlexAlex  阅读(2292)  评论(0)    收藏  举报
编辑推荐:
· C23和C++26的#embed嵌入资源指南
· 「EF Core」框架是如何识别实体类的属性和主键的
· 独立开发,这条路可行吗?
· 我在厂里搞 wine 的日子
· 如何通过向量化技术比较两段文本是否相似?
阅读排行:
· 瞧瞧别人家的接口重试,那叫一个优雅!
· 他没买 iPad,而是花了半年时间,为所有“穷学生”写了个笔记神器
· Visual Studio 现已支持新的、更简洁的解决方案文件(slnx)格式
· 上周热点回顾(7.7-7.13)
· MySQL 13 为什么表数据删掉一半,表文件大小不变?
点击右上角即可分享
微信分享提示