Commit 07c10cff authored by Jakub Kicinski's avatar Jakub Kicinski

Merge branch 'ethtool-rss-small-fixes-to-spec-and-get'

Jakub Kicinski says:

====================
ethtool: rss: small fixes to spec and GET

Two small fixes to the ethtool RSS_GET over Netlink.
Spec is a bit inaccurate and responses miss an identifier.
====================

Link: https://patch.msgid.link/20240724234249.2621109-1-kuba@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 98ba1d93 f96aae91
...@@ -1753,6 +1753,7 @@ operations: ...@@ -1753,6 +1753,7 @@ operations:
request: request:
attributes: attributes:
- header - header
- context
reply: reply:
attributes: attributes:
- header - header
...@@ -1761,7 +1762,6 @@ operations: ...@@ -1761,7 +1762,6 @@ operations:
- indir - indir
- hkey - hkey
- input_xfrm - input_xfrm
dump: *rss-get-op
- -
name: plca-get-cfg name: plca-get-cfg
doc: Get PLCA params. doc: Get PLCA params.
......
...@@ -1875,6 +1875,7 @@ Kernel response contents: ...@@ -1875,6 +1875,7 @@ Kernel response contents:
===================================== ====== ========================== ===================================== ====== ==========================
``ETHTOOL_A_RSS_HEADER`` nested reply header ``ETHTOOL_A_RSS_HEADER`` nested reply header
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
``ETHTOOL_A_RSS_HFUNC`` u32 RSS hash func ``ETHTOOL_A_RSS_HFUNC`` u32 RSS hash func
``ETHTOOL_A_RSS_INDIR`` binary Indir table bytes ``ETHTOOL_A_RSS_INDIR`` binary Indir table bytes
``ETHTOOL_A_RSS_HKEY`` binary Hash key bytes ``ETHTOOL_A_RSS_HKEY`` binary Hash key bytes
......
...@@ -111,7 +111,8 @@ rss_reply_size(const struct ethnl_req_info *req_base, ...@@ -111,7 +111,8 @@ rss_reply_size(const struct ethnl_req_info *req_base,
const struct rss_reply_data *data = RSS_REPDATA(reply_base); const struct rss_reply_data *data = RSS_REPDATA(reply_base);
int len; int len;
len = nla_total_size(sizeof(u32)) + /* _RSS_HFUNC */ len = nla_total_size(sizeof(u32)) + /* _RSS_CONTEXT */
nla_total_size(sizeof(u32)) + /* _RSS_HFUNC */
nla_total_size(sizeof(u32)) + /* _RSS_INPUT_XFRM */ nla_total_size(sizeof(u32)) + /* _RSS_INPUT_XFRM */
nla_total_size(sizeof(u32) * data->indir_size) + /* _RSS_INDIR */ nla_total_size(sizeof(u32) * data->indir_size) + /* _RSS_INDIR */
nla_total_size(data->hkey_size); /* _RSS_HKEY */ nla_total_size(data->hkey_size); /* _RSS_HKEY */
...@@ -124,6 +125,11 @@ rss_fill_reply(struct sk_buff *skb, const struct ethnl_req_info *req_base, ...@@ -124,6 +125,11 @@ rss_fill_reply(struct sk_buff *skb, const struct ethnl_req_info *req_base,
const struct ethnl_reply_data *reply_base) const struct ethnl_reply_data *reply_base)
{ {
const struct rss_reply_data *data = RSS_REPDATA(reply_base); const struct rss_reply_data *data = RSS_REPDATA(reply_base);
struct rss_req_info *request = RSS_REQINFO(req_base);
if (request->rss_context &&
nla_put_u32(skb, ETHTOOL_A_RSS_CONTEXT, request->rss_context))
return -EMSGSIZE;
if ((data->hfunc && if ((data->hfunc &&
nla_put_u32(skb, ETHTOOL_A_RSS_HFUNC, data->hfunc)) || nla_put_u32(skb, ETHTOOL_A_RSS_HFUNC, data->hfunc)) ||
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment