3.1.4.15 ValidateDhcpReservation

The ValidateDhcpReservation event captures the common validation rules for the DhcpReservation instance. The rest of the section assumes the DhcpReservation instance to be validated is passed as a parameter with the name Param_dhcpReservation.

The following validations MUST pass for the DhcpReservation instance to be valid:

  1. Param_dhcpReservation is not NULL.

  2. Param_dhcpReservation.address is not NULL.

  3. Param_dhcpReservation.address is valid.

  4. Param_dhcpReservation.parentScope.SubnetMask is valid.

  5. Param_dhcpReservation.parentScope.ScopeId is valid.

  6. Param_dhcpReservation.name is not NULL.

  7. Param_dhcpReservation.name is not whitespace.

  8. Param_dhcpReservation.parentScope is not NULL.

  9. Param_dhcpReservation.parentScope.RecordId is not 0.

  10. Param_dhcpReservation.parentScope.ServerName is not Null or a whitespace.

  11. If this is an IPv4 reservation, then check the following:

    1. Param_dhcpReservation.MacAddress is not NULL or a whitespace.

    2. Param_dhcpReservation.MacAddress is hex and its length is less than or equal to 130 bytes.

    3. Param_dhcpReservation.servingClientsType is DhcpServingClientsType.Dhcp or DhcpServingClientsType.Bootp or DhcpServingClientsType.Both.

  12. If this is an IPv6 reservation, then check the following:

    1. Param_dhcpReservation.Duid is not NULL or a whitespace.

    2. Param_dhcpReservation.Duid is hex and its length is less than or equal to 130 bytes.