kiwim0n edited this page Dec 20, 2012 · 5 revisions
Clone this wiki locally

For the DHCP config build:


  • DHCP options are assigned in this order: global, subnet, workgroup, host
  • there are more scopes, but we don't use them
  • each scope either adds options or replaces the ones already assigned (e.g. a workgroup option can override a global option)
  • for us, global options are things like nameserver
  • subnet options are typically the gateway and mask
  • global and subnet are NOT configurable by container admins
  • so, we allow them to override by assigning a registration (mac/ip combo) to a workgroup, where they can set custom options
  • use cases include things like voip phones and hosts doing PXE/wake-on-lan
  • maintain also had host options but it was never heavily used, mainly because of a bug where host options generally did not work
  • we can leave host options out of Cyder - i.e. all custom options that a container admin wants would then have to be in a workgroup


  • we use classes to allow hosts to get dynamic addresses in pools
  • VRFs will be equivalent to classes
  • in the legacy core network, we create a class for every range/container mapping and then assign those range/container classes to pools with allow statements
  • in Cyder, we still need to have that legacy method BUT
  • we can simply create a class for each range, and put every mac address that is assigned to that range in it, regardless of the container it lives in
  • then we also need to support the MPLS/VRF way, which is: create a class for each VRF
  • and in pools (ranges) configured to "allow members of VRF" simply have an allow line that allows the members of the appropriate VRF
  • that implies that we will have a place where we say which VRF a range is associated with - and I think we agreed to do that via networks - i.e., a range lives in a network, and a network is assigned to one and only one VRF (but a VRF can contain many networks)