mirror of
https://github.com/systemd/systemd.git
synced 2025-03-14 04:58:28 +03:00
Merge pull request #17921 from yuwata/network-drop-assertion-17920
network: drop assertions to check link state in netlink callback handlers
This commit is contained in:
commit
213b8ebe43
@ -932,8 +932,6 @@ static int address_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link)
|
||||
assert(link);
|
||||
assert(link->ifname);
|
||||
assert(link->address_messages > 0);
|
||||
assert(IN_SET(link->state, LINK_STATE_CONFIGURING,
|
||||
LINK_STATE_FAILED, LINK_STATE_LINGER));
|
||||
|
||||
link->address_messages--;
|
||||
|
||||
@ -958,16 +956,11 @@ static int address_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link)
|
||||
* will not be called automatically. So, call it here. */
|
||||
a = set_first(link->static_addresses);
|
||||
if (!a) {
|
||||
log_link_warning(link, "No static address is stored.");
|
||||
link_enter_failed(link);
|
||||
log_link_debug(link, "No static address is stored. Already removed?");
|
||||
return 1;
|
||||
}
|
||||
if (!a->callback) {
|
||||
log_link_warning(link, "Address ready callback is not set.");
|
||||
link_enter_failed(link);
|
||||
return 1;
|
||||
}
|
||||
r = a->callback(a);
|
||||
|
||||
r = static_address_ready_callback(a);
|
||||
if (r < 0)
|
||||
link_enter_failed(link);
|
||||
}
|
||||
@ -1011,6 +1004,11 @@ int link_set_addresses(Link *link) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (link->address_messages != 0) {
|
||||
log_link_debug(link, "Static addresses are configuring.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
ORDERED_HASHMAP_FOREACH(ad, link->network->addresses_by_section) {
|
||||
bool update;
|
||||
|
||||
|
@ -199,6 +199,11 @@ int link_set_bridge_mdb(Link *link) {
|
||||
assert(link);
|
||||
assert(link->manager);
|
||||
|
||||
if (link->bridge_mdb_messages != 0) {
|
||||
log_link_debug(link, "MDB entries are configuring.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
link->bridge_mdb_configured = false;
|
||||
|
||||
if (!link->network)
|
||||
|
@ -294,6 +294,11 @@ int link_set_neighbors(Link *link) {
|
||||
assert(link->network);
|
||||
assert(link->state != _LINK_STATE_INVALID);
|
||||
|
||||
if (link->neighbor_messages != 0) {
|
||||
log_link_debug(link, "Neighbors are configuring.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
link->neighbors_configured = false;
|
||||
|
||||
HASHMAP_FOREACH(neighbor, link->network->neighbors_by_section) {
|
||||
|
@ -312,6 +312,11 @@ int link_set_nexthop(Link *link) {
|
||||
assert(link);
|
||||
assert(link->network);
|
||||
|
||||
if (link->nexthop_messages != 0) {
|
||||
log_link_debug(link, "Nexthops are configuring.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
link->static_nexthops_configured = false;
|
||||
|
||||
HASHMAP_FOREACH(nh, link->network->nexthops_by_section) {
|
||||
|
@ -1192,8 +1192,6 @@ static int route_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) {
|
||||
|
||||
assert(link);
|
||||
assert(link->route_messages > 0);
|
||||
assert(IN_SET(link->state, LINK_STATE_CONFIGURING,
|
||||
LINK_STATE_FAILED, LINK_STATE_LINGER));
|
||||
|
||||
link->route_messages--;
|
||||
|
||||
@ -1239,6 +1237,11 @@ int link_set_routes(Link *link) {
|
||||
* the addresses now, let's not configure the routes either. */
|
||||
return 0;
|
||||
|
||||
if (link->route_messages != 0) {
|
||||
log_link_debug(link, "Static routes are configuring.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = link_set_routing_policy_rules(link);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
@ -663,6 +663,11 @@ int link_set_routing_policy_rules(Link *link) {
|
||||
assert(link);
|
||||
assert(link->network);
|
||||
|
||||
if (link->routing_policy_rule_messages != 0) {
|
||||
log_link_debug(link, "Routing policy rules are configuring.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
link->routing_policy_rules_configured = false;
|
||||
|
||||
HASHMAP_FOREACH(rule, link->network->rules_by_section) {
|
||||
|
@ -230,8 +230,15 @@ int link_configure_sr_iov(Link *link) {
|
||||
SRIOV *sr_iov;
|
||||
int r;
|
||||
|
||||
assert(link);
|
||||
assert(link->network);
|
||||
|
||||
if (link->sr_iov_messages != 0) {
|
||||
log_link_debug(link, "SR-IOV is configuring.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
link->sr_iov_configured = false;
|
||||
link->sr_iov_messages = 0;
|
||||
|
||||
ORDERED_HASHMAP_FOREACH(sr_iov, link->network->sr_iov_by_section) {
|
||||
r = sr_iov_configure(link, sr_iov);
|
||||
|
@ -39,8 +39,15 @@ int link_configure_traffic_control(Link *link) {
|
||||
TrafficControl *tc;
|
||||
int r;
|
||||
|
||||
assert(link);
|
||||
assert(link->network);
|
||||
|
||||
if (link->tc_messages != 0) {
|
||||
log_link_debug(link, "Traffic control is configuring.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
link->tc_configured = false;
|
||||
link->tc_messages = 0;
|
||||
|
||||
ORDERED_HASHMAP_FOREACH(tc, link->network->tc_by_section) {
|
||||
r = traffic_control_configure(link, tc);
|
||||
|
Loading…
x
Reference in New Issue
Block a user