/// @brief Merges the DHCPv4 configuration specified as a parameter into
/// this configuration.
///
- /// The general rule is that the configuration data from the @c other
- /// object replaces configuration data held in this object instance.
- /// The data that do not overlap between the two objects is simply
- /// inserted into this configuration.
- ///
- /// @warning The call to @c merge may modify the data in the @c other
- /// object. Therefore, the caller must not rely on the data held
- /// in the @c other object after the call to @c merge. Also, the
- /// data held in @c other must not be modified after the call to
- /// @c merge because it may affect the merged configuration.
- ///
- /// The @c other parameter must be a @c SrvConfig or its derivation.
- ///
- /// Currently, the following parts of the v4 configuration are merged:
- /// - globals
- /// - shared-networks
- /// - subnets
- ///
- /// @todo Add support for merging other configuration elements.
+ /// This is called by @c merge() to handle v4 specifics, such as
+ /// networks and subnets.
///
/// @param other An object holding the configuration to be merged
/// into this configuration.
/// @brief Merges the DHCPv6 configuration specified as a parameter into
/// this configuration.
///
- /// The general rule is that the configuration data from the @c other
- /// object replaces configuration data held in this object instance.
- /// The data that do not overlap between the two objects is simply
- /// inserted into this configuration.
- ///
- /// @warning The call to @c merge may modify the data in the @c other
- /// object. Therefore, the caller must not rely on the data held
- /// in the @c other object after the call to @c merge. Also, the
- /// data held in @c other must not be modified after the call to
- /// @c merge because it may affect the merged configuration.
- ///
- /// The @c other parameter must be a @c SrvConfig or its derivation.
- ///
- /// Currently, the following parts of the v6 configuration are merged:
- /// - globals
- /// - shared-networks
- /// - subnets
- ///
- /// @todo Add support for merging other configuration elements.
+ /// This is called by @c merge() to handle v4 specifics, such as
+ /// networks and subnets.
///
/// @param other An object holding the configuration to be merged
/// into this configuration.
namespace {
-/// Attempts to verify an expected network within a collection of networks
+/// @brief Attempts to verify an expected network within a collection
+/// of networks
+///
/// @param networks set of networks in which to look
-/// @param name name of the expected network
+/// @param name name of the expected network
/// @param exp_valid expected valid lifetime of the network
/// @param exp_subnets list of subnet IDs the network is expected to own
void checkMergedNetwork(const CfgSharedNetworks4& networks, const std::string& name,
namespace {
-/// Attempts to verify an expected network within a collection of networks
+/// @brief Attempts to verify an expected network within a collection
+/// of networks
+///
/// @param networks set of networks in which to look
-/// @param name name of the expected network
+/// @param name name of the expected network
/// @param exp_valid expected valid lifetime of the network
/// @param exp_subnets list of subnet IDs the network is expected to own
void checkMergedNetwork(const CfgSharedNetworks6& networks, const std::string& name,