]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: append INTERFACE= attributes for logs corresponds to a netif 14488/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 7 Jan 2020 03:53:19 +0000 (12:53 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 7 Jan 2020 13:20:43 +0000 (22:20 +0900)
12 files changed:
src/network/netdev/veth.c
src/network/netdev/vlan.c
src/network/netdev/vxcan.c
src/network/networkd-address-label.c
src/network/networkd-address.c
src/network/networkd-dhcp-server.c
src/network/networkd-dhcp4.c
src/network/networkd-fdb.c
src/network/networkd-ipv6-proxy-ndp.c
src/network/networkd-neighbor.c
src/network/networkd-route.c
src/network/networkd-routing-policy-rule.c

index 98bbe8681991ac885a19cb43c4c592d6ff116cb6..8c7c1d053fe94dbf727c39b4ade6ac43a538419a 100644 (file)
@@ -25,7 +25,7 @@ static int netdev_veth_fill_message_create(NetDev *netdev, Link *link, sd_netlin
         if (v->ifname_peer) {
                 r = sd_netlink_message_append_string(m, IFLA_IFNAME, v->ifname_peer);
                 if (r < 0)
-                        return log_error_errno(r, "Failed to add netlink interface name: %m");
+                        return log_netdev_error_errno(netdev, r, "Failed to add netlink interface name: %m");
         }
 
         if (v->mac_peer) {
@@ -53,16 +53,17 @@ static int netdev_veth_verify(NetDev *netdev, const char *filename) {
         assert(v);
 
         if (!v->ifname_peer) {
-                log_warning("Veth NetDev without peer name configured in %s. Ignoring",
-                            filename);
+                log_netdev_warning(netdev, "Veth NetDev without peer name configured in %s. Ignoring",
+                                   filename);
                 return -EINVAL;
         }
 
         if (!v->mac_peer) {
                 r = netdev_get_mac(v->ifname_peer, &v->mac_peer);
                 if (r < 0) {
-                        log_warning("Failed to generate predictable MAC address for %s. Ignoring",
-                                  v->ifname_peer);
+                        log_netdev_warning(netdev,
+                                           "Failed to generate predictable MAC address for %s. Ignoring",
+                                           v->ifname_peer);
                         return -EINVAL;
                 }
         }
index 902aa804ffb527a81b0c866a55fb5ae52063239d..a4c7192c7d2e3fb0184c1644ee120cf7d4932815 100644 (file)
@@ -62,7 +62,7 @@ static int netdev_vlan_verify(NetDev *netdev, const char *filename) {
         assert(v);
 
         if (v->id == VLANID_INVALID) {
-                log_warning("VLAN without valid Id (%"PRIu16") configured in %s.", v->id, filename);
+                log_netdev_warning(netdev, "VLAN without valid Id (%"PRIu16") configured in %s.", v->id, filename);
                 return -EINVAL;
         }
 
index 1a5786a0b7125691dca820ea5f80a0a2e1996972..9614af1068c0947a0f90a2453584eec7ff900585 100644 (file)
@@ -23,7 +23,7 @@ static int netdev_vxcan_fill_message_create(NetDev *netdev, Link *link, sd_netli
         if (v->ifname_peer) {
                 r = sd_netlink_message_append_string(m, IFLA_IFNAME, v->ifname_peer);
                 if (r < 0)
-                        return log_error_errno(r, "Failed to add vxcan netlink interface peer name: %m");
+                        return log_netdev_error_errno(netdev, r, "Failed to add vxcan netlink interface peer name: %m");
         }
 
         r = sd_netlink_message_close_container(m);
@@ -44,7 +44,7 @@ static int netdev_vxcan_verify(NetDev *netdev, const char *filename) {
         assert(v);
 
         if (!v->ifname_peer) {
-                log_warning("VxCan NetDev without peer name configured in %s. Ignoring", filename);
+                log_netdev_warning(netdev, "VxCan NetDev without peer name configured in %s. Ignoring", filename);
                 return -EINVAL;
         }
 
index 254e8f0bcc8e92607d073b9c28a822097503310d..32b79dd1548107c0f8fd13df148bd93e5254faff 100644 (file)
@@ -125,25 +125,25 @@ int address_label_configure(
         r = sd_rtnl_message_new_addrlabel(link->manager->rtnl, &req, RTM_NEWADDRLABEL,
                                           link->ifindex, AF_INET6);
         if (r < 0)
-                return log_error_errno(r, "Could not allocate RTM_NEWADDR message: %m");
+                return log_link_error_errno(link, r, "Could not allocate RTM_NEWADDR message: %m");
 
         r = sd_rtnl_message_addrlabel_set_prefixlen(req, label->prefixlen);
         if (r < 0)
-                return log_error_errno(r, "Could not set prefixlen: %m");
+                return log_link_error_errno(link, r, "Could not set prefixlen: %m");
 
         r = sd_netlink_message_append_u32(req, IFAL_LABEL, label->label);
         if (r < 0)
-                return log_error_errno(r, "Could not append IFAL_LABEL attribute: %m");
+                return log_link_error_errno(link, r, "Could not append IFAL_LABEL attribute: %m");
 
         r = sd_netlink_message_append_in6_addr(req, IFA_ADDRESS, &label->in_addr.in6);
         if (r < 0)
-                return log_error_errno(r, "Could not append IFA_ADDRESS attribute: %m");
+                return log_link_error_errno(link, r, "Could not append IFA_ADDRESS attribute: %m");
 
         r = netlink_call_async(link->manager->rtnl, NULL, req,
                                callback ?: address_label_handler,
                                link_netlink_destroy_callback, link);
         if (r < 0)
-                return log_error_errno(r, "Could not send rtnetlink message: %m");
+                return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
 
         link_ref(link);
 
index 169d0e4829e0612e06c86869f57d7452519784f0..88bafb4d20c00bf536bd2c0fe40b8d33258c6c41 100644 (file)
@@ -668,7 +668,7 @@ int address_configure(
                         _cleanup_free_ char *pretty = NULL;
 
                         (void) in_addr_to_string(address->family, &address->in_addr, &pretty);
-                        log_debug("Starting IPv4ACD client. Probing address %s", strna(pretty));
+                        log_link_debug(link, "Starting IPv4ACD client. Probing address %s", strna(pretty));
                 }
 
                 r = sd_ipv4acd_start(address->acd, true);
index fc1cd5ca1b4ccbf7170e2dcb2b10b7fad53b7e50..a6dbe2e596c3029a05f4154a44eb5dcf3ba5bc61 100644 (file)
@@ -45,7 +45,7 @@ static int link_push_uplink_dns_to_dhcp_server(Link *link, sd_dhcp_server *s) {
         size_t n_addresses = 0, n_allocated = 0;
         unsigned i;
 
-        log_debug("Copying DNS server information from %s", link->ifname);
+        log_link_debug(link, "Copying DNS server information from %s", link->ifname);
 
         if (!link->network)
                 return 0;
@@ -99,7 +99,7 @@ static int link_push_uplink_ntp_to_dhcp_server(Link *link, sd_dhcp_server *s) {
         if (!link->network)
                 return 0;
 
-        log_debug("Copying NTP server information from %s", link->ifname);
+        log_link_debug(link, "Copying NTP server information from %s", link->ifname);
 
         STRV_FOREACH(a, link->network->ntp) {
                 union in_addr_union ia;
@@ -148,7 +148,7 @@ static int link_push_uplink_sip_to_dhcp_server(Link *link, sd_dhcp_server *s) {
         if (!link->network)
                 return 0;
 
-        log_debug("Copying SIP server information from %s", link->ifname);
+        log_link_debug(link, "Copying SIP server information from %s", link->ifname);
 
         STRV_FOREACH(a, link->network->sip) {
                 union in_addr_union ia;
@@ -294,7 +294,7 @@ int dhcp4_server_configure(Link *link) {
                 else {
                         r = get_timezone(&buffer);
                         if (r < 0)
-                                return log_error_errno(r, "Failed to determine timezone: %m");
+                                return log_link_error_errno(link, r, "Failed to determine timezone: %m");
 
                         tz = buffer;
                 }
index 66d83e76bfae4ffd3c590999c01cc051d3b4445f..d94ad0038df2ba9c5c501b17d469ae475e21c1f4 100644 (file)
@@ -783,7 +783,7 @@ static int dhcp4_address_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *
                         _cleanup_free_ char *pretty = NULL;
 
                         (void) in_addr_to_string(AF_INET, &addr, &pretty);
-                        log_debug("Starting IPv4ACD client. Probing DHCPv4 address %s", strna(pretty));
+                        log_link_debug(link, "Starting IPv4ACD client. Probing DHCPv4 address %s", strna(pretty));
                 }
 
                 r = sd_ipv4acd_start(link->network->dhcp_acd, true);
index 839efe73a72d8e076e5fb16846d1f1a3218e6c1e..df18682245e48999ceb094591122e9a4f208f770 100644 (file)
@@ -126,26 +126,26 @@ int fdb_entry_configure(Link *link, FdbEntry *fdb_entry) {
         /* create new RTM message */
         r = sd_rtnl_message_new_neigh(link->manager->rtnl, &req, RTM_NEWNEIGH, link->ifindex, PF_BRIDGE);
         if (r < 0)
-                return rtnl_log_create_error(r);
+                return log_link_error_errno(link, r, "Could not create RTM_NEWNEIGH message: %m");
 
         r = sd_rtnl_message_neigh_set_flags(req, fdb_entry->fdb_ntf_flags);
         if (r < 0)
-                return rtnl_log_create_error(r);
+                return log_link_error_errno(link, r, "Could not set neighbor flags: %m");
 
         /* only NUD_PERMANENT state supported. */
         r = sd_rtnl_message_neigh_set_state(req, NUD_NOARP | NUD_PERMANENT);
         if (r < 0)
-                return rtnl_log_create_error(r);
+                return log_link_error_errno(link, r, "Could not set neighbor state: %m");
 
         r = sd_netlink_message_append_data(req, NDA_LLADDR, &fdb_entry->mac_addr, sizeof(fdb_entry->mac_addr));
         if (r < 0)
-                return rtnl_log_create_error(r);
+                return log_link_error_errno(link, r, "Could not append NDA_LLADDR attribute: %m");
 
         /* VLAN Id is optional. We'll add VLAN Id only if it's specified. */
         if (fdb_entry->vlan_id > 0) {
                 r = sd_netlink_message_append_u16(req, NDA_VLAN, fdb_entry->vlan_id);
                 if (r < 0)
-                        return rtnl_log_create_error(r);
+                        return log_link_error_errno(link, r, "Could not append NDA_VLAN attribute: %m");
         }
 
         if (!in_addr_is_null(fdb_entry->family, &fdb_entry->destination_addr)) {
index 14a8ceaddead4231b57261995bb116f32da84a0f..b207866c758a7d14d2a57e214f747c5bcfe8f764 100644 (file)
@@ -162,15 +162,15 @@ int ipv6_proxy_ndp_address_configure(Link *link, IPv6ProxyNDPAddress *ipv6_proxy
         /* create new netlink message */
         r = sd_rtnl_message_new_neigh(rtnl, &req, RTM_NEWNEIGH, link->ifindex, AF_INET6);
         if (r < 0)
-                return rtnl_log_create_error(r);
+                return log_link_error_errno(link, r, "Could not create RTM_NEWNEIGH message: %m");
 
         r = sd_rtnl_message_neigh_set_flags(req, NLM_F_REQUEST | NTF_PROXY);
         if (r < 0)
-                return rtnl_log_create_error(r);
+                return log_link_error_errno(link, r, "Could not set neighbor flags: %m");
 
         r = sd_netlink_message_append_in6_addr(req, NDA_DST, &ipv6_proxy_ndp_address->in_addr);
         if (r < 0)
-                return rtnl_log_create_error(r);
+                return log_link_error_errno(link, r, "Could not append NDA_DST attribute: %m");
 
         r = netlink_call_async(rtnl, NULL, req, set_ipv6_proxy_ndp_address_handler,
                                link_netlink_destroy_callback, link);
index f7a4bdbe65b71ae2301d48e38ed3b1b97ace78bb..fd6219fccea59c5dcefdfd5408a03786e2d486d4 100644 (file)
@@ -126,28 +126,28 @@ int neighbor_configure(Neighbor *neighbor, Link *link, link_netlink_message_hand
         r = sd_rtnl_message_new_neigh(link->manager->rtnl, &req, RTM_NEWNEIGH,
                                           link->ifindex, neighbor->family);
         if (r < 0)
-                return log_error_errno(r, "Could not allocate RTM_NEWNEIGH message: %m");
+                return log_link_error_errno(link, r, "Could not allocate RTM_NEWNEIGH message: %m");
 
         r = sd_rtnl_message_neigh_set_state(req, NUD_PERMANENT);
         if (r < 0)
-                return log_error_errno(r, "Could not set state: %m");
+                return log_link_error_errno(link, r, "Could not set state: %m");
 
         r = sd_netlink_message_set_flags(req, NLM_F_REQUEST | NLM_F_CREATE | NLM_F_REPLACE);
         if (r < 0)
-                return log_error_errno(r, "Could not set flags: %m");
+                return log_link_error_errno(link, r, "Could not set flags: %m");
 
         r = sd_netlink_message_append_data(req, NDA_LLADDR, &neighbor->lladdr, neighbor->lladdr_size);
         if (r < 0)
-                return log_error_errno(r, "Could not append NDA_LLADDR attribute: %m");
+                return log_link_error_errno(link, r, "Could not append NDA_LLADDR attribute: %m");
 
         r = netlink_message_append_in_addr_union(req, NDA_DST, neighbor->family, &neighbor->in_addr);
         if (r < 0)
-                return log_error_errno(r, "Could not append NDA_DST attribute: %m");
+                return log_link_error_errno(link, r, "Could not append NDA_DST attribute: %m");
 
         r = netlink_call_async(link->manager->rtnl, NULL, req, callback ?: neighbor_configure_handler,
                                link_netlink_destroy_callback, link);
         if (r < 0)
-                return log_error_errno(r, "Could not send rtnetlink message: %m");
+                return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
 
         link->neighbor_messages++;
         link_ref(link);
@@ -189,16 +189,16 @@ int neighbor_remove(Neighbor *neighbor, Link *link, link_netlink_message_handler
         r = sd_rtnl_message_new_neigh(link->manager->rtnl, &req, RTM_DELNEIGH,
                                           link->ifindex, neighbor->family);
         if (r < 0)
-                return log_error_errno(r, "Could not allocate RTM_DELNEIGH message: %m");
+                return log_link_error_errno(link, r, "Could not allocate RTM_DELNEIGH message: %m");
 
         r = netlink_message_append_in_addr_union(req, NDA_DST, neighbor->family, &neighbor->in_addr);
         if (r < 0)
-                return log_error_errno(r, "Could not append NDA_DST attribute: %m");
+                return log_link_error_errno(link, r, "Could not append NDA_DST attribute: %m");
 
         r = netlink_call_async(link->manager->rtnl, NULL, req, callback ?: neighbor_remove_handler,
                                link_netlink_destroy_callback, link);
         if (r < 0)
-                return log_error_errno(r, "Could not send rtnetlink message: %m");
+                return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
 
         link_ref(link);
 
index ecc8d219b7d1d59da62a3a31b19b94de35ddd23c..acb842896d902a3e38574df0116cff631e52fb0f 100644 (file)
@@ -511,7 +511,7 @@ int route_expire_handler(sd_event_source *s, uint64_t usec, void *userdata) {
 
         r = route_remove(route, route->link, NULL);
         if (r < 0)
-                log_warning_errno(r, "Could not remove route: %m");
+                log_link_warning_errno(route->link, r, "Could not remove route: %m");
         else
                 route_free(route);
 
index cc6ab74a8a9f78559110ddbc8c7042229e1985b8..e7d09c4ad94a0689efba763565580cc2e8a08135 100644 (file)
@@ -335,33 +335,33 @@ int routing_policy_rule_remove(RoutingPolicyRule *routing_policy_rule, Link *lin
 
         r = sd_rtnl_message_new_routing_policy_rule(link->manager->rtnl, &m, RTM_DELRULE, routing_policy_rule->family);
         if (r < 0)
-                return log_error_errno(r, "Could not allocate RTM_DELRULE message: %m");
+                return log_link_error_errno(link, r, "Could not allocate RTM_DELRULE message: %m");
 
         if (in_addr_is_null(routing_policy_rule->family, &routing_policy_rule->from) == 0) {
                 r = netlink_message_append_in_addr_union(m, FRA_SRC, routing_policy_rule->family, &routing_policy_rule->from);
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_SRC attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_SRC attribute: %m");
 
                 r = sd_rtnl_message_routing_policy_rule_set_rtm_src_prefixlen(m, routing_policy_rule->from_prefixlen);
                 if (r < 0)
-                        return log_error_errno(r, "Could not set source prefix length: %m");
+                        return log_link_error_errno(link, r, "Could not set source prefix length: %m");
         }
 
         if (in_addr_is_null(routing_policy_rule->family, &routing_policy_rule->to) == 0) {
                 r = netlink_message_append_in_addr_union(m, FRA_DST, routing_policy_rule->family, &routing_policy_rule->to);
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_DST attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_DST attribute: %m");
 
                 r = sd_rtnl_message_routing_policy_rule_set_rtm_dst_prefixlen(m, routing_policy_rule->to_prefixlen);
                 if (r < 0)
-                        return log_error_errno(r, "Could not set destination prefix length: %m");
+                        return log_link_error_errno(link, r, "Could not set destination prefix length: %m");
         }
 
         r = netlink_call_async(link->manager->rtnl, NULL, m,
                                callback ?: routing_policy_rule_remove_handler,
                                link_netlink_destroy_callback, link);
         if (r < 0)
-                return log_error_errno(r, "Could not send rtnetlink message: %m");
+                return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
 
         link_ref(link);
 
@@ -461,102 +461,103 @@ int routing_policy_rule_configure(RoutingPolicyRule *rule, Link *link, link_netl
                 (void) in_addr_to_string(rule->family, &rule->from, &from);
                 (void) in_addr_to_string(rule->family, &rule->to, &to);
 
-                log_debug("Configuring routing policy rule: %s/%u -> %s/%u, iif: %s, oif: %s, table: %u",
-                          from, rule->from_prefixlen, to, rule->to_prefixlen, strna(rule->iif), strna(rule->oif), rule->table);
+                log_link_debug(link,
+                               "Configuring routing policy rule: %s/%u -> %s/%u, iif: %s, oif: %s, table: %u",
+                               from, rule->from_prefixlen, to, rule->to_prefixlen, strna(rule->iif), strna(rule->oif), rule->table);
         }
 
         r = sd_rtnl_message_new_routing_policy_rule(link->manager->rtnl, &m, RTM_NEWRULE, rule->family);
         if (r < 0)
-                return log_error_errno(r, "Could not allocate RTM_NEWRULE message: %m");
+                return log_link_error_errno(link, r, "Could not allocate RTM_NEWRULE message: %m");
 
         if (in_addr_is_null(rule->family, &rule->from) == 0) {
                 r = netlink_message_append_in_addr_union(m, FRA_SRC, rule->family, &rule->from);
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_SRC attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_SRC attribute: %m");
 
                 r = sd_rtnl_message_routing_policy_rule_set_rtm_src_prefixlen(m, rule->from_prefixlen);
                 if (r < 0)
-                        return log_error_errno(r, "Could not set source prefix length: %m");
+                        return log_link_error_errno(link, r, "Could not set source prefix length: %m");
         }
 
         if (in_addr_is_null(rule->family, &rule->to) == 0) {
                 r = netlink_message_append_in_addr_union(m, FRA_DST, rule->family, &rule->to);
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_DST attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_DST attribute: %m");
 
                 r = sd_rtnl_message_routing_policy_rule_set_rtm_dst_prefixlen(m, rule->to_prefixlen);
                 if (r < 0)
-                        return log_error_errno(r, "Could not set destination prefix length: %m");
+                        return log_link_error_errno(link, r, "Could not set destination prefix length: %m");
         }
 
         r = sd_netlink_message_append_u32(m, FRA_PRIORITY, rule->priority);
         if (r < 0)
-                return log_error_errno(r, "Could not append FRA_PRIORITY attribute: %m");
+                return log_link_error_errno(link, r, "Could not append FRA_PRIORITY attribute: %m");
 
         if (rule->tos > 0) {
                 r = sd_rtnl_message_routing_policy_rule_set_tos(m, rule->tos);
                 if (r < 0)
-                        return log_error_errno(r, "Could not set ip rule tos: %m");
+                        return log_link_error_errno(link, r, "Could not set ip rule tos: %m");
         }
 
         if (rule->table < 256) {
                 r = sd_rtnl_message_routing_policy_rule_set_table(m, rule->table);
                 if (r < 0)
-                        return log_error_errno(r, "Could not set ip rule table: %m");
+                        return log_link_error_errno(link, r, "Could not set ip rule table: %m");
         } else {
                 r = sd_rtnl_message_routing_policy_rule_set_table(m, RT_TABLE_UNSPEC);
                 if (r < 0)
-                        return log_error_errno(r, "Could not set ip rule table: %m");
+                        return log_link_error_errno(link, r, "Could not set ip rule table: %m");
 
                 r = sd_netlink_message_append_u32(m, FRA_TABLE, rule->table);
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_TABLE attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_TABLE attribute: %m");
         }
 
         if (rule->fwmark > 0) {
                 r = sd_netlink_message_append_u32(m, FRA_FWMARK, rule->fwmark);
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_FWMARK attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_FWMARK attribute: %m");
         }
 
         if (rule->fwmask > 0) {
                 r = sd_netlink_message_append_u32(m, FRA_FWMASK, rule->fwmask);
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_FWMASK attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_FWMASK attribute: %m");
         }
 
         if (rule->iif) {
                 r = sd_netlink_message_append_string(m, FRA_IFNAME, rule->iif);
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_IFNAME attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_IFNAME attribute: %m");
         }
 
         if (rule->oif) {
                 r = sd_netlink_message_append_string(m, FRA_OIFNAME, rule->oif);
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_OIFNAME attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_OIFNAME attribute: %m");
         }
 
         r = sd_netlink_message_append_u8(m, FRA_IP_PROTO, rule->protocol);
         if (r < 0)
-                return log_error_errno(r, "Could not append FRA_IP_PROTO attribute: %m");
+                return log_link_error_errno(link, r, "Could not append FRA_IP_PROTO attribute: %m");
 
         if (rule->sport.start != 0 || rule->sport.end != 0) {
                 r = sd_netlink_message_append_data(m, FRA_SPORT_RANGE, &rule->sport, sizeof(rule->sport));
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_SPORT_RANGE attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_SPORT_RANGE attribute: %m");
         }
 
         if (rule->dport.start != 0 || rule->dport.end != 0) {
                 r = sd_netlink_message_append_data(m, FRA_DPORT_RANGE, &rule->dport, sizeof(rule->dport));
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FRA_DPORT_RANGE attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FRA_DPORT_RANGE attribute: %m");
         }
 
         if (rule->invert_rule) {
                 r = sd_rtnl_message_routing_policy_rule_set_flags(m, FIB_RULE_INVERT);
                 if (r < 0)
-                        return log_error_errno(r, "Could not append FIB_RULE_INVERT attribute: %m");
+                        return log_link_error_errno(link, r, "Could not append FIB_RULE_INVERT attribute: %m");
         }
 
         rule->link = link;
@@ -565,13 +566,13 @@ int routing_policy_rule_configure(RoutingPolicyRule *rule, Link *link, link_netl
                                callback ?: routing_policy_rule_handler,
                                link_netlink_destroy_callback, link);
         if (r < 0)
-                return log_error_errno(r, "Could not send rtnetlink message: %m");
+                return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
 
         link_ref(link);
 
         r = routing_policy_rule_add(link->manager, rule, NULL);
         if (r < 0)
-                return log_error_errno(r, "Could not add rule: %m");
+                return log_link_error_errno(link, r, "Could not add rule: %m");
 
         return 1;
 }