[kea-dev] Decline support requirements in Kea 1.0

Francis Dupont fdupont at isc.org
Fri Jun 26 10:24:05 UTC 2015


Can I put a summary of this in #3915?

Thanks

Francis Dupont <fdupont at isc.org>
Marcin Siodelski writes:
> Francis,
> 
> The Host object reflects the structure of the host reservation entries
> in the database. The declined address may well be an address from the
> dynamic pool for which nobody has a reservation, therefore it doesn't
> logically belong to the Host object. In other words, if the specific
> property is not a part of the host reservation information and will not
> be stored in the database for host reservation it MUST NOT be a part of
> the Host object.
> 
> If you want to utilize the Host class for something unrelated to the
> host reservation (e.g. Decline, not sure about secure-DHCPv6) you should
> derive from the Host class and then you can extend your derivation in a
> way that is convenient for you.
> 
> I don't want the Host class to be a collection of various properties
> used for diverse purposes, as it messes up the code structure and goes
> against the host reservation design. For example: the Host class has a
> toText function. It prints data in the context of Host Reservation.
> Adding properties to this class implies that the toText function is also
> updated to print these properties. One can argue that this mix of
> various properties and host reservation data is not a problem for
> toText, because if certain properties are not set for the Host, they are
> not printed. In that case for the host reservation we don't print any
> unrelated data. Yes. But, for the purpose of solely printing the
> properties like declined address or secure DHCPv6 timestamps how do you
> choose what is printed with the toText function and what is not? You
> don't want to print all properties together with the host reservation
> details, which are just a trash in the particular context in which the
> properties are important.
> 
> Please remove any extraneous information, i.e. properties from the Host
> class and implement it on the derivation of the Host object.


More information about the kea-dev mailing list