network: introduce network_verify_address_labels()
This commit is contained in:
parent
cae418a306
commit
ab316813ea
|
@ -136,6 +136,16 @@ int address_label_configure(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void network_verify_address_labels(Network *network) {
|
||||||
|
AddressLabel *label;
|
||||||
|
|
||||||
|
assert(network);
|
||||||
|
|
||||||
|
HASHMAP_FOREACH(label, network->address_labels_by_section)
|
||||||
|
if (section_is_invalid(label->section))
|
||||||
|
address_label_free(label);
|
||||||
|
}
|
||||||
|
|
||||||
int config_parse_address_label_prefix(const char *unit,
|
int config_parse_address_label_prefix(const char *unit,
|
||||||
const char *filename,
|
const char *filename,
|
||||||
unsigned line,
|
unsigned line,
|
||||||
|
|
|
@ -31,6 +31,8 @@ AddressLabel *address_label_free(AddressLabel *label);
|
||||||
|
|
||||||
DEFINE_NETWORK_SECTION_FUNCTIONS(AddressLabel, address_label_free);
|
DEFINE_NETWORK_SECTION_FUNCTIONS(AddressLabel, address_label_free);
|
||||||
|
|
||||||
|
void network_verify_address_labels(Network *network);
|
||||||
|
|
||||||
int address_label_configure(AddressLabel *address, Link *link, link_netlink_message_handler_t callback, bool update);
|
int address_label_configure(AddressLabel *address, Link *link, link_netlink_message_handler_t callback, bool update);
|
||||||
|
|
||||||
CONFIG_PARSER_PROTOTYPE(config_parse_address_label);
|
CONFIG_PARSER_PROTOTYPE(config_parse_address_label);
|
||||||
|
|
|
@ -152,7 +152,6 @@ static int network_resolve_stacked_netdevs(Network *network) {
|
||||||
|
|
||||||
int network_verify(Network *network) {
|
int network_verify(Network *network) {
|
||||||
RoutePrefix *route_prefix, *route_prefix_next;
|
RoutePrefix *route_prefix, *route_prefix_next;
|
||||||
AddressLabel *label;
|
|
||||||
Address *address, *address_next;
|
Address *address, *address_next;
|
||||||
Prefix *prefix, *prefix_next;
|
Prefix *prefix, *prefix_next;
|
||||||
Route *route, *route_next;
|
Route *route, *route_next;
|
||||||
|
@ -309,10 +308,7 @@ int network_verify(Network *network) {
|
||||||
mdb_entry_free(mdb);
|
mdb_entry_free(mdb);
|
||||||
|
|
||||||
network_verify_neighbors(network);
|
network_verify_neighbors(network);
|
||||||
|
network_verify_address_labels(network);
|
||||||
HASHMAP_FOREACH(label, network->address_labels_by_section)
|
|
||||||
if (section_is_invalid(label->section))
|
|
||||||
address_label_free(label);
|
|
||||||
|
|
||||||
LIST_FOREACH_SAFE(prefixes, prefix, prefix_next, network->static_prefixes)
|
LIST_FOREACH_SAFE(prefixes, prefix, prefix_next, network->static_prefixes)
|
||||||
if (section_is_invalid(prefix->section))
|
if (section_is_invalid(prefix->section))
|
||||||
|
|
Loading…
Reference in a new issue