sd-netlink: unify sd_rtnl_message_new_qdisc() and sd_rtnl_message_new_tclass()

As the netlink message header types for both qdisc and tclass are
equivalent.
This commit is contained in:
Yu Watanabe
2022-02-09 14:35:25 +09:00
parent 89346ac6f6
commit f50b93fed7
5 changed files with 21 additions and 99 deletions
+2 -9
View File
@@ -179,18 +179,11 @@ int qdisc_configure(Link *link, QDisc *qdisc) {
assert(link->manager->rtnl);
assert(link->ifindex > 0);
r = sd_rtnl_message_new_qdisc(link->manager->rtnl, &req, RTM_NEWQDISC, AF_UNSPEC, link->ifindex);
r = sd_rtnl_message_new_traffic_control(link->manager->rtnl, &req, RTM_NEWQDISC,
link->ifindex, qdisc->handle, qdisc->parent);
if (r < 0)
return log_link_debug_errno(link, r, "Could not create RTM_NEWQDISC message: %m");
r = sd_rtnl_message_set_qdisc_parent(req, qdisc->parent);
if (r < 0)
return r;
r = sd_rtnl_message_set_qdisc_handle(req, qdisc->handle);
if (r < 0)
return r;
if (QDISC_VTABLE(qdisc)) {
if (QDISC_VTABLE(qdisc)->fill_tca_kind) {
r = QDISC_VTABLE(qdisc)->fill_tca_kind(link, qdisc, req);
+2 -9
View File
@@ -137,18 +137,11 @@ int tclass_configure(Link *link, TClass *tclass) {
assert(link->manager->rtnl);
assert(link->ifindex > 0);
r = sd_rtnl_message_new_tclass(link->manager->rtnl, &req, RTM_NEWTCLASS, AF_UNSPEC, link->ifindex);
r = sd_rtnl_message_new_traffic_control(link->manager->rtnl, &req, RTM_NEWTCLASS,
link->ifindex, tclass->classid, tclass->parent);
if (r < 0)
return log_link_debug_errno(link, r, "Could not create RTM_NEWTCLASS message: %m");
r = sd_rtnl_message_set_tclass_parent(req, tclass->parent);
if (r < 0)
return r;
r = sd_rtnl_message_set_tclass_handle(req, tclass->classid);
if (r < 0)
return r;
r = sd_netlink_message_append_string(req, TCA_KIND, TCLASS_VTABLE(tclass)->tca_kind);
if (r < 0)
return r;