删除链路本地地址(IPv6 link-local address)时直接删除整个 VRRP 实例 的问题解决。

删除链路本地地址(IPv6 link-local address)时直接删除整个 VRRP 实例 的问题,这种做法在动态环境中会导致 不可恢复的问题,特别是在 MAC 地址修改等场景。我们来详细解析这个问题,并给出优化建议。

🧠 一、现有逻辑的问题分析

当前逻辑(重点片段):

if (pEntry->ipType == VRRP_IPTYPE_IPV6
    && ipAddr[0] == 0xfe && ipAddr[1] == 0x80)
{
    // 删除 link-local 地址则整个 VRRP 实例删除
    vrrpOperEntryDel(pEntry, VRRP_TRUE);
    ...
}

⚠️ 逻辑问题说明:

  1. 链路本地地址是 VRRP IPv6 实例绑定的必要条件(如用于组播发送/邻居发现等)。

  2. 修改 MAC 地址会触发 netlink 中对应接口的地址删除事件,其中包括删除 link-local 地址(fe80::/10)

  3. 此时现有逻辑会将 VRRP 实例直接 vrrpOperEntryDel(),造成配置丢失,后续即使重新添加 IP,实例也不会自动恢复。

  4. VRRP 实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dlz0836

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值