Project

General

Profile

Actions

Bug #6579

closed

IPv6 CARP VIPs lost upon config sync where they include non-significant zeros

Added by Chris Buechler almost 8 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Category:
CARP
Target version:
Start date:
07/05/2016
Due date:
% Done:

100%

Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
All
Affected Architecture:

Description

If you have IPv6 CARP VIPs specified with non-significant zeros, such as fdaa:1234:0012::1, the secondary will see that as an old VIP and delete it upon config sync.

The mwexec of ifconfig delete in xmlrpc.php is what removes it.
https://github.com/pfsense/pfsense/blob/master/src/usr/local/www/xmlrpc.php#L311

Because it ends up being part of $oldvips array. The OS doesn't show the non-significant zeros after the IP is configured, so pfSense_getall_interface_addresses returns it that way as well. In the example case, you end up with fdaa:1234:12::1, which doesn't match fdaa:1234:0012::1, hence it's deleted.

The comparison there should use a function that takes those potential differences into account and omits from the $oldvips array.

Actions

Also available in: Atom PDF