How isc-projects/dhcp works
ISC DHCP 4.4.3-P1 provides DHCPv4/v6 servers and clients, a relay agent, remote management, and Kea migration tooling. The main network workflow is client configuration and address acquisition through DHCP exchanges, optionally forwarded by a relay; the server processes requests and maintains leases. Dynamic DNS and failover are additional server capabilities. The excerpts show client script execution and OMAPI listener setup, but leave much server dispatch and subsystem wiring unsampled, so uncertain links are omitted or dashed.
Main entry points: dhcp.c DHCPv4 server · dhclient.c DHCPv4 client · dhcpv6.c DHCPv6 server · dhcrelay.c DHCP relay
Components 24
DHCP endpoints
- DHCPv4 client
client/dhclient.c - DHCPv6 client
client/dhc6.c - Client configuration
client/clparse.c - Client options
client/client_tables.c - Client script
client/dhclient.c
DHCP server
- DHCPv4 server
server/dhcp.c - DHCPv6 server
server/dhcpv6.c - Server configuration
server/confpars.c - Lease database
server/mdb.c - Lease query
server/dhcpleasequery.c - Server failover
server/failover.c - Dynamic DNS
common/dns.c
Relay and networking
- DHCP relay
relay/dhcrelay.c - DHCP config parser
common/parse.c - Option processing
common/options.c
Remote management
- OMAPI protocol
omapip/protocol.c - OMAPI connections
omapip/connection.c - Management client API
dhcpctl/dhcpctl.c - OMAPI shell
dhcpctl/omshell.c
Kea migration
- Legacy config parser
keama/parse.c - Config evaluator
keama/eval.c - Kea conversion output
keama/print.c
Other components
- DHCP clients
- Administrator
Connections 26
- DHCP clients → DHCP relay: send requests
- DHCP relay → DHCPv4 server: forward requests
- DHCP relay → DHCPv6 server: forward requests
- DHCP clients → DHCPv4 client: configure client
- DHCP clients → DHCPv6 client: configure client
- DHCPv4 client → Client script: runs on lease changes
client/dhclient.c - DHCPv4 client → Client options: uses options
- DHCPv4 client → Client configuration: reads configuration
- DHCPv6 client → Client configuration: reads configuration
- DHCPv4 server → Server configuration: reads configuration
- DHCPv6 server → Server configuration: reads configuration
- DHCPv4 server → Lease database: stores leases
README - DHCPv4 server → Lease query: serves lease queries
- DHCPv6 server → Lease query: serves lease queries
- DHCPv4 server → Server failover: supports failover
- DHCPv4 server → Dynamic DNS: updates DNS
README - DHCPv4 server → DHCP config parser: parses configuration
- DHCPv4 client → DHCP config parser: parses configuration
- DHCPv4 server → Option processing: processes options
- Administrator → OMAPI shell: issues commands
- OMAPI shell → Management client API: uses client API
dhcpctl/omshell.c - Management client API → OMAPI connections: connects through
- Management client API → OMAPI protocol: uses protocol
- DHCPv4 client → OMAPI connections: opens listener
client/dhclient.c - Legacy config parser → Config evaluator: evaluates parsed config
- Config evaluator → Kea conversion output: converts configuration