[Bug 192413] New: libdhcp : IPv6 and IPv4 DHCP client and network configuration library API

bugzilla at redhat.com bugzilla at redhat.com
Fri May 19 15:28:47 UTC 2006


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.




https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=192413

           Summary: libdhcp : IPv6 and IPv4 DHCP client and network
                    configuration library API
           Product: Fedora Core
           Version: devel
          Platform: All
               URL: http://people.redhat.com/~jvdias/libdhcp
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: normal
         Component: Package Review
        AssignedTo: notting at redhat.com
        ReportedBy: jvdias at redhat.com
         QAContact: extras-qa at fedoraproject.org
                CC: dcantrel at redhat.com,fedora-package-
                    review at redhat.com,katzj at redhat.com,nalin at redhat.com,pnas
                    rat at redhat.com


Description of problem:

anaconda and potentially other users need a library based implementation 
of DHCP clients for IPv6 and IPv4, and a library to configure the network
from a static configuration, similar to the facilities currently provided
by pump, but hopefully much improved and newly IPv6 capable (bug 186322).

At the request of the anaconda team, I have developed such a library:
libdhcp. The .spec file and srpm can be downloaded from:
    http://people.redhat.com/~jvdias/libdhcp
and the source is also checked into elvis as 'libdhcp'.

libdhcp requires only the 'libdhcp6client-' sub-package of dhcpv6, and the
'libdhcp4client' subpackage of dhcp. These are MINIMALLY modified versions
of the upstream dhcp clients, with header files. No dhcp client executable
is changed in any way. The client libraries's main() functions are changed 
to be named 'dhcpv[46]_client' and to accept a LIBDHCP_Control * argument,
all their dynamic memory is automatically freed on return from these functions,
and all static / global variables are re-initialized; they've also been 
changed to invoke the libdhcp callbacks for state changes and error logging,
and any use of the exit() syscall has been removed.

See the libdhcp source README file for details on the libdhcp API.

libdhcp is now useable, but is currently being improved to provide:
 o an API 100% compatible with pump, (pump.h and all it defines that
   is used by anaconda - should be complete today).
 o both clients running in separate threads (this currently works under
   GDB only). Only necessary if a timeout parameter of 0 is supplied, ie
   you want the client to wait indefinitely for either IPv6 or IPv4 server
   contact.
 o better memory cleanup. While valgrind reports no errors from libdhcp,
   libdhcp4client, or libdhcp6client code under operation modes tested
   so far, there certainly are memory leaks - these will be resolved
   shortly (ie. today).
 Coming shortly (within next week):
 o better Doxygen documentation
 o a libdhcp++ C++ class interface to the library
 o PERL and Python module interfaces to the library

-- 
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




More information about the Fedora-package-review mailing list