Page MenuHomeFreeBSD

Fix 'in6_purgeaddr: err=65, destination address delete failed' message.
ClosedPublic

Authored by melifaro on Mar 7 2021, 8:52 PM.
Tags
None
Referenced Files
F160365998: D29121.id85310.diff
Tue, Jun 23, 6:13 PM
F160338845: D29121.diff
Tue, Jun 23, 11:08 AM
F160297841: D29121.id85357.diff
Tue, Jun 23, 1:11 AM
Unknown Object (File)
Mon, Jun 22, 1:51 AM
Unknown Object (File)
Sun, Jun 21, 9:22 AM
Unknown Object (File)
Tue, Jun 16, 2:28 AM
Unknown Object (File)
Thu, Jun 11, 6:15 PM
Unknown Object (File)
Apr 13 2026, 5:59 PM
Subscribers

Details

Summary

P2P ifa may require 2 routes: one is the loopback route, another is
the "prefix" route towards its destination.

Current code marks loopback routes existence with IFA_RTSELF and
"prefix" p2p routes with IFA_ROUTE.

For historic reasons, we fill in ifa_dstaddr for loopback interfaces.
To avoid installing the same route twice, we preemptively set
IFA_RTSELF when adding "prefix" route for loopback.
However, the teardown part doesn't have this hack, so we try to
remove the same route twice.

Fix this by checking if ifa_dstaddr is different from the ifa_addr
and moving this logic into a separate function.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable