diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-02-28 10:55:51 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-03-11 14:20:31 +0900 |
commit | 09d09207dece533ced25c91024ce7a1c0ed660d8 (patch) | |
tree | 386d5fc738c98f696d928aa399d4ea98fdfbae7c /src/network/networkd-bridge-fdb.c | |
parent | 4c8b81caa518df34d4e69f6660fc4fbdf0b42ce4 (diff) | |
download | systemd-09d09207dece533ced25c91024ce7a1c0ed660d8.tar.gz |
network: re-design request queue
This makes Request object takes hash, compare, free, and process functions.
With this change, the logic in networkd-queue.c can be mostly
independent of the type of the request or the object (e.g. Address) assigned
to the request, and it becomes simpler.
Diffstat (limited to 'src/network/networkd-bridge-fdb.c')
-rw-r--r-- | src/network/networkd-bridge-fdb.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/network/networkd-bridge-fdb.c b/src/network/networkd-bridge-fdb.c index cc02213c28..803e27cdae 100644 --- a/src/network/networkd-bridge-fdb.c +++ b/src/network/networkd-bridge-fdb.c @@ -208,7 +208,7 @@ static bool bridge_fdb_is_ready_to_configure(BridgeFDB *fdb, Link *link) { return true; } -int bridge_fdb_process_request(Request *req, Link *link, void *userdata) { +static int bridge_fdb_process_request(Request *req, Link *link, void *userdata) { BridgeFDB *fdb = ASSERT_PTR(userdata); int r; @@ -235,8 +235,14 @@ int link_request_static_bridge_fdb(Link *link) { link->static_bridge_fdb_configured = false; HASHMAP_FOREACH(fdb, link->network->bridge_fdb_entries_by_section) { - r = link_queue_request(link, REQUEST_TYPE_BRIDGE_FDB, fdb, false, - &link->static_bridge_fdb_messages, bridge_fdb_configure_handler, NULL); + r = link_queue_request_full(link, REQUEST_TYPE_BRIDGE_FDB, + fdb, NULL, + trivial_hash_func, + trivial_compare_func, + bridge_fdb_process_request, + &link->static_bridge_fdb_messages, + bridge_fdb_configure_handler, + NULL); if (r < 0) return log_link_error_errno(link, r, "Failed to request static bridge FDB entry: %m"); } |