Bug 1452684
| Summary: | cannot set ipv6 route with src | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Vladimir Benes <vbenes> | ||||
| Component: | NetworkManager | Assignee: | Thomas Haller <thaller> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 7.4 | CC: | aloughla, atragler, bgalvani, fgiudici, lrintel, rkhan, sukulkar, thaller | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | |||||||
| : | 1457196 (view as bug list) | Environment: | |||||
| Last Closed: | 2018-04-10 13:24:24 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | 1457196 | ||||||
| Bug Blocks: | 1470965 | ||||||
| Attachments: |
|
||||||
|
Description
Vladimir Benes
2017-05-19 13:14:01 UTC
Created attachment 1282758 [details]
test script adding route with "src"
NetworkManager first adds the IPv6 address, and immediately afterwards the IPv6 route. The route's "src" (RTA_PREFSRC) references the added address.
At that point, the address is still tentative (DAD), and adding the route fails with "Invalid argument".
Then, NM aborts activation because it was unable to configure the route.
I think this is a kernel bug (or at least, ill behavior). How is somebody supposed to write a script that adds a route with "src" set, when he first has to wait until the address becomes non-tenative? Kernel should allow adding the route, and possibly just not use it until the address survives DAD.
Since NM doesn't support the nodad flag for addresses, specifying "src" is broken.
I don't know how to fix this. I tried a bit with th/route-pref-src-rh1452684, but go nowhere. Beniamino? I cloned this bug for kernel (bug 1452684). It's unclear, whether we should put effort into adding a workaround in NetworkManager. It's complicated, and I think kernel should be fixed. anyway, I don't think this is gonna make it to rhel-7.4. (In reply to Thomas Haller from comment #3) > I cloned this bug for kernel (bug 1452684). I cloned this bug for kernel (bug 1457196). Please review th/route-pref-src-rh1452684 The solution here is very ugly. Maybe we should just log a meaningful error message and add support for IFA_F_OPTIMISTIC flag, so that the user can configure that. Comments welcome. (In reply to Thomas Haller from comment #5) > Please review th/route-pref-src-rh1452684 + priv->rt6_temporary_not_available = g_hash_table_new_full ((GHashFunc) nmp_object_id_hash, + (GEqualFunc) nmp_object_id_equal, + (GDestroyNotify) nmp_object_unref, + nm_g_slice_free_fcn (IP6RoutesTemporaryNotAvailableData)); Indentation. The rest LGTM. > The solution here is very ugly. Maybe we should just log a meaningful error > message and add support for IFA_F_OPTIMISTIC flag, so that the user can > configure that. At the moment kernel doesn't allow adding addresses with the optimistic flag, which is probably a bug. But once it's fixed, I think this would be a better solution. th/route-pref-src-rh1452684 looks good patch merged as https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=2cc1813340c63dbbdc183931a700bb38740419e1 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, 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-2018:0778 |