summaryrefslogtreecommitdiff
path: root/src/network/networkd-link.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/networkd-link.c')
-rw-r--r--src/network/networkd-link.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index 3e10ab1e04..69ee7424ce 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -1357,7 +1357,7 @@ static int link_set_flags(Link *link) {
if (link->network->arp >= 0) {
ifi_change |= IFF_NOARP;
- ifi_flags |= IFF_NOARP;
+ ifi_flags |= link->network->arp ? 0 : IFF_NOARP;
}
r = sd_rtnl_message_link_set_flags(req, ifi_flags, ifi_change);
@@ -2060,7 +2060,8 @@ static int link_joined(Link *link) {
log_link_error_errno(link, r, "Could not set bridge message: %m");
}
- if (link->network->bridge || streq_ptr("bridge", link->kind)) {
+ if (link->network->use_br_vlan &&
+ (link->network->bridge || streq_ptr("bridge", link->kind))) {
r = link_set_bridge_vlan(link);
if (r < 0)
log_link_error_errno(link, r, "Could not set bridge vlan: %m");