Linux SRv6
时间: 2023-08-20 09:13:02 浏览: 94
G-SRv6:G-SRv6的存储库
Linux SRv6是指Linux内核中对于SRv6(Segment Routing IPv6)的支持。SRv6是一种基于IPv6的路由技术,它通过在IPv6数据包的头部插入一个Segment Routing Header(SRH)来实现路径控制。Linux内核的SRv6实现包括了数据平面和控制平面的支持。
在Linux内核中,SRv6的数据平面支持包括了中间段终点的操作、SR封装数据包的出口操作以及SR内联数据包的清理操作。中间段终点操作可以对活动段进行递增并重新路由。SR封装数据包的出口操作可以解封装外部IPv6头部和SRH,并路由内部数据包。SR内联数据包的清理操作可以在倒数第二个段终点处移除SRH。此外,还提供了一个名为seg6_enabled的接口sysctl,用于接受/拒绝支持SR的数据包,默认情况下是拒绝的。需要注意的是,该补丁不支持HMAC签名的数据包。
此外,Linux内核的SRv6控制平面支持通过setsockopt系统调用和IPPROTO_IPV6、IPV6_RTHDR选项来进行每个套接字的SRH注入。SRH是通过ipv6_push_nfrag_opts函数进行推送的。
关于Linux SRv6的更多详细信息,可以参考相关的文档文件。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [SRv6在Linux内核中的实现](https://blog.csdn.net/weixin_42652361/article/details/110007778)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文