netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/2] basic ioctl support for netlink sockets
@ 2016-03-21 17:15 David Decotigny
  2016-03-21 17:15 ` [PATCH net-next v2 1/2] ethtool: minor doc update David Decotigny
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: David Decotigny @ 2016-03-21 17:15 UTC (permalink / raw)
  To: David S. Miller, linux-kernel, netdev
  Cc: Nikolay Aleksandrov, Michael S. Tsirkin, Ben Hutchings,
	Jeff Kirsher, David Decotigny, Nicolas Dichtel, Andrew Lunn,
	Hadar Hen Zion, Edward Cree, John Fastabend, Herbert Xu,
	Thomas Graf, Daniel Borkmann, Ken-ichirou MATSUZAWA,
	Florian Westphal, David Herrmann

From: David Decotigny <decot@googlers.com>

This removes the requirement that ethtool be tied to the support
of a specific L3 protocol, also updates a comment.

History:
  v2
    updated commit description for the netlink ioctl patch
  v1
    initial submission

############################################
# Patch Set Summary:

David Decotigny (2):
  ethtool: minor doc update
  netlink: add support for NIC driver ioctls

 include/uapi/linux/ethtool.h |  6 +++---
 net/netlink/af_netlink.c     | 10 +++++++++-
 2 files changed, 12 insertions(+), 4 deletions(-)

-- 
2.8.0.rc3.226.g39d4020

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH net-next v2 1/2] ethtool: minor doc update
  2016-03-21 17:15 [PATCH net-next v2 0/2] basic ioctl support for netlink sockets David Decotigny
@ 2016-03-21 17:15 ` David Decotigny
  2016-03-21 17:15 ` [PATCH net-next v2 2/2] netlink: add support for NIC driver ioctls David Decotigny
  2016-03-21 18:09 ` [PATCH net-next v2 0/2] basic ioctl support for netlink sockets David Miller
  2 siblings, 0 replies; 4+ messages in thread
From: David Decotigny @ 2016-03-21 17:15 UTC (permalink / raw)
  To: David S. Miller, linux-kernel, netdev
  Cc: Nikolay Aleksandrov, Michael S. Tsirkin, Ben Hutchings,
	Jeff Kirsher, David Decotigny, Nicolas Dichtel, Andrew Lunn,
	Hadar Hen Zion, Edward Cree, John Fastabend, Herbert Xu,
	Thomas Graf, Daniel Borkmann, Ken-ichirou MATSUZAWA,
	Florian Westphal, David Herrmann

From: David Decotigny <decot@googlers.com>

Updates: commit 793cf87de9d1 ("ethtool: Set cmd field in
         ETHTOOL_GLINKSETTINGS response to wrong nwords")

Signed-off-by: David Decotigny <decot@googlers.com>
---
 include/uapi/linux/ethtool.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index 2835b07..9222db8 100644
--- a/include/uapi/linux/ethtool.h
+++ b/include/uapi/linux/ethtool.h
@@ -1648,9 +1648,9 @@ enum ethtool_reset_flags {
  *	%ETHTOOL_GLINKSETTINGS: on entry, number of words passed by user
  *	(>= 0); on return, if handshake in progress, negative if
  *	request size unsupported by kernel: absolute value indicates
- *	kernel recommended size and cmd field is 0, as well as all the
- *	other fields; otherwise (handshake completed), strictly
- *	positive to indicate size used by kernel and cmd field is
+ *	kernel expected size and all the other fields but cmd
+ *	are 0; otherwise (handshake completed), strictly positive
+ *	to indicate size used by kernel and cmd field stays
  *	%ETHTOOL_GLINKSETTINGS, all other fields populated by driver. For
  *	%ETHTOOL_SLINKSETTINGS: must be valid on entry, ie. a positive
  *	value returned previously by %ETHTOOL_GLINKSETTINGS, otherwise
-- 
2.8.0.rc3.226.g39d4020

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH net-next v2 2/2] netlink: add support for NIC driver ioctls
  2016-03-21 17:15 [PATCH net-next v2 0/2] basic ioctl support for netlink sockets David Decotigny
  2016-03-21 17:15 ` [PATCH net-next v2 1/2] ethtool: minor doc update David Decotigny
@ 2016-03-21 17:15 ` David Decotigny
  2016-03-21 18:09 ` [PATCH net-next v2 0/2] basic ioctl support for netlink sockets David Miller
  2 siblings, 0 replies; 4+ messages in thread
From: David Decotigny @ 2016-03-21 17:15 UTC (permalink / raw)
  To: David S. Miller, linux-kernel, netdev
  Cc: Nikolay Aleksandrov, Michael S. Tsirkin, Ben Hutchings,
	Jeff Kirsher, David Decotigny, Nicolas Dichtel, Andrew Lunn,
	Hadar Hen Zion, Edward Cree, John Fastabend, Herbert Xu,
	Thomas Graf, Daniel Borkmann, Ken-ichirou MATSUZAWA,
	Florian Westphal, David Herrmann

From: David Decotigny <decot@googlers.com>

By returning -ENOIOCTLCMD, sock_do_ioctl() falls back to calling
dev_ioctl(), which provides support for NIC driver ioctls, which
includes ethtool support. This is similar to the way ioctls are handled
in udp.c or tcp.c.

This removes the requirement that ethtool for example be tied to the
support of a specific L3 protocol (ethtool uses an AF_INET socket
today).

Signed-off-by: David Decotigny <decot@googlers.com>
---
 net/netlink/af_netlink.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index c841679..215fc08 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1033,6 +1033,14 @@ static int netlink_getname(struct socket *sock, struct sockaddr *addr,
 	return 0;
 }
 
+static int netlink_ioctl(struct socket *sock, unsigned int cmd,
+			 unsigned long arg)
+{
+	/* try to hand this ioctl down to the NIC drivers.
+	 */
+	return -ENOIOCTLCMD;
+}
+
 static struct sock *netlink_getsockbyportid(struct sock *ssk, u32 portid)
 {
 	struct sock *sock;
@@ -2494,7 +2502,7 @@ static const struct proto_ops netlink_ops = {
 	.accept =	sock_no_accept,
 	.getname =	netlink_getname,
 	.poll =		datagram_poll,
-	.ioctl =	sock_no_ioctl,
+	.ioctl =	netlink_ioctl,
 	.listen =	sock_no_listen,
 	.shutdown =	sock_no_shutdown,
 	.setsockopt =	netlink_setsockopt,
-- 
2.8.0.rc3.226.g39d4020

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next v2 0/2] basic ioctl support for netlink sockets
  2016-03-21 17:15 [PATCH net-next v2 0/2] basic ioctl support for netlink sockets David Decotigny
  2016-03-21 17:15 ` [PATCH net-next v2 1/2] ethtool: minor doc update David Decotigny
  2016-03-21 17:15 ` [PATCH net-next v2 2/2] netlink: add support for NIC driver ioctls David Decotigny
@ 2016-03-21 18:09 ` David Miller
  2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2016-03-21 18:09 UTC (permalink / raw)
  To: ddecotig
  Cc: linux-kernel, netdev, nikolay, mst, ben, jeffrey.t.kirsher, decot,
	nicolas.dichtel, andrew, hadarh, ecree, john.r.fastabend, herbert,
	tgraf, daniel, chamaken, fw, dh.herrmann

From: David Decotigny <ddecotig@gmail.com>
Date: Mon, 21 Mar 2016 10:15:33 -0700

> From: David Decotigny <decot@googlers.com>
> 
> This removes the requirement that ethtool be tied to the support
> of a specific L3 protocol, also updates a comment.
> 
> History:
>   v2
>     updated commit description for the netlink ioctl patch
>   v1
>     initial submission

Series applied, thanks David.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-03-21 18:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-21 17:15 [PATCH net-next v2 0/2] basic ioctl support for netlink sockets David Decotigny
2016-03-21 17:15 ` [PATCH net-next v2 1/2] ethtool: minor doc update David Decotigny
2016-03-21 17:15 ` [PATCH net-next v2 2/2] netlink: add support for NIC driver ioctls David Decotigny
2016-03-21 18:09 ` [PATCH net-next v2 0/2] basic ioctl support for netlink sockets David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).