Re: [PATCH 2/4 ethtool] ethtool: Support for configurable RSS hash key.
From: Ben Hutchings <hidden>
Date: 2014-01-19 18:36:01
On Fri, 2014-01-17 at 13:02 +0000, Venkata Duvvuru wrote:
This ethtool patch will primarily implement the parser for the options provided by the user for set and get hashkey before invoking the ioctl. This patch also has Ethtool man page changes which describes the Usage of set and get hashkey options.
I'd prefer to have this combined with the -x/-X options (and add new long options to reflect that they cover the key as well). [...]
quoted hunk ↗ jump to hunk
diff --git a/ethtool.c b/ethtool.c index b06dfa3..4b05b0c 100644 --- a/ethtool.c +++ b/ethtool.c@@ -471,6 +471,59 @@ static int rxflow_str_to_type(const char *str) return flow_type; } +static inline int is_hkey_char_valid(const char rss_hkey_string) {
A char is not a string.
+ /* Are there any invalid characters in the string */ + return ((rss_hkey_string >= '0' && rss_hkey_string <= '9') || + (rss_hkey_string >= 'a' && rss_hkey_string <= 'f') || + (rss_hkey_string >= 'A' && rss_hkey_string <= 'F')); }
Braces are in the wrong places. And the whole function is redundant with isxdigit() anyway.
+static int convert_string_to_hashkey(struct ethtool_rss_hkey *rss_hkey,
+ const char *rss_hkey_string)
+{
+ int i = 0;
+ int hex_byte;
+
+ do {
+ if (i > (RSS_HASH_KEY_LEN - 1)) {Comparing with the wrong limit. [...]
+static int get_hashkey(struct cmd_context *ctx) {Brace in the wrong place. [...]
+ for (i = 0; i < RSS_HASH_KEY_LEN; i++) {
+ if (i == (RSS_HASH_KEY_LEN - 1))Wrong length.
+ printf("%02x\n", rss_hkey->data[i]);
+ else
+ printf("%02x:", rss_hkey->data[i]);
+ }
+
+done:
+ free(rss_hkey);
+ return rc;
+}[...] -- Ben Hutchings friends: People who know you well, but like you anyway.
Attachments
- signature.asc [application/pgp-signature] 828 bytes