vrrp: fix update virtual addr make mistake 79/37879/5
authorgaochx <chiso.gao@gmail.com>
Mon, 9 Jan 2023 09:56:09 +0000 (17:56 +0800)
committerMatthew Smith <mgsmith@netgate.com>
Tue, 10 Jan 2023 15:20:08 +0000 (15:20 +0000)
When use update api delete a virtual address, no matter which IP want to delete, always delete the last one.

Type: fix

Signed-off-by: GaoChX <chiso.gao@gmail.com>
Change-Id: Ia67c06dd53a442740794e1884d1a4aaa06965398

src/plugins/vrrp/vrrp.c

index 12f4dae..f3acb47 100644 (file)
@@ -662,7 +662,7 @@ vrrp_vr_addr_add_del (vrrp_vr_t * vr, u8 is_add, ip46_address_t * vr_addr)
          {
            if (!ip46_address_cmp (addr, vr_addr))
              {
-               vec_del1 (vr->config.vr_addrs, vr->config.vr_addrs - addr);
+               vec_del1 (vr->config.vr_addrs, addr - vr->config.vr_addrs);
                break;
              }
          }
@@ -684,7 +684,7 @@ vrrp_vr_addr_add_del (vrrp_vr_t * vr, u8 is_add, ip46_address_t * vr_addr)
          {
            if (!ip46_address_cmp (addr, vr_addr))
              {
-               vec_del1 (vr->config.vr_addrs, vr->config.vr_addrs - addr);
+               vec_del1 (vr->config.vr_addrs, addr - vr->config.vr_addrs);
                break;
              }
          }