zoukankan      html  css  js  c++  java
  • 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表示地址结构,其成员包含了地址,掩码,范围等信息,多个地址连接成链表,主地址在前,从地址在后;

  • 相关阅读:
    Linux服务器因为Nginx日志access.log文件过大项目无法访问的问题
    【译】StackExchange.Redis 中文文档(二)配置
    【译】StackExchange.Redis 中文文档(一)基础
    Redis应用(一)实时在线用户
    [.NET]Thread与Task的区别
    并查集(UnionFind)技巧总结
    [LeetCode题解]377. 组合总和 Ⅳ
    [LeetCode题解]216. 组合总和 III
    [LeetCode题解]39. 组合总和
    [LeetCode题解]40. 组合总和 II
  • 原文地址:https://www.cnblogs.com/wanpengcoder/p/7536381.html
Copyright © 2011-2022 走看看