[lkml]   [2019]   [Dec]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [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 <>

Reviewed-by: Florian Fainelli <>

 \ /
  Last update: 2019-12-24 05:25    [W:0.191 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site