diff options
-rw-r--r-- | src/network/networkd-lldp-rx.c | 9 | ||||
-rw-r--r-- | src/network/networkd-lldp-tx.c | 6 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/network/networkd-lldp-rx.c b/src/network/networkd-lldp-rx.c index 0631cc96a0..fe88777977 100644 --- a/src/network/networkd-lldp-rx.c +++ b/src/network/networkd-lldp-rx.c @@ -12,6 +12,7 @@ #include "networkd-network.h" #include "string-table.h" #include "string-util.h" +#include "strv.h" #include "tmpfile-util.h" DEFINE_CONFIG_PARSE_ENUM(config_parse_lldp_mode, lldp_mode, LLDPMode, "Failed to parse LLDP= setting."); @@ -36,10 +37,10 @@ bool link_lldp_rx_enabled(Link *link) { if (!link->network) return false; - /* LLDP should be handled on bridge slaves as those have a direct - * connection to their peers not on the bridge master. Linux doesn't - * even (by default) forward lldp packets to the bridge master.*/ - if (streq_ptr("bridge", link->kind)) + /* LLDP should be handled on bridge and bond slaves as those have a direct connection to their peers, + * not on the bridge/bond master. Linux doesn't even (by default) forward lldp packets to the bridge + * master.*/ + if (link->kind && STR_IN_SET(link->kind, "bridge", "bond")) return false; return link->network->lldp_mode != LLDP_MODE_NO; diff --git a/src/network/networkd-lldp-tx.c b/src/network/networkd-lldp-tx.c index 1fbf9d0dd9..f2d4e6f2bb 100644 --- a/src/network/networkd-lldp-tx.c +++ b/src/network/networkd-lldp-tx.c @@ -6,8 +6,8 @@ #include <net/if_arp.h> #include "alloc-util.h" -#include "escape.h" #include "env-file.h" +#include "escape.h" #include "fd-util.h" #include "hostname-util.h" #include "missing_network.h" @@ -18,6 +18,7 @@ #include "random-util.h" #include "socket-util.h" #include "string-util.h" +#include "strv.h" #include "unaligned.h" #include "web-util.h" @@ -54,6 +55,9 @@ bool link_lldp_emit_enabled(Link *link) { if (!link->network) return false; + if (link->kind && STR_IN_SET(link->kind, "bridge", "bond")) + return false; + return link->network->lldp_emit != LLDP_EMIT_NO; } |