summaryrefslogtreecommitdiff
path: root/src/network/networkd-lldp-rx.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-04-09 20:16:35 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-04-13 14:38:24 +0900
commitbc9e40c9a1534ee737d4131d7ba8dcc36d1d5f05 (patch)
treefd37ed09e6487200f99405548814b81e65d390c7 /src/network/networkd-lldp-rx.c
parent54cfe9a75f0e84d0604d39b87b1d919542336809 (diff)
downloadsystemd-bc9e40c9a1534ee737d4131d7ba8dcc36d1d5f05.tar.gz
network: refuse to configure engines such as DHCP client more than once
Diffstat (limited to 'src/network/networkd-lldp-rx.c')
-rw-r--r--src/network/networkd-lldp-rx.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/network/networkd-lldp-rx.c b/src/network/networkd-lldp-rx.c
index bf1dd045b8..5b1b90cdd3 100644
--- a/src/network/networkd-lldp-rx.c
+++ b/src/network/networkd-lldp-rx.c
@@ -73,15 +73,16 @@ int link_lldp_rx_configure(Link *link) {
if (!link_lldp_rx_enabled(link))
return 0;
- if (!link->lldp) {
- r = sd_lldp_new(&link->lldp);
- if (r < 0)
- return r;
+ if (link->lldp)
+ return -EBUSY;
- r = sd_lldp_attach_event(link->lldp, link->manager->event, 0);
- if (r < 0)
- return r;
- }
+ r = sd_lldp_new(&link->lldp);
+ if (r < 0)
+ return r;
+
+ r = sd_lldp_attach_event(link->lldp, link->manager->event, 0);
+ if (r < 0)
+ return r;
r = sd_lldp_set_ifindex(link->lldp, link->ifindex);
if (r < 0)