diff --git a/src/network/networkd-fdb.c b/src/network/networkd-fdb.c index 4ae511fc7a..4cacc44106 100644 --- a/src/network/networkd-fdb.c +++ b/src/network/networkd-fdb.c @@ -124,6 +124,11 @@ int fdb_entry_configure(Link *link, FdbEntry *fdb_entry) { assert(link->manager); assert(fdb_entry); + if (fdb_entry->family == AF_INET6 && manager_sysctl_ipv6_enabled(link->manager) == 0) { + log_link_warning(link, "An IPv6 fdb entry is requested, but IPv6 is disabled by sysctl, ignoring."); + return 0; + } + /* create new RTM message */ r = sd_rtnl_message_new_neigh(link->manager->rtnl, &req, RTM_NEWNEIGH, link->ifindex, PF_BRIDGE); if (r < 0) @@ -169,7 +174,7 @@ int fdb_entry_configure(Link *link, FdbEntry *fdb_entry) { link_ref(link); - return 0; + return 1; } /* remove and FDB entry. */