From: Joe Damato <jdamato@fastly.com>
To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Joe Damato <jdamato@fastly.com>,
Alexei Starovoitov <ast@kernel.org>,
Amritha Nambiar <amritha.nambiar@intel.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Jesper Dangaard Brouer <hawk@kernel.org>,
Larysa Zaremba <larysa.zaremba@intel.com>,
Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
Paolo Abeni <pabeni@redhat.com>,
Sridhar Samudrala <sridhar.samudrala@intel.com>,
Stanislav Fomichev <sdf@google.com>,
Tariq Toukan <tariqt@nvidia.com>
Subject: [PATCH net-next 0/2] Expose netdev name in netdev netlink APIs
Date: Wed, 21 Feb 2024 07:57:28 -0800 [thread overview]
Message-ID: <1708531057-67392-1-git-send-email-jdamato@fastly.com> (raw)
Greetings:
The netdev netlink APIs currently provide the ifindex of a device
associated with the NIC queue or NAPI when the netlink API is used. In
order for user applications to map this back to a human readable device
name, user applications must issue a subsequent ioctl (SIOCGIFNAME) in
order to map an ifindex back to a device name.
This patch set adds ifname to the API so that when queue or NAPI
information is retrieved, the human readable string is included. The netdev
netlink YAML spec has been updated to include this field, as well.
This saves the subsequent call to ioctl and makes the netlink information
more user friendly. Applications might use this information in conjunction
with SO_INCOMING_NAPI_ID to map NAPI IDs to specific NICs with application
specific configuration (e.g. NUMA zone and CPU layout information).
An example using the netlink cli tool before this change:
$ ./cli.py --spec netdev.yaml --dump queue-get --json='{"ifindex": 7}'
[{'id': 0, 'ifindex': 7, 'type': 'rx'},
{'id': 1, 'ifindex': 7, 'type': 'rx'},
{'id': 2, 'ifindex': 7, 'type': 'rx'},
...
$ ./cli.py --spec netdev.yaml --dump napi-get --json='{"ifindex": 7}'
[{'id': 448, 'ifindex': 7},
{'id': 447, 'ifindex': 7},
{'id': 446, 'ifindex': 7},
...
An example after this change:
$ ./cli.py --spec netdev.yaml --dump queue-get --json='{"ifindex": 7}'
[{'id': 0, 'ifindex': 7, 'ifname': 'eth1', 'type': 'rx'},
{'id': 1, 'ifindex': 7, 'ifname': 'eth1', 'type': 'rx'},
{'id': 2, 'ifindex': 7, 'ifname': 'eth1', 'type': 'rx'},
...
$ ./cli.py --spec netdev.yaml --dump napi-get --json='{"ifindex": 7}'
[{'id': 448, 'ifindex': 7, 'ifname': 'eth1'},
{'id': 447, 'ifindex': 7, 'ifname': 'eth1'},
{'id': 446, 'ifindex': 7, 'ifname': 'eth1'},
...
Thanks,
Joe
Joe Damato (2):
netdev-genl: Add ifname for queue and NAPI APIs
netdev-genl: spec: Add ifname to netdev nl YAML spec
Documentation/netlink/specs/netdev.yaml | 10 ++++++++++
include/uapi/linux/netdev.h | 2 ++
net/core/netdev-genl.c | 22 +++++++++++++++++-----
tools/include/uapi/linux/netdev.h | 2 ++
4 files changed, 31 insertions(+), 5 deletions(-)
--
2.7.4
next reply other threads:[~2024-02-21 15:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-21 15:57 Joe Damato [this message]
2024-02-21 15:57 ` [PATCH net-next 1/2] netdev-genl: Add ifname for queue and NAPI APIs Joe Damato
2024-02-21 19:12 ` Jakub Kicinski
2024-02-21 19:17 ` Joe Damato
2024-02-21 19:12 ` Nambiar, Amritha
2024-02-21 19:23 ` Joe Damato
2024-02-22 20:55 ` kernel test robot
2024-02-23 11:21 ` Dan Carpenter
2024-02-21 15:57 ` [PATCH net-next 2/2] netdev-genl: spec: Add ifname to netdev nl YAML spec Joe Damato
2024-02-21 19:09 ` [PATCH net-next 0/2] Expose netdev name in netdev netlink APIs Jakub Kicinski
2024-02-21 19:21 ` Joe Damato
2024-02-21 19:26 ` Jakub Kicinski
2024-02-21 19:29 ` Joe Damato
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1708531057-67392-1-git-send-email-jdamato@fastly.com \
--to=jdamato@fastly.com \
--cc=amritha.nambiar@intel.com \
--cc=ast@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hawk@kernel.org \
--cc=kuba@kernel.org \
--cc=larysa.zaremba@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.fijalkowski@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sdf@google.com \
--cc=sridhar.samudrala@intel.com \
--cc=tariqt@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®