wiki:DHCPComponents

Version 4 (modified by shane, 8 years ago) (diff)

--

This is a list of some DHCP components for BIND 10 DHCP.

c/r/s = client/relay/server

  • Engine to fetch config (data) ('what is configuration parameter X for this client?') (c/r/s)
    • This is complex! (man dhcpd.conf)
  • Low-level packet munging (taking packets apart & putting together) (c/r/s)
  • Image of network topology (s)
  • Socket handling (DHCPv4 funkiness) (c/r/s)
  • Configuration DB (s)
  • Lease DB (s)
  • Simplified client config language (c)
  • Client and server on same system (for example: SOHO box with local DHCP server built from DHCP client information)
  • DHCPv4 server logic (s)
  • DHCPv6 server logic (s)
  • DHCPv4 client logic (c)
  • DHCPv6 client logic (c)
  • DHCPv4 relay logic (r)
  • DHCPv6 relay logic (r)
  • Address allocation handling (s)
  • Hook definitions (c/r/s)
  • Integrated relay/server? (Make the server a subset of the relay component - research project)
  • API framework documenting access to packet/lease/etc at different states/times (c/r/s)
  • Document how embedded languages can access configuration/server state (with examples) (r/s)
  • Embedded optimizations (for example compile-time options) (c/r/s)
  • Flexible client logic (for example non-resident client) (c)
  • Different state machines (???) (c/r/s)
  • API for controlling server (like XML-based language) (c/r)
  • Behavior for administrative interaction (do we have to lock a lease? and so on) (c/s)
  • Reconfiguration (c/s)
  • DHCP data store (s)
    • Define operations
    • Define data
    • Define reports
  • Option definition framework (c/s)
  • DHCP benchmark tool(s) (c/r/s)
  • DHCP diagnostic tools
    • SNMP (MIB defined)
  • Logging framework (for example log4j-style: log4c)
  • ISC DHCP pre-BIND 10 support (migration support)
  • DDNS functionality (c/s)
  • Failover/HA solution (r/s)

Non-functional goals:

  • Performance
  • Ease of use
  • Debugability
  • Size (small) ;)