|
5 | 5 | #include "util/stringUtils.h" |
6 | 6 |
|
7 | 7 | #define FF_LOCALIP_DISPLAY_NAME "Local IP" |
8 | | -#define FF_LOCALIP_NUM_FORMAT_ARGS 6 |
| 8 | +#define FF_LOCALIP_NUM_FORMAT_ARGS 7 |
9 | 9 | #pragma GCC diagnostic ignored "-Wsign-conversion" |
10 | 10 |
|
11 | 11 | static int sortIps(const FFLocalIpResult* left, const FFLocalIpResult* right) |
@@ -111,13 +111,22 @@ void ffPrintLocalIp(FFLocalIpOptions* options) |
111 | 111 | } |
112 | 112 | else |
113 | 113 | { |
| 114 | + FF_STRBUF_AUTO_DESTROY speedStr = ffStrbufCreate(); |
| 115 | + if (ip->speed > 0) |
| 116 | + { |
| 117 | + if (ip->speed >= 1000) |
| 118 | + ffStrbufSetF(&speedStr, "%g Gbps", ip->speed / 1000.0); |
| 119 | + else |
| 120 | + ffStrbufSetF(&speedStr, "%u Mbps", (unsigned) ip->speed); |
| 121 | + } |
114 | 122 | FF_PRINT_FORMAT_CHECKED(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY, FF_LOCALIP_NUM_FORMAT_ARGS, ((FFformatarg[]){ |
115 | 123 | {FF_FORMAT_ARG_TYPE_STRBUF, &ip->ipv4, "ipv4"}, |
116 | 124 | {FF_FORMAT_ARG_TYPE_STRBUF, &ip->ipv6, "ipv6"}, |
117 | 125 | {FF_FORMAT_ARG_TYPE_STRBUF, &ip->mac, "mac"}, |
118 | 126 | {FF_FORMAT_ARG_TYPE_STRBUF, &ip->name, "ifname"}, |
119 | 127 | {FF_FORMAT_ARG_TYPE_BOOL, &ip->defaultRoute, "is-default-route"}, |
120 | 128 | {FF_FORMAT_ARG_TYPE_INT, &ip->mtu, "mtu"}, |
| 129 | + {FF_FORMAT_ARG_TYPE_STRBUF, &speedStr, "speed"}, |
121 | 130 | })); |
122 | 131 | } |
123 | 132 | ++index; |
@@ -397,6 +406,7 @@ void ffPrintLocalIpHelpFormat(void) |
397 | 406 | "Interface name - ifname", |
398 | 407 | "Is default route - is-default-route", |
399 | 408 | "MTU size in bytes - mtu", |
| 409 | + "Link speed (formatted) - speed", |
400 | 410 | })); |
401 | 411 | } |
402 | 412 |
|
|
0 commit comments