网络子系统67_路由表处理设备事件

简介:
//	路由表对网络设备事件的处理
//		在ip_rt_init->ip_fib_init中注册
1.1 static struct notifier_block fib_netdev_notifier = {
	.notifier_call = fib_netdev_event,
};

// 路由表处理设备事件
//	函数主要功能:
//		1.设备开启
//			1.1 将设备配置的所有ip添加到路由表中
//			1.2 同步多路径缓存
//			1.3 刷新路由缓存

//		2.设备关闭,注销
//			2.1 关闭设备上的ip协议

//		3.设备mtu,载波改变:
//			3.1 同步路由缓存
1.2 static int fib_netdev_event(struct notifier_block *this, unsigned long event, void *ptr)
{
	struct net_device *dev = ptr;
	struct in_device *in_dev = __in_dev_get(dev);

	//设备注销
	if (event == NETDEV_UNREGISTER) {
		fib_disable_ip(dev, 2);
		return NOTIFY_DONE;
	}
	// 设备需要配置信息
	if (!in_dev)
		return NOTIFY_DONE;

	switch (event) {
	case NETDEV_UP:
		//设备开启
		for_ifa(in_dev) {
			//将设备配置的ip地址均添加到路由表中
			fib_add_ifaddr(ifa);
		} endfor_ifa(in_dev);
		//多路径同步
#ifdef CONFIG_IP_ROUTE_MULTIPATH
		fib_sync_up(dev);
#endif
		//刷新路由缓存
		rt_cache_flush(-1);
		break;
	case NETDEV_DOWN:
		//设备关闭,关闭设备上的ip协议
		fib_disable_ip(dev, 0);
		break;
		//mtu,载波变化
	case NETDEV_CHANGEMTU:
	case NETDEV_CHANGE:
		//立刻刷新路由缓存
		rt_cache_flush(0);
		break;
	}
	return NOTIFY_DONE;
}

目录
相关文章
|
11天前
|
网络协议 安全 网络安全
|
15天前
|
存储 网络安全 数据安全/隐私保护
|
12天前
|
运维 监控 负载均衡
|
21天前
|
监控 安全 Linux
网络安全事件应急响应
应急响应是针对网络安全事件的快速处理流程,包括信息收集、事件判断、深入分析、清理处置、报告产出等环节。具体步骤涵盖准备、检测、抑制、根除、恢复和总结。
|
18天前
|
负载均衡 安全 网络安全
|
2月前
|
安全 物联网 定位技术
2G网络和基站的撤销对物联网设备的影响
2G网络和基站的撤销对物联网设备的影响是多方面的,以下是对这一影响的详细分析:
2G网络和基站的撤销对物联网设备的影响
|
2月前
|
传感器 物联网 人机交互
物联网:物联网,作为新一代信息技术的重要组成部分,通过智能感知、识别技术与普适计算等通信感知技术,将各种信息传感设备与互联网结合起来而形成的一个巨大网络,实现了物物相连、人物相连,开启了万物互联的新时代。
在21世纪,物联网(IoT)作为新一代信息技术的核心,正以前所未有的速度重塑生活、工作和社会结构。本文首先介绍了物联网的概念及其在各领域的广泛应用,强调其技术融合性、广泛的应用范围以及数据驱动的特点。接着,详细阐述了物联网行业的现状和发展趋势,包括政策支持、关键技术突破和应用场景深化。此外,还探讨了物联网面临的挑战与机遇,并展望了其未来在技术创新和模式创新方面的潜力。物联网行业正以其独特魅力引领科技发展潮流,有望成为推动全球经济发展的新引擎。
|
3月前
|
传感器 SQL 运维
常见网络安全设备:IPS(入侵防御系统)零基础入门到精通,收藏这一篇就够了
常见网络安全设备:IPS(入侵防御系统)零基础入门到精通,收藏这一篇就够了
113 3
|
2月前
|
缓存 运维 监控
|
3月前
|
监控 安全 iOS开发