summaryrefslogtreecommitdiff
path: root/src/udev
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2014-02-22 18:23:19 +0100
committerTom Gundersen <teg@jklm.no>2014-02-22 18:29:43 +0100
commit733f7a2c69c794a81978a08a79916c224ba355a6 (patch)
treefc1a737533911f64f9e351a278aa42de49e36e34 /src/udev
parentdd4d2c1cd1eb7c1f3163f6f922362af3189df0a3 (diff)
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.
Diffstat (limited to 'src/udev')
-rw-r--r--src/udev/net/link-config-gperf.gperf4
-rw-r--r--src/udev/net/link-config.c7
2 files changed, 6 insertions, 5 deletions
diff --git a/src/udev/net/link-config-gperf.gperf b/src/udev/net/link-config-gperf.gperf
index 277ceb538..3384ca041 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 92d248fc6..05225e011 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)