Skip to content

NetconfRequirements

Tomek Mrugalski edited this page Jun 27, 2018 · 12 revisions

NETCONF Requirements

This page documents our requirements for NETCONF feature planned for upcoming Kea 1.5. For the actual design, see the design page.

This is work in progress.

YANG Requirements

  • M1. A YANG model for DHCPv4 MUST be defined and made available.
  • M2. The DHCPv4 model MUST cover IPv4 shared networks, IPv4 subnets, IPv4 pools.
  • M3. The DHCPv4 model MUST cover IPv4 host reservations within IPv4 subnets.
  • M4. The DHCPv4 model MUST cover client classes with the ability to define IPv4 options.
  • M5. A YANG model for DHCPv6 MUST be based on draft-ietf-dhc-dhcpv6-yang-06.
  • M6. The actual model used for DHCPv6 MUST cover at least IPv6 subnets, IPv6 pools for addresses and prefixes.
  • M7. The actual model used for DHCPv6 MUST cover at least IPv6 host reservations within subnets.
  • M8. The DHCPv6 model MUST cover client classes with the ability to define IPv6 options.

DHCPv4 Requirements

  • A1. The kea-dhcp4 MUST be able to retrieve its initial configuration from NETCONF during startup.
  • A2. The kea-dhcp4 MUST be able to watch for Netconf changes and apply those changes when they appear while running.
  • A3. The kea-dhcp4 MUST be able to create/update/delete IPv4 shared networks.
  • A4. The kea-dhcp4 MUST be able to create/update/delete IPv4 subnets.
  • A5. The kea-dhcp4 MUST be able to add new subnets to existing shared networks.
  • A6. The kea-dhcp4 MUST be able to remove existing subnets from existing shared networks.
  • A7. The kea-dhcp4 MUST be able to create/update/delete client classes.
  • A8. It MUST be possible to specify parameters not handled by NETCONF using local configuration file.

DHCPv6 Requirements

  • B1. The kea-dhcp6 MUST be able to retrieve its initial configuration from NETCONF during startup.
  • B2. The kea-dhcp6 MUST be able to watch for Netconf changes and apply those changes when they appear while running.
  • B3. The kea-dhcp6 MUST be able to create/update/delete IPv6 shared networks.
  • B4. The kea-dhcp6 MUST be able to create/update/delete IPv6 subnets.
  • B5. The kea-dhcp6 MUST be able to add new subnets to existing shared networks.
  • B6. The kea-dhcp6 MUST be able to remove existing subnets from existing shared networks.
  • B7. The kea-dhcp6 MUST be able to create/update/delete client classes.
  • B8. It MUST be possible to specify parameters not handled by NETCONF using local configuration file.
  • B9. It MUST be possible to specify backend parameters for leases, hosts.
  • B10. It MAY be possible to specify backend parameters for configuration backend.

Compilation requirements

  • C1. The NETCONF support MUST not require extra dependencies. (In other words, Kea must still compile in the environments it did in 1.4 days, although NETCONF will likely be disabled in such environments)

Other requirements

  • O1. Kea Control Agent MAY support NETCONF interface. The problem with implementing it is there are no models defined for CA or CA-like functionalities, so we would have to define the model first and then also implement it. Given the time constraints we have it seems unlikely to happen in 1.5 timeframe.
Clone this wiki locally