diff options
author | Lennart Poettering <lennart@poettering.net> | 2017-04-29 13:42:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-29 13:42:09 +0200 |
commit | ccefd046c6c68520f91e49165a4f79f38ca0428e (patch) | |
tree | 98aaa5eae6bc1befd0b747d5049441847259137b /src/network/networkd-network.c | |
parent | fe685ffb7fab5e925f2956ff12b041b591002ba8 (diff) | |
parent | c23ae61e27ae9928524e86779fa78a56d531278a (diff) |
Merge pull request #5529 from ssahani/label
networkd / sd-netlink: add support for address label
Diffstat (limited to 'src/network/networkd-network.c')
-rw-r--r-- | src/network/networkd-network.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index dd29b4ca48..0c0e661909 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -114,6 +114,7 @@ static int network_load_one(Manager *manager, const char *filename) { LIST_HEAD_INIT(network->static_routes); LIST_HEAD_INIT(network->static_fdb_entries); LIST_HEAD_INIT(network->ipv6_proxy_ndp_addresses); + LIST_HEAD_INIT(network->address_labels); network->stacked_netdevs = hashmap_new(&string_hash_ops); if (!network->stacked_netdevs) @@ -131,6 +132,10 @@ static int network_load_one(Manager *manager, const char *filename) { if (!network->fdb_entries_by_section) return log_oom(); + network->address_labels_by_section = hashmap_new(&network_config_hash_ops); + if (!network->address_labels_by_section) + return log_oom(); + network->filename = strdup(filename); if (!network->filename) return log_oom(); @@ -192,6 +197,7 @@ static int network_load_one(Manager *manager, const char *filename) { "Link\0" "Network\0" "Address\0" + "IPv6AddressLabel\0" "Route\0" "DHCP\0" "DHCPv4\0" /* compat */ @@ -271,6 +277,7 @@ void network_free(Network *network) { Address *address; FdbEntry *fdb_entry; IPv6ProxyNDPAddress *ipv6_proxy_ndp_address; + AddressLabel *label; Iterator i; if (!network) @@ -318,9 +325,13 @@ void network_free(Network *network) { while ((ipv6_proxy_ndp_address = network->ipv6_proxy_ndp_addresses)) ipv6_proxy_ndp_address_free(ipv6_proxy_ndp_address); + while ((label = network->address_labels)) + address_label_free(label); + hashmap_free(network->addresses_by_section); hashmap_free(network->routes_by_section); hashmap_free(network->fdb_entries_by_section); + hashmap_free(network->address_labels_by_section); if (network->manager) { if (network->manager->networks) |