结构体struct timer_list是内核中的一个实时计时器。其定义如下:
        struct timer_list {
            struct list_head entry;
            unsigned long expires;

unsigned long magic;

void (*function)(unsigned long);
            unsigned long data;

struct timer_base_s *base;
        };
expires 是超时时间,其计时单位是1/HZ,在intel平台,HZ值为100,所以expires精确到1/100秒。到达这个超时>时间后,产生一个中 断,函数function被调用,处理定时器超时事务。而data是传递给function的参数,可以在初始化定时器于给于赋值。 magic被赋于TIMER_MAGIC(0x4b87ad6e),含义暂不明。
    路由子系统的初始化函数中,总共创建了三个定时器,myrt_flush_timer,myrt_periodic_timer, myrt_secret_timer。并启动了后两个定时器,其中myrt_periodic_timer在创建后的60s-120s间的一个随机时间点 第一次超时,以后每60s超时一次。而myrt_secret_timer则在创建后的600s-1200s间的一个随机时间点第一次超时,以后每 600s超时一次。主要用于路由表的垃圾清理等维护性工作。
    然后,初始化函数还会向/proc/net中输出myrt_acct, myrt_cache,stat/myrt_cache三个文件,用于路由相关的信息输出。
    最后,进行xfrm的初始化,关于xfrm,我们在专门的专题中进行分析。

初始化跟路由相关的定时器相关推荐

  1. 路由相关知识,静态路由、默认路由、浮动路由的概念以及基本设置

    路由相关知识,静态路由.默认路由.浮动路由的概念以及基本设置 选取最佳路由时的标准 路由表 路由表的形成 静态路由概念 静态路由的优点和缺点 默认路由 浮动路由 路由协议分类 静态路由.默认路由.浮动 ...

  2. 局部描述符表LDT的作用+定义+初始化+跳转相关

    [0]写在前面 0.1)本代码的作用: 旨在说明局部描述符表的作用,及其相关定义,初始化和跳转等内容: 0.2)文末的个人总结是干货,前面代码仅供参考的,且source code from orang ...

  3. 创建vue项目(四)路由相关知识、路由守卫、插槽、打包小细节

    一.路由相关点 1. 路由跳转传参以及接参 https://segmentfault.com/a/1190000012393587 方法一: (1) 参数配置: { path : 'xx/:参数变量' ...

  4. Linux之网络管理(6)ip及路由相关命令

    Linux之网络管理(6)ip及路由相关命令 linux中提供了很多强大的网络管理工具,而且每更新一些版本后都会有新功能.新工具的出现,对于ip和route设置最常用的,就是ifconfig.rout ...

  5. Vue服务端渲染-路由相关

    Vue服务端渲染-路由相关 跟CSR项目一样,同样使用vue-router来为SSR项目创建路由. import VueRouter from "vue-router"; impo ...

  6. Vue学习第五天(路由相关)

    Vue学习第五天(路由相关) 今天主要学习了vue中ref关键字和路由相关的知识点 对于ref,可以理解为引用,当我们在一个传统的html标签上使用这个标签以后 <login ref=" ...

  7. 路由相关的初始化(二)

    myipv4_dst_ops.gc_thresh是一个无符号数,当路由的哈希表的表项达到这个值时,需要进行理清,从代码来看,它正好被设为 rt_hash_table的入口数,在我们的my_inet模块 ...

  8. 使用Nodejs创建一个Web服务器应如何操作?以及路由相关知识了解

    文章目录 Nodejs创建一个Web服务器 Node.js创建第一个应用 Web服务器介绍 Nodejs创建一个Web服务器 路由 EJS模块引擎 Get.Post 获取GET传值 获取POST传值 ...

  9. linux添加源ip路由命令,linux添加ip、路由相关命令

    1- Linux添加永久路由 vi /etc/sysconfig/network-scripts/route-eth1 ADDRESS0=192.168.10.0 NETMASK0=255.255.2 ...

最新文章

  1. 测试私有方法 重构_通过测试学Go:指针和错误
  2. VC++ 坐标问题总结,控件大小随窗口变化
  3. wps怎么投递简历发到boss直聘_BOSS直聘情色招聘:洗脑传销广告漫天飞,还陷虚假招聘...
  4. 关于apache虚拟主机htttpd的配置实例 (更新中)
  5. PHP随机输出视频API源码,php 32行代码简单实现抖音无水印视频api,附前台页面
  6. YCrCb与YPrPb的含义与区别
  7. python目标跟踪精度曲线图_Python+opencv3.4+Kalman滤波在视频中跟踪绘制运动目标,Pythonopencv34kalman,卡尔曼滤波,实现,物体,追踪,和,轨迹...
  8. ES6 数组的解构赋值
  9. searchIndexer.exe占用过高CPU
  10. window 2008 搭建的DHCP服务器
  11. Visual studio 代码管理工具Git
  12. Hiren’s BootCD 15.2下载 – 史上最强大的WinPE U盘启动工具详细介绍
  13. python eel 无边框_荐帮你解剖Python的一个轻量级桌面GUI开发第三方库:Eel,让它体无完肤...
  14. python中re.sub函数
  15. 献给小白的笔记day6
  16. CKA考试总结 20221003
  17. Js编码和Java后台解码
  18. javaEE开发如何在oracle官网下载安装jdk?(java SE 8u5 JDK 和 Java EE 7 SDK with JDK 7 U45的区别 )
  19. HDFS性能压测工具
  20. JS中 ?? 与 || 的区别

热门文章

  1. 计算机英语摘要,英语翻译摘要地理信息系统 (GIS,Geographic Information System) 是一种基于计算机的工具...
  2. TurtleCoin节点搭建
  3. python提取tuple列表中的特定位置的值
  4. netty mysql 中间件_Cobar_基于MySQL的分布式数据库服务中间件
  5. idea创建管理项目
  6. SpringMVC @ModelAttribute注解
  7. matlab 高级函数
  8. PCM data flow - 6 - 声卡和PCM设备的建立过程
  9. 玛丽卡(codevs 1021)
  10. SQl---基础整理6--数据库的创建