network: make request_process_address() and friends take Link and corresponding object
This also renames e.g. request_process_address() -> address_process_request(). Also, this drops type checks such as `assert(req->type == REQUEST_TYPE_ADDRESS)`, as in the later commits, the function of processing request, e.g. `address_process_request()`, will be assigned to the Request object when it is created. And the request type will be used to distinguish and to avoid deduplicating requests which do not have any assigned objects, like REQUEST_TYPE_DHCP4_CLIENT. Hence, the type checks in process functions are mostly not necessary and redundant. This is mostly cleanups and preparation for later commits, and should not change any behavior.
This commit is contained in:
@@ -369,67 +369,67 @@ int manager_process_requests(sd_event_source *s, void *userdata) {
|
||||
ORDERED_SET_FOREACH(req, manager->request_queue) {
|
||||
switch (req->type) {
|
||||
case REQUEST_TYPE_ACTIVATE_LINK:
|
||||
r = request_process_activation(req);
|
||||
r = link_process_activation(req, req->link, req->userdata);
|
||||
break;
|
||||
case REQUEST_TYPE_ADDRESS:
|
||||
r = request_process_address(req);
|
||||
r = address_process_request(req, req->link, req->address);
|
||||
break;
|
||||
case REQUEST_TYPE_ADDRESS_LABEL:
|
||||
r = request_process_address_label(req);
|
||||
r = address_label_process_request(req, req->link, req->label);
|
||||
break;
|
||||
case REQUEST_TYPE_BRIDGE_FDB:
|
||||
r = request_process_bridge_fdb(req);
|
||||
r = bridge_fdb_process_request(req, req->link, req->fdb);
|
||||
break;
|
||||
case REQUEST_TYPE_BRIDGE_MDB:
|
||||
r = request_process_bridge_mdb(req);
|
||||
r = bridge_mdb_process_request(req, req->link, req->mdb);
|
||||
break;
|
||||
case REQUEST_TYPE_DHCP_SERVER:
|
||||
r = request_process_dhcp_server(req);
|
||||
r = dhcp_server_process_request(req, req->link, NULL);
|
||||
break;
|
||||
case REQUEST_TYPE_DHCP4_CLIENT:
|
||||
r = request_process_dhcp4_client(req);
|
||||
r = dhcp4_process_request(req, req->link, NULL);
|
||||
break;
|
||||
case REQUEST_TYPE_DHCP6_CLIENT:
|
||||
r = request_process_dhcp6_client(req);
|
||||
r = dhcp6_process_request(req, req->link, NULL);
|
||||
break;
|
||||
case REQUEST_TYPE_IPV6_PROXY_NDP:
|
||||
r = request_process_ipv6_proxy_ndp_address(req);
|
||||
r = ipv6_proxy_ndp_address_process_request(req, req->link, req->ipv6_proxy_ndp);
|
||||
break;
|
||||
case REQUEST_TYPE_NDISC:
|
||||
r = request_process_ndisc(req);
|
||||
r = ndisc_process_request(req, req->link, NULL);
|
||||
break;
|
||||
case REQUEST_TYPE_NEIGHBOR:
|
||||
r = request_process_neighbor(req);
|
||||
r = neighbor_process_request(req, req->link, req->neighbor);
|
||||
break;
|
||||
case REQUEST_TYPE_NETDEV_INDEPENDENT:
|
||||
r = request_process_independent_netdev(req);
|
||||
r = independent_netdev_process_request(req, req->link, req->netdev);
|
||||
break;
|
||||
case REQUEST_TYPE_NETDEV_STACKED:
|
||||
r = request_process_stacked_netdev(req);
|
||||
r = stacked_netdev_process_request(req, req->link, req->netdev);
|
||||
break;
|
||||
case REQUEST_TYPE_NEXTHOP:
|
||||
r = request_process_nexthop(req);
|
||||
r = nexthop_process_request(req, req->link, req->nexthop);
|
||||
break;
|
||||
case REQUEST_TYPE_RADV:
|
||||
r = request_process_radv(req);
|
||||
r = radv_process_request(req, req->link, NULL);
|
||||
break;
|
||||
case REQUEST_TYPE_ROUTE:
|
||||
r = request_process_route(req);
|
||||
r = route_process_request(req, req->link, req->route);
|
||||
break;
|
||||
case REQUEST_TYPE_ROUTING_POLICY_RULE:
|
||||
r = request_process_routing_policy_rule(req);
|
||||
r = routing_policy_rule_process_request(req, req->link, req->rule);
|
||||
break;
|
||||
case REQUEST_TYPE_SET_LINK:
|
||||
r = request_process_set_link(req);
|
||||
break;
|
||||
case REQUEST_TYPE_TC_QDISC:
|
||||
r = request_process_qdisc(req);
|
||||
r = qdisc_process_request(req, req->link, NULL);
|
||||
break;
|
||||
case REQUEST_TYPE_TC_CLASS:
|
||||
r = request_process_tclass(req);
|
||||
r = tclass_process_request(req, req->link, NULL);
|
||||
break;
|
||||
case REQUEST_TYPE_UP_DOWN:
|
||||
r = request_process_link_up_or_down(req);
|
||||
r = link_process_up_or_down(req, req->link, req->userdata);
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
|
||||
Reference in New Issue
Block a user