]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/network/networkd-lldp-tx.c
NEWS: fix typo
[thirdparty/systemd.git] / src / network / networkd-lldp-tx.c
index d547efa768bb9ac8a5beb7d8b7623acf53121905..f48781ef8bb61c20cb6c148cae6e37470f8e32ad 100644 (file)
@@ -8,6 +8,7 @@
 #include "networkd-link.h"
 #include "networkd-lldp-tx.h"
 #include "networkd-manager.h"
+#include "networkd-sysctl.h"
 #include "parse-util.h"
 #include "string-table.h"
 #include "string-util.h"
@@ -69,9 +70,8 @@ int link_lldp_tx_configure(Link *link) {
                                         SD_LLDP_SYSTEM_CAPABILITIES_STATION |
                                         SD_LLDP_SYSTEM_CAPABILITIES_BRIDGE |
                                         SD_LLDP_SYSTEM_CAPABILITIES_ROUTER,
-                                        (link->network->ip_forward != ADDRESS_FAMILY_NO) ?
-                                        SD_LLDP_SYSTEM_CAPABILITIES_ROUTER :
-                                        SD_LLDP_SYSTEM_CAPABILITIES_STATION);
+                                        (link_get_ip_forwarding(link, AF_INET) > 0 || link_get_ip_forwarding(link, AF_INET6) > 0) ?
+                                        SD_LLDP_SYSTEM_CAPABILITIES_ROUTER : SD_LLDP_SYSTEM_CAPABILITIES_STATION);
         if (r < 0)
                 return r;
 
@@ -106,14 +106,13 @@ int config_parse_lldp_multicast_mode(
                 void *data,
                 void *userdata) {
 
-        sd_lldp_multicast_mode_t m, *mode = data;
+        sd_lldp_multicast_mode_t m, *mode = ASSERT_PTR(data);
         int r;
 
         assert(filename);
         assert(section);
         assert(lvalue);
         assert(rvalue);
-        assert(mode);
 
         if (isempty(rvalue)) {
                 *mode = _SD_LLDP_MULTICAST_MODE_INVALID;