This patchset is prototype requesting for comments. This series of patches intends to support NCSI stack, which is specified by DSP0222. One NCSI enabled interface potentially connects to multiple packages and channels, but there is one active channel at once when hardware arbitration is disabled. No hardware arbitration isn't supported by this patchset:
* NIC driver registers NCSI device when the network device is registered. The NCSI device should be started when bringing up the interface so that the active channel can be choosed from the available channels and starts to provide service. * When NCSI AEN packet is received from currently active channel for sake of failure, another active channel is tried to choosed to accomplish the failover. * Reserved netlink interface for NCSI is supported so that userland can retrieve NCSI information or configure from/to NCSI channels. * The first user of NCSI stack is faraday driver (ftgmac100.c). Gavin Shan (7): net/ncsi: Resource management net/ncsi: Packet handler net/ncsi: Manage NCSI device net/ncsi: Netlink support net/faraday: Replace use_nc_si with use_ncsi net/faraday: Enable NCSI interface net/faraday: Enable offload checksum according to device-tree drivers/net/ethernet/faraday/ftgmac100.c | 109 ++- include/net/ncsi.h | 59 ++ include/uapi/linux/if_ether.h | 1 + include/uapi/linux/ncsi.h | 200 +++++ include/uapi/linux/netlink.h | 1 + net/Kconfig | 1 + net/Makefile | 1 + net/ncsi/Kconfig | 10 + net/ncsi/Makefile | 5 + net/ncsi/internal.h | 165 +++++ net/ncsi/ncsi-aen.c | 197 +++++ net/ncsi/ncsi-cmd.c | 380 ++++++++++ net/ncsi/ncsi-manage.c | 914 +++++++++++++++++++++++ net/ncsi/ncsi-netlink.c | 1042 ++++++++++++++++++++++++++ net/ncsi/ncsi-pkt.h | 391 ++++++++++ net/ncsi/ncsi-rsp.c | 1167 ++++++++++++++++++++++++++++++ net/ncsi/ncsi.c | 49 ++ 17 files changed, 4661 insertions(+), 31 deletions(-) create mode 100644 include/net/ncsi.h create mode 100644 include/uapi/linux/ncsi.h create mode 100644 net/ncsi/Kconfig create mode 100644 net/ncsi/Makefile create mode 100644 net/ncsi/internal.h create mode 100644 net/ncsi/ncsi-aen.c create mode 100644 net/ncsi/ncsi-cmd.c create mode 100644 net/ncsi/ncsi-manage.c create mode 100644 net/ncsi/ncsi-netlink.c create mode 100644 net/ncsi/ncsi-pkt.h create mode 100644 net/ncsi/ncsi-rsp.c create mode 100644 net/ncsi/ncsi.c -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html