修复了SRH插入失败导致无法转发的bug

This commit is contained in:
2026-10-21 14:24:32 +08:00
parent 61bc066f82
commit b898e4c5be
4 changed files with 32 additions and 15 deletions
+11 -8
View File
@@ -578,16 +578,19 @@ public class SRv6Router {
sendPacketToRouteItem(linkfrom,iPv6Packet, ri);
}
} else { // 普通链路处理
// 检查重路由计数
int count=iPv6Packet.getRouteCounter().getAndIncrement();
if (count >= MAX_REROUTE_COUNT) {
return; // 超过最大重路由次数,丢弃
}
if(ri.getDestlink().isFilter()){
if (count<=0) {
hop--; // 减少TTL(非重路由时)
}
}else {
// 检查重路由计数
int count = iPv6Packet.getRouteCounter().getAndIncrement();
if (count > MAX_REROUTE_COUNT) {
return; // 超过最大重路由次数,丢弃
}
if (count <= 0) {
hop--; // 减少TTL(非重路由时)
}
}
if (hop > 0) { // TTL有效
iPv6Packet.setHopLimit(hop); // 更新TTL
sendPacketToRouteItem(linkfrom,iPv6Packet, ri); // 发送数据包