Bug #3716
closedAdding IPv6 alias to IPv6 CARP IP throws error - fix proposal attached
100%
Description
Hi,
Adding an IPv6 alias to an IPv6 CARP IP throws the following error:
"...Could not find a matching real interface subnet for the virtual IP..."
In my case, I tried adding the IP alias 2001:xxxx:xxxx:128::1 to the already created CARP IP fdfd:3f23:25b0:128::1.
The cluster node interfaces were already configured as follows:
Node 1:
main IPv6: fdfd:3f23:25b0:128::101
IPv6 alias: 2001:xxxx:xxxx:128::101
Node 2:
main IPv6: fdfd:3f23:25b0:128::102
IPv6 alias: 2001:xxxx:xxxx:128::102
I debugged the code so far until I reached the function convert_real_interface_to_friendly_interface_name in interfaces.inc, which was returning an error message instead of an empty string for each interface not configured with an IPv6 address. This was interpreted by the calling code as "true", so the wrong underlying interface was returned, which - as the error message correctly stated - did not have a matching subnet address.
I fixed it by adding an additional line to check, if the underlying interface has valid IPv6 address => worked for me!
I also added this additional check for IPv4 some lines above so anybody who might want to configure a cluster which has some IPv6-only interfaces would not run into the same problem just the other way around.
I would be happy if my fix proposal is helpful and would be included in some way in the next update release.
My version is 2.1.3-RELEASE (i386).
Regards,
Marc
Files
Updated by Phillip Davis over 10 years ago
It will be easy for the devs to review this if you go to github - https://github.com/pfsense/pfsense - and make the changes and submit a pull request. If you have not already done so, you will need to sign a contributor license agreement - https://www.pfsense.org/ESF_Individual_Contributor_License_Agreement_v1.0.pdf - to keep the legal status of your contribution/s sorted.
Updated by Chris Buechler about 9 years ago
- Category set to Virtual IP Addresses
Updated by Jim Thompson almost 9 years ago
- Assignee set to Luiz Souza
- Target version set to 2.3
Updated by Luiz Souza almost 9 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Fixed in 2.3. Thanks!
Updated by Chris Buechler almost 9 years ago
- Status changed from Resolved to Feedback
- Assignee changed from Luiz Souza to Chris Buechler
- Affected Version changed from 2.2 to All
to me to confirm