From 6870b41563771415e305b549de6dfde22a13ea83 Mon Sep 17 00:00:00 2001 From: Susant Sahani Date: Wed, 29 Jul 2015 22:04:28 +0530 Subject: networkd: fix size of networkd binary This patch fixes the size of networkd Bug #775 before: size systemd-networkd text data bss dec hex filename 1493755 8424392 2337 9920484 975fe4 systemd-networkd After $ size systemd-networkd text data bss dec hex filename 1493555 35752 2337 1531644 175efc systemd-networkd --- src/network/networkd-netdev-tunnel.c | 12 ++---------- src/network/networkd-netdev-tunnel.h | 5 +---- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/network/networkd-netdev-tunnel.c b/src/network/networkd-netdev-tunnel.c index 7fd9ef584b..265e67b7e3 100644 --- a/src/network/networkd-netdev-tunnel.c +++ b/src/network/networkd-netdev-tunnel.c @@ -404,12 +404,6 @@ int config_parse_tunnel_address(const char *unit, return 0; } -static const char* const ipv6_flowlabel_table[_NETDEV_IPV6_FLOWLABEL_MAX] = { - [NETDEV_IPV6_FLOWLABEL_INHERIT] = "inherit", -}; - -DEFINE_STRING_TABLE_LOOKUP(ipv6_flowlabel, IPv6FlowLabel); - int config_parse_ipv6_flowlabel(const char* unit, const char *filename, unsigned line, @@ -422,7 +416,6 @@ int config_parse_ipv6_flowlabel(const char* unit, void *userdata) { IPv6FlowLabel *ipv6_flowlabel = data; Tunnel *t = userdata; - IPv6FlowLabel s; int k = 0; int r; @@ -431,12 +424,11 @@ int config_parse_ipv6_flowlabel(const char* unit, assert(rvalue); assert(ipv6_flowlabel); - s = ipv6_flowlabel_from_string(rvalue); - if (s != _NETDEV_IPV6_FLOWLABEL_INVALID) { + if (streq(rvalue, "inherit")) { *ipv6_flowlabel = IP6_FLOWINFO_FLOWLABEL; t->flags |= IP6_TNL_F_USE_ORIG_FLOWLABEL; } else { - r = config_parse_unsigned(unit, filename, line, section, section_line, lvalue, ltype, rvalue, &k, userdata); + r = config_parse_int(unit, filename, line, section, section_line, lvalue, ltype, rvalue, &k, userdata); if (r >= 0) { if (k > 0xFFFFF) log_syntax(unit, LOG_ERR, filename, line, k, "Failed to parse IPv6 flowlabel option, ignoring: %s", rvalue); diff --git a/src/network/networkd-netdev-tunnel.h b/src/network/networkd-netdev-tunnel.h index 1fd2b94ae1..e4fa74aef4 100644 --- a/src/network/networkd-netdev-tunnel.h +++ b/src/network/networkd-netdev-tunnel.h @@ -45,6 +45,7 @@ struct Tunnel { uint8_t encap_limit; int family; + int ipv6_flowlabel; unsigned ttl; unsigned tos; @@ -54,7 +55,6 @@ struct Tunnel { union in_addr_union remote; Ip6TnlMode ip6tnl_mode; - IPv6FlowLabel ipv6_flowlabel; bool pmtudisc; bool copy_dscp; @@ -90,9 +90,6 @@ int config_parse_tunnel_address(const char *unit, void *data, void *userdata); -const char *ipv6_flowlabel_to_string(IPv6FlowLabel d) _const_; -IPv6FlowLabel ipv6_flowlabel_from_string(const char *d) _pure_; - int config_parse_ipv6_flowlabel(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, -- cgit v1.2.3