Bug 1032809
Summary: | dhclient-script: set address lifetimes | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Dan Williams <dcbw> | ||||||
Component: | dhcp | Assignee: | Jiri Popelka <jpopelka> | ||||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Release Test Team <release-test-team-automation> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | 7.0 | CC: | hannsj_uhl, hartsjc, jpopelka, ljozsa, ovasik, psimerda, vyasevic | ||||||
Target Milestone: | rc | Keywords: | Patch | ||||||
Target Release: | --- | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | dhcp-4.2.5-26.el7 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2014-06-13 11:10:16 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: | |||||||||
Attachments: |
|
Description
Dan Williams
2013-11-20 21:53:42 UTC
+1 We came up with this idea October 2012 in Westford and it was nice to see this happening in kernel, iproute2 and NetworkManager already. Just a sidenote for Dan, before I changed the team, I also kept route lifetimes on my personal TODO list. That would allow you to distinguish static routes from dynamic ones, even for default route where it might be especially useful. Maybe we could prepare dhclient for that as well? Created attachment 827184 [details] Assign lease time to addresses added by dhclient-script (In reply to Dan Williams from comment #0) > It might be as easy as using "new_dhcp_lease_time" as the argument for valid > & preferred times for /sbin/ip when adding addresses, since both are in > seconds. The attached patch seems to do the trick for me, though of course > more testing is required. Yes, that looks good - for 'dhclient -4'. For 'dhclient -6' it's even easier because there are 2 values: new_max_life & new_preferred_life which have the same meaning as /sbin/ip's valid_lft & preferred_lft. (In reply to Pavel Šimerda from comment #2) > +1 > > We came up with this idea October 2012 in Westford and it was nice to see > this happening in kernel, iproute2 and NetworkManager already. Just a > sidenote for Dan, before I changed the team, I also kept route lifetimes on > my personal TODO list. That would allow you to distinguish static routes > from dynamic ones, even for default route where it might be especially > useful. Maybe we could prepare dhclient for that as well? Yeah, that would be useful too. Though when looking into this yesterday, I didn't find any iproute2 options for route lifetimes, so I guess this would have to wait for iproute2. Hi Jiri I've traced the cause of Bug 1046405 and Bug 1046517 to this change. The problem displays itself as address going away from the interface while the interface is running. Tracing the kernel shows the address is timed out by the kernel because its lifetime has expired. Looking the script, the lifetime is only updated when REBIND happens, but that's not a normal operation. In normal circumstances, we have a RENEW operation on which the lifetime is not updated. In the end, the even though the lease has been extended via RENEW, the kernel address lifetimes have not changed since the original and the address is cleaned-up. This is really noticeable when the leases are short, but I don't have the infrastructure to test. Can you please take a look. Thanks -vlad Thank you for the investigation Vlad, you are right. We set the lifetimes when we add the address, but don't touch it later during RENEW - this needs to be changed. Verified on dhclient-4.2.5-26.el7, kernel address's lifetime is properly set. This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request. |