[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <499e7eab-c8dc-73ca-2475-0e9806210410@gmail.com>
Date: Mon, 23 Dec 2019 20:23:47 -0800
From: Florian Fainelli <f.fainelli@...il.com>
To: Michal Kubecek <mkubecek@...e.cz>,
David Miller <davem@...emloft.net>, netdev@...r.kernel.org
Cc: Jakub Kicinski <jakub.kicinski@...ronome.com>,
Jiri Pirko <jiri@...nulli.us>, Andrew Lunn <andrew@...n.ch>,
John Linville <linville@...driver.com>,
Stephen Hemminger <stephen@...workplumber.org>,
Johannes Berg <johannes@...solutions.net>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next v8 05/14] ethtool: default handlers for GET
requests
On 12/22/2019 3:45 PM, Michal Kubecek wrote:
> Significant part of GET request processing is common for most request
> types but unfortunately it cannot be easily separated from type specific
> code as we need to alternate between common actions (parsing common request
> header, allocating message and filling netlink/genetlink headers etc.) and
> specific actions (querying the device, composing the reply). The processing
> also happens in three different situations: "do" request, "dump" request
> and notification, each doing things in slightly different way.
>
> The request specific code is implemented in four or five callbacks defined
> in an instance of struct get_request_ops:
>
> parse_request() - parse incoming message
> prepare_data() - retrieve data from driver or NIC
> reply_size() - estimate reply message size
> fill_reply() - compose reply message
> cleanup_data() - (optional) clean up additional data
>
> Other members of struct get_request_ops describe the data structure holding
> information from client request and data used to compose the message. The
> default handlers ethnl_default_doit(), ethnl_default_dumpit(),
> ethnl_default_start() and ethnl_default_done() can be then used in genl_ops
> handler. Notification handler will be introduced in a later patch.
>
> Signed-off-by: Michal Kubecek <mkubecek@...e.cz>
Reviewed-by: Florian Fainelli <f.fainelli@...il.com>
--
Florian
Powered by blists - more mailing lists