No patch attached because it's quite large. I apologize for the
length, but considering this replaces a library and introduces a new
struct it meant a new file and changing calls everywhere.
http://dcantrel.fedorapeople.org/anaconda/iface/
iface.h - Header file explaining the iface API. iface_t structure
replacing pumpNetIntf and networkDeviceConfig, and all of the functions.
iface.patch - The changes, it's about 90% complete at this point.
*.txt - Explanations and notes.
This patch removes anaconda's use of libdhcp, which also means
removing libdhcp4client and libdhcp6client. For static network
configuration, I am using libnl. To gather current network interface
information, I am using libnl. To control IPv6 autoconf, I read/
write /proc since that's all we can do right now. For DHCP and
DHCPv6, I run dhclient and dhcp6c, respectively.
I'd like everyone to have a look at iface.h and the patch file. It's
not complete yet, so I probably know about the obvious things (the
FIXMEs and the useless debugging printfs and the incomplete isys.py
code and so on). The goal with iface.patch is to get us closer to
using NetworkManager in stage 1 and stage 2. I envision the NM
changeover to be just as large, but hopefully by then we will have
decided to nuke certain parts of loader entirely. Completely
eliminating libdhcp and friends will be a nice step.
There are some other things that need discussion as well. mkinitrd
currently uses libdhcp, for example. This had me thinking we could
generate libisys in an anaconda-devel package for things like
mkinitrd, but I'm just brainstorming. Maybe I should put the iface
code elsewhere? I dunno. At any rate, mkinitrd needs to be not left
out.
Work in progress, comments welcome.
--
David Cantrell <dcantrell@xxxxxxxxxx>
Red Hat / Honolulu, HI
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list