From Fedora Project Wiki
Line 24: Line 24:


== Current status ==
== Current status ==
* Targeted release: [[Releases/31 | Fedora 31 ]]  
* Targeted release: [[Releases/40 | Fedora 40 ]]  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  

Revision as of 09:14, 14 November 2023

WIP: Deprecate dhclient .

Summary

This is next step in deprecation of ISC DHCP in Fedora due to deprecation by the vendor (ISC) . Currently dhclient is main implementation and while some projects switched to dhcp library provided by NetworkManager (TBD links) and some work was done in Fedora to switch to dhcp library ( BZ#1204226) dhclient binary is pulled into ISO by anaconda and dracut still

Owner

  • Name: Martin Osvald
  • Email: mosvald at redhat dot com
  • Release notes owner:

Current status

  • Targeted release: Fedora 40
  • Last updated: 2023-11-14
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

dhclient doesn't receive much development by the vendor (ISC) and it's deprecated. While dhcp-server is deprecated by ISC Kea (not drop-in replacement through) dhcp-client doesn't have an alternative developed by ISC and the proposal is to use dhcp implementation provided by NetworkManager


Benefit to Fedora

Modern implementation fixes few bugs which are difficult to fix in dhclient like monotonic time support (bz#876791) and brings support for mixed ipv4 + ipv6 environment. Besides of that it fits more accurately into modern stack of networking management stack in Fedora (ip addresses lifetime etc)

Scope

  • Proposal owners:
  • Other developers: Anaconda and Dracut maintainers to drop rhard requirement of dhcp-client,

RCM to drop dhcp-client RPM from ISO

  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

NetworkManager's dhcp implementation is NOT drop-in replacement of dhclient. While it supports (almost) all RFCs it can behave in different way in some cases ((IB support, client identifier, direct calls of dhclient binary etc links: TBD ). The goal is to find this cases and fix them.

How To Test

Check if dhcp-client rpm doesn't exists on installation ISO and absence of the RPM doesn't have impact on installation including network installation.


User Experience

Regular users should not be noticed by the change. Advanced users and third-party application may call dhclient binary directly thus they will be affected and should install dhclient from the repo and/or adjust dependencies list accordingly

Dependencies

anaconda-core-0:31.7-1.fc31.x86_64 dracut-network-0:049-26.git20181204.fc30.x86_64 synce-connector-0:0.15.2-20.fc29.x86_64 wicd-common-0:1.7.4-9.fc29.noarch wifi-radar-0:2.0.s10-7.fc29.noarch wlassistant-0:0.5.7-32.fc30.x86_64


Contingency Plan

  • Contingency mechanism: Pull dhclient into iso and allow anaconda/dracut use it as before
  • Contingency deadline: Beta freeze (not a System Wide Change)
  • Blocks release? Yes
  • Blocks product? product

Documentation

N/A (not a System Wide Change)

Release Notes