X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-manager.c;h=fc9ef74016368900eca5a528a4637ec6c16ff331;hb=53e1b683907c2f12330f00feb9630150196f064d;hp=71445d5dda0aa80641db91d13bc20264fa2c457a;hpb=4aa1d31c89c8fb74e70eed5849c780c4678829a3;p=thirdparty%2Fsystemd.git diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index 71445d5dda0..fc9ef740163 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: LGPL-2.1+ */ /*** This file is part of systemd. @@ -1142,8 +1143,12 @@ static int manager_save(Manager *m) { goto fail; } - fprintf(f, "from=%s%s/%hhu to=%s%s/%hhu tos=%hhu fwmark=%"PRIu32"/%"PRIu32" table=%hhu", space ? " " : "", from_str, - rule->from_prefixlen, space ? " " : "", to_str, rule->to_prefixlen, rule->tos, rule->fwmark, rule->fwmask, rule->table); + fprintf(f, "from=%s%s/%hhu to=%s%s/%hhu tos=%hhu fwmark=%"PRIu32"/%"PRIu32" table=%"PRIu32, + space ? " " : "", from_str, rule->from_prefixlen, + space ? " " : "", to_str, rule->to_prefixlen, + rule->tos, + rule->fwmark, rule->fwmask, + rule->table); fputc('\n', f); } @@ -1454,8 +1459,14 @@ int manager_rtnl_enumerate_rules(Manager *m) { return r; r = sd_netlink_call(m->rtnl, req, 0, &reply); - if (r < 0) + if (r < 0) { + if (r == -EOPNOTSUPP) { + log_debug("FIB Rules are not supported by the kernel. Ignoring."); + return 0; + } + return r; + } for (rule = reply; rule; rule = sd_netlink_message_next(rule)) { int k;