RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2082230 - ip6-privacy (use_tempaddr) IPv6 addresses may be left after disconnect, preventing new autoactivation
Summary: ip6-privacy (use_tempaddr) IPv6 addresses may be left after disconnect, preve...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: NetworkManager
Version: 8.6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Thomas Haller
QA Contact: David Jaša
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-05-05 15:28 UTC by Thomas Haller
Modified: 2022-11-08 11:23 UTC (History)
8 users (show)

Fixed In Version: NetworkManager-1.39.5-1.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-11-08 10:10:31 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
log showing problem #2 (470.02 KB, text/plain)
2022-05-05 15:52 UTC, Thomas Haller
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-121175 0 None None None 2022-05-05 15:35:20 UTC
Red Hat Product Errata RHBA-2022:7680 0 None None None 2022-11-08 10:10:55 UTC
freedesktop.org Gitlab NetworkManager NetworkManager-ci merge_requests 1076 0 None opened ipv6: no extra temp v6 addresses after reapply or carrier down 2022-06-09 11:21:04 UTC
freedesktop.org Gitlab NetworkManager NetworkManager merge_requests 1209 0 None opened [th/fix-clear-ip6-temp-addrs] l3cfg: during reapply also clear IPv6 temporary addresses 2022-05-05 15:35:08 UTC

Description Thomas Haller 2022-05-05 15:28:05 UTC
there is a bug.

With ipv6.ip6-privacy enabled (use_tempaddr sysctl, IFA_F_MANAGETEMPADDR), kernel adds additional IPv6 addresses.

During REAPPLY, NML3Cfg would not delete them. Though it has to (at least usually).

The fix is at https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1209

Comment 1 Thomas Haller 2022-05-05 15:35:08 UTC
this seems quite bad.


There are two problems that this can cause.



1) during reapply, we might not delete such IPv6 secondary addresses.

Reproduce:

  have a profile active with ipv6.ip6-privacy enabled.
  check there is a secondary IPv6 address
  nmcli device modify $IFACE ipv6.method link-local
  The correct result would be that the secondary IP address is gone.

Actually... I was not able to reproduce this problem. That is, because we tend to toggle ipv6_disabled sysctl during reapply. That already removes all IPv6 addresses, avoiding the problem. I am not sure, whether there aren't situations were we would not do that. It also seems outright wrong to momentarily toggle ipv6_disabled, unless necessary. So we should have a CI test covering this.


2) during disconnect.

Reproduce:

  have a ethernet profile active with ipv6.ip6-privacy enabled
  check that we have a secondary address.
  unplug the cable (wait for the device to disconnect and go to "unavailable" state -- depending on ignore-carrier setting).
  The correct result would be that the secondary IP address is gone.

This seems easy to reproduce. An it has bad consequnces, because for this address we will generate a "external" connection (with ipv6.method=disabled). When you replug the cable, this prevents the previous connection to autoconnect again. The full test should replug the cable, and see that the previous profile autoconnects.

Comment 2 Thomas Haller 2022-05-05 15:52:08 UTC
Created attachment 1877356 [details]
log showing problem #2

logfile showing the issue. See details/description at top of the file.

Comment 5 David Jaša 2022-06-09 11:21:05 UTC
VERIFIED in NetworkManager-1.39.5-1.el8.x86_64, no addresses are around in all 3 scenarios (reapply, connection down, connection timed out).

Comment 7 errata-xmlrpc 2022-11-08 10:10:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (NetworkManager bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:7680


Note You need to log in before you can comment on or make changes to this bug.