From 733f7a2c69c794a81978a08a79916c224ba355a6 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Sat, 22 Feb 2014 18:23:19 +0100 Subject: udev: net - allow MTU and Speed to be specified with units This also changes the names to MTUBytes and BitsPerSecond, respectively. Notice that the speed was mistakenly documented to be in bytes before this change. --- src/udev/net/link-config-gperf.gperf | 4 ++-- src/udev/net/link-config.c | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'src/udev') diff --git a/src/udev/net/link-config-gperf.gperf b/src/udev/net/link-config-gperf.gperf index 277ceb5386..3384ca0418 100644 --- a/src/udev/net/link-config-gperf.gperf +++ b/src/udev/net/link-config-gperf.gperf @@ -30,7 +30,7 @@ Link.MACAddress, config_parse_hwaddr, 0, Link.NamePolicy, config_parse_name_policy, 0, offsetof(link_config, name_policy) Link.Name, config_parse_ifname, 0, offsetof(link_config, name) Link.Alias, config_parse_ifalias, 0, offsetof(link_config, alias) -Link.MTU, config_parse_unsigned, 0, offsetof(link_config, mtu) -Link.SpeedMBytes, config_parse_unsigned, 0, offsetof(link_config, speed) +Link.MTUBytes, config_parse_bytes_size, 0, offsetof(link_config, mtu) +Link.BitsPerSecond, config_parse_bytes_size, 0, offsetof(link_config, speed) Link.Duplex, config_parse_duplex, 0, offsetof(link_config, duplex) Link.WakeOnLan, config_parse_wol, 0, offsetof(link_config, wol) diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c index 92d248fc6b..05225e0111 100644 --- a/src/udev/net/link-config.c +++ b/src/udev/net/link-config.c @@ -365,10 +365,11 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev if (!old_name) return -EINVAL; - r = ethtool_set_speed(ctx->ethtool_fd, old_name, config->speed, config->duplex); + r = ethtool_set_speed(ctx->ethtool_fd, old_name, config->speed / 1024, config->duplex); if (r < 0) - log_warning("Could not set speed or duplex of %s to %u Mbytes (%s): %s", - old_name, config->speed, duplex_to_string(config->duplex), strerror(-r)); + log_warning("Could not set speed or duplex of %s to %u Mbps (%s): %s", + old_name, config->speed / 1024, duplex_to_string(config->duplex), + strerror(-r)); r = ethtool_set_wol(ctx->ethtool_fd, old_name, config->wol); if (r < 0) -- cgit v1.2.3-54-g00ecf