net/ncsi: Extend NC-SI Netlink interface to allow user space to send NC-SI command
authorJustin.Lee1@Dell.com <Justin.Lee1@Dell.com>
Thu, 11 Oct 2018 18:07:37 +0000 (18:07 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Oct 2018 05:00:59 +0000 (22:00 -0700)
commit9771b8ccdfa6dcb1ac5128ca7fe8649f3092d392
treec685a032ce049cb71428c0019925aeb7c5f2cda3
parent6384e483239fd07a2d4393f888027118fecd4c6e
net/ncsi: Extend NC-SI Netlink interface to allow user space to send NC-SI command

The new command (NCSI_CMD_SEND_CMD) is added to allow user space application
to send NC-SI command to the network card.
Also, add a new attribute (NCSI_ATTR_DATA) for transferring request and response.

The work flow is as below.

Request:
User space application
-> Netlink interface (msg)
-> new Netlink handler - ncsi_send_cmd_nl()
-> ncsi_xmit_cmd()

Response:
Response received - ncsi_rcv_rsp()
-> internal response handler - ncsi_rsp_handler_xxx()
-> ncsi_rsp_handler_netlink()
-> ncsi_send_netlink_rsp ()
-> Netlink interface (msg)
-> user space application

Command timeout - ncsi_request_timeout()
-> ncsi_send_netlink_timeout ()
-> Netlink interface (msg with zero data length)
-> user space application

Error:
Error detected
-> ncsi_send_netlink_err ()
-> Netlink interface (err msg)
-> user space application

Signed-off-by: Justin Lee <justin.lee1@dell.com>
Reviewed-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/ncsi.h
net/ncsi/internal.h
net/ncsi/ncsi-cmd.c
net/ncsi/ncsi-manage.c
net/ncsi/ncsi-netlink.c
net/ncsi/ncsi-netlink.h
net/ncsi/ncsi-rsp.c