Skip to content

Commit f4defbd

Browse files
committed
network: do not append table number in TableString field in json output
The json output already contains table number, hence, it is not necessary to include number in the string.
1 parent f14f127 commit f4defbd

File tree

6 files changed

+22
-15
lines changed

6 files changed

+22
-15
lines changed

src/network/networkd-json.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ static int route_build_json(Route *route, JsonVariant **ret) {
274274
if (r < 0)
275275
return r;
276276

277-
r = manager_get_route_table_to_string(manager, route->table, &table);
277+
r = manager_get_route_table_to_string(manager, route->table, /* append_num = */ false, &table);
278278
if (r < 0)
279279
return r;
280280

@@ -357,7 +357,7 @@ static int routing_policy_rule_build_json(RoutingPolicyRule *rule, JsonVariant *
357357
assert(rule->manager);
358358
assert(ret);
359359

360-
r = manager_get_route_table_to_string(rule->manager, rule->table, &table);
360+
r = manager_get_route_table_to_string(rule->manager, rule->table, /* append_num = */ false, &table);
361361
if (r < 0 && r != -EINVAL)
362362
return r;
363363

src/network/networkd-route-util.c

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -411,10 +411,9 @@ int manager_get_route_table_from_string(const Manager *m, const char *s, uint32_
411411
return 0;
412412
}
413413

414-
int manager_get_route_table_to_string(const Manager *m, uint32_t table, char **ret) {
414+
int manager_get_route_table_to_string(const Manager *m, uint32_t table, bool append_num, char **ret) {
415415
_cleanup_free_ char *str = NULL;
416416
const char *s;
417-
int r;
418417

419418
assert(m);
420419
assert(ret);
@@ -426,13 +425,16 @@ int manager_get_route_table_to_string(const Manager *m, uint32_t table, char **r
426425
if (!s)
427426
s = hashmap_get(m->route_table_names_by_number, UINT32_TO_PTR(table));
428427

429-
if (s)
430-
/* Currently, this is only used in debugging logs. To not confuse any bug
431-
* reports, let's include the table number. */
432-
r = asprintf(&str, "%s(%" PRIu32 ")", s, table);
433-
else
434-
r = asprintf(&str, "%" PRIu32, table);
435-
if (r < 0)
428+
if (s && !append_num) {
429+
str = strdup(s);
430+
if (!str)
431+
return -ENOMEM;
432+
433+
} else if (asprintf(&str, "%s%s%" PRIu32 "%s",
434+
strempty(s),
435+
s ? "(" : "",
436+
table,
437+
s ? ")" : "") < 0)
436438
return -ENOMEM;
437439

438440
*ret = TAKE_PTR(str);

src/network/networkd-route-util.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,6 @@ int route_protocol_full_to_string_alloc(int t, char **ret);
4444
int route_flags_to_string_alloc(uint32_t flags, char **ret);
4545

4646
int manager_get_route_table_from_string(const Manager *m, const char *table, uint32_t *ret);
47-
int manager_get_route_table_to_string(const Manager *m, uint32_t table, char **ret);
47+
int manager_get_route_table_to_string(const Manager *m, uint32_t table, bool append_num, char **ret);
4848

4949
CONFIG_PARSER_PROTOTYPE(config_parse_route_table_names);

src/network/networkd-route.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -597,7 +597,7 @@ static void log_route_debug(const Route *route, const char *str, const Link *lin
597597
if (in_addr_is_set(route->family, &route->prefsrc))
598598
(void) in_addr_to_string(route->family, &route->prefsrc, &prefsrc);
599599
(void) route_scope_to_string_alloc(route->scope, &scope);
600-
(void) manager_get_route_table_to_string(manager, route->table, &table);
600+
(void) manager_get_route_table_to_string(manager, route->table, /* append_num = */ true, &table);
601601
(void) route_protocol_full_to_string_alloc(route->protocol, &proto);
602602
(void) route_flags_to_string_alloc(route->flags, &flags);
603603

src/network/networkd-routing-policy-rule.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ static void log_routing_policy_rule_debug(const RoutingPolicyRule *rule, const c
427427
return;
428428

429429
(void) network_config_state_to_string_alloc(rule->state, &state);
430-
(void) manager_get_route_table_to_string(m, rule->table, &table);
430+
(void) manager_get_route_table_to_string(m, rule->table, /* append_num = */ true, &table);
431431

432432
log_link_debug(link,
433433
"%s %s routing policy rule (%s): priority: %"PRIu32", %s -> %s, iif: %s, oif: %s, table: %s",

src/network/test-network.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,14 @@ static void test_route_tables_one(Manager *manager, const char *name, uint32_t n
114114
}
115115

116116
assert_se(asprintf(&expected, "%s(%" PRIu32 ")", name, number) >= 0);
117-
assert_se(manager_get_route_table_to_string(manager, number, &str) >= 0);
117+
assert_se(manager_get_route_table_to_string(manager, number, /* append_num = */ true, &str) >= 0);
118118
assert_se(streq(str, expected));
119119

120+
str = mfree(str);
121+
122+
assert_se(manager_get_route_table_to_string(manager, number, /* append_num = */ false, &str) >= 0);
123+
assert_se(streq(str, name));
124+
120125
assert_se(manager_get_route_table_from_string(manager, name, &t) >= 0);
121126
assert_se(t == number);
122127

0 commit comments

Comments
 (0)