Commit 8481a249 authored by Amritha Nambiar's avatar Amritha Nambiar Committed by Jakub Kicinski

netdev-genl: spec: Add PID in netdev netlink YAML spec

Add support in netlink spec(netdev.yaml) for PID of the
NAPI thread. Add code generated from the spec.
Signed-off-by: default avatarAmritha Nambiar <amritha.nambiar@intel.com>
Reviewed-by: default avatarSridhar Samudrala <sridhar.samudrala@intel.com>
Link: https://lore.kernel.org/r/170147335301.5260.11872351477120434501.stgit@anambiarhost.jf.intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 26793bfb
......@@ -230,6 +230,12 @@ attribute-sets:
name: irq
doc: The associated interrupt vector number for the napi
type: u32
-
name: pid
doc: PID of the napi thread, if NAPI is configured to operate in
threaded mode. If NAPI is not in threaded mode (i.e. uses normal
softirq context), the attribute will be absent.
type: u32
-
name: queue
attributes:
......@@ -389,6 +395,7 @@ operations:
- id
- ifindex
- irq
- pid
dump:
request:
attributes:
......
......@@ -113,6 +113,7 @@ enum {
NETDEV_A_NAPI_IFINDEX = 1,
NETDEV_A_NAPI_ID,
NETDEV_A_NAPI_IRQ,
NETDEV_A_NAPI_PID,
__NETDEV_A_NAPI_MAX,
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
......
......@@ -113,6 +113,7 @@ enum {
NETDEV_A_NAPI_IFINDEX = 1,
NETDEV_A_NAPI_ID,
NETDEV_A_NAPI_IRQ,
NETDEV_A_NAPI_PID,
__NETDEV_A_NAPI_MAX,
NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
......
......@@ -165,6 +165,7 @@ struct ynl_policy_attr netdev_napi_policy[NETDEV_A_NAPI_MAX + 1] = {
[NETDEV_A_NAPI_IFINDEX] = { .name = "ifindex", .type = YNL_PT_U32, },
[NETDEV_A_NAPI_ID] = { .name = "id", .type = YNL_PT_U32, },
[NETDEV_A_NAPI_IRQ] = { .name = "irq", .type = YNL_PT_U32, },
[NETDEV_A_NAPI_PID] = { .name = "pid", .type = YNL_PT_U32, },
};
struct ynl_policy_nest netdev_napi_nest = {
......@@ -216,6 +217,11 @@ int netdev_page_pool_info_parse(struct ynl_parse_arg *yarg,
return MNL_CB_ERROR;
dst->_present.irq = 1;
dst->irq = mnl_attr_get_u32(attr);
} else if (type == NETDEV_A_NAPI_PID) {
if (ynl_attr_validate(yarg, attr))
return MNL_CB_ERROR;
dst->_present.pid = 1;
dst->pid = mnl_attr_get_u32(attr);
}
}
......
......@@ -388,11 +388,13 @@ struct netdev_napi_get_rsp {
__u32 id:1;
__u32 ifindex:1;
__u32 irq:1;
__u32 pid:1;
} _present;
__u32 id;
__u32 ifindex;
__u32 irq;
__u32 pid;
};
void netdev_napi_get_rsp_free(struct netdev_napi_get_rsp *rsp);
......
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