• IP结构与操作之inet_addr_onlink


     1 /* 根据指定设备的ip配置块,判断地址a,b是否在同一子网 */
     2 /* 
     3     --邻居项要求,在同一子网中的两个设备,
     4     至少有一个接口有相同的子网配置,
     5     --也就是说对端的in_dev->ifa_list中也能找到一个与当前
     6     in_dev->ifa_list中相同的ifa_mask
     7     --如果有这样一个ifa_mask使得两个地址与其计算后
     8     网络部分相同,则在同一子网
     9 */
    10 int inet_addr_onlink(struct in_device *in_dev, __be32 a, __be32 b)
    11 {
    12     rcu_read_lock();
    13 
    14     /* 遍历主地址 */
    15     for_primary_ifa(in_dev) {
    16         /* a与ifa在同一网段 */
    17         if (inet_ifa_match(a, ifa)) {
    18             /* b不存在,或者b与ifa在同一网段 */
    19             if (!b || inet_ifa_match(b, ifa)) {
    20                 rcu_read_unlock();
    21 
    22                 /* ab在同一子网 */
    23                 return 1;
    24             }
    25         }
    26     } endfor_ifa(in_dev);
    27     rcu_read_unlock();
    28     return 0;
    29 }
  • 相关阅读:
    数据分析
    爬虫系统
    数据结构
    OpenStack系列
    python全栈开发之路
    机器学习——线性回归算法
    简单回测框架开发
    量化交易——羊驼交易法则
    量化交易——动量策略vs反转策略
    量化交易——PEG策略
  • 原文地址:https://www.cnblogs.com/wanpengcoder/p/7537996.html
Copyright © 2020-2023  润新知