]> www.infradead.org Git - users/jedix/linux-maple.git/commit
Add Oracle virtual Networking Drivers for uek4 kernel
authorPradeep Gopanapalli <pradeep.gopanapalli@oracle.com>
Wed, 23 Sep 2015 01:56:41 +0000 (18:56 -0700)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Wed, 7 Oct 2015 11:39:52 +0000 (04:39 -0700)
commit4d99573aa3d4cc6549e928340e1ad09c123fe59d
treeaf901476a64c23c9810eb2e772eb8b95eeb081ba
parentb953c0d234bc72e8489d3bf51a276c5c4ec85345
Add Oracle virtual Networking Drivers for uek4 kernel

This commit adds 4 kernel modules: xscore, xsvnic, xve
and xsvhba developed by Xsigo (acquired by Oracle) and used in the Oracle
virtual networking (OVN) products which provide provide virtual network and
storage adapter devices on the servers dynamically at runtime.

The heart of OVN product is the Fabric Interconnect (FI).
Hosts and IO modules connect to the FI using Infiniband fabric.
IO modules can be N/W card or/and FC card.

The "xscore" module is responsible for doing FI topology discovery
and establishing the connection with FI. It is involved in retrieving
virtual device management commands such as INSTALL, DELETE, etc.
This module provides wrapper for IB framework API's which will be used
by its client  modules "xsvnic", "xsvhba" and "xve".

The "xve" module supprots the Xsigo Virtual Ethernet(XVE) protocol.
The "xsvnic" module supports the Xsigo vNIC functinality. These modules
interface between kernel networking stack and the "xscore" module.
On the egress side, it processes the N/W packet sends it to "xscore"
module which is then wrapped into a IB packet.

On the ingress side, "xscore" receives the N/W packet which is
encapsulated inside IB packet and transfers it to "xsvnic" or "xve".
The modules "xsvnic"/"xve" process this packet and send it to the
kernel networking stack. The "xsvnic" interacts with N/W card gateway
connected to the FI whereas, "xve" interacts with another host in the
same IB fabric.

The "xsvhba" module support for the Xsigo virtual HBA allowing SAN
Connectivity. The "xsvhba" module interfaces with SCSI layer. It
communicates with the FC card gateway connected to the FI. It is
responsible for accepting/transporting the SCSI commands from/to
the specified SCSI target. The "xsvhba" module uses "xscore" to
wrap(unwrap) the commands in a IB packet and transmit(receive) it.

Signed-off-by: Pradeep Gopanapalli <pradeep.gopanapalli@oracle.com>
Signed-off-by: Mukesh Kacker <mukesh.kacker@oracle.com>
64 files changed:
drivers/infiniband/Kconfig
drivers/infiniband/ulp/Makefile
drivers/infiniband/ulp/xsigo/Kconfig [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/Makefile [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/Kconfig [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/Makefile [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xg_heap.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xg_heap.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xs_compat.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xs_ud.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xs_versions.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xscore.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xscore_api.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xscore_impl.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xscore_priv.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xscore_stats.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xscore_uadm.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xscore_vpci.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xscore_xds.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xsmp.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xsmp.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xsmp_common.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xscore/xsmp_session.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/Kconfig [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/Makefile [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_align.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_align.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_attr.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_create.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_defs.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_delete.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_ib.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_ib.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_init.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_main.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_os_def.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_proc.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_scsi_intf.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_scsi_intf.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_stats.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_wq.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_xsmp.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvhba/vhba_xsmp.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvnic/Kconfig [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvnic/Makefile [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvnic/xsvnic.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvnic/xsvnic_main.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvnic/xsvnic_stats.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xsvnic/xsvnic_xsmp_msgs.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/Kconfig [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/Makefile [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/hash.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve_cm.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve_compat.h [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve_ethtool.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve_fs.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve_ib.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve_main.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve_multicast.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve_stats.c [new file with mode: 0755]
drivers/infiniband/ulp/xsigo/xve/xve_tables.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve_verbs.c [new file with mode: 0644]
drivers/infiniband/ulp/xsigo/xve/xve_xsmp_msgs.h [new file with mode: 0644]