Commit 032c5e82 authored by Thomas Falcon's avatar Thomas Falcon Committed by David S. Miller

Driver for IBM System i/p VNIC protocol

This is a new device driver for a high performance SR-IOV assisted virtual
network for IBM System p and IBM System i systems.  The SR-IOV VF will be
attached to the VIOS partition and mapped to the Linux client via the
hypervisor's VNIC protocol that this driver implements.

This driver is able to perform basic tx and rx, new features
and improvements will be added as they are being developed and tested.
Signed-off-by: default avatarThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: default avatarJohn Allen <jallen@linux.vnet.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7b752fd3
...@@ -5292,6 +5292,13 @@ L: netdev@vger.kernel.org ...@@ -5292,6 +5292,13 @@ L: netdev@vger.kernel.org
S: Supported S: Supported
F: drivers/net/ethernet/ibm/ibmveth.* F: drivers/net/ethernet/ibm/ibmveth.*
IBM Power SRIOV Virtual NIC Device Driver
M: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
M: John Allen <jallen@linux.vnet.ibm.com>
L: netdev@vger.kernel.org
S: Supported
F: drivers/net/ethernet/ibm/ibmvnic.*
IBM Power Virtual SCSI Device Drivers IBM Power Virtual SCSI Device Drivers
M: Tyrel Datwyler <tyreld@linux.vnet.ibm.com> M: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
L: linux-scsi@vger.kernel.org L: linux-scsi@vger.kernel.org
......
...@@ -258,11 +258,16 @@ ...@@ -258,11 +258,16 @@
#define H_DEL_CONN 0x288 #define H_DEL_CONN 0x288
#define H_JOIN 0x298 #define H_JOIN 0x298
#define H_VASI_STATE 0x2A4 #define H_VASI_STATE 0x2A4
#define H_VIOCTL 0x2A8
#define H_ENABLE_CRQ 0x2B0 #define H_ENABLE_CRQ 0x2B0
#define H_GET_EM_PARMS 0x2B8 #define H_GET_EM_PARMS 0x2B8
#define H_SET_MPP 0x2D0 #define H_SET_MPP 0x2D0
#define H_GET_MPP 0x2D4 #define H_GET_MPP 0x2D4
#define H_REG_SUB_CRQ 0x2DC
#define H_HOME_NODE_ASSOCIATIVITY 0x2EC #define H_HOME_NODE_ASSOCIATIVITY 0x2EC
#define H_FREE_SUB_CRQ 0x2E0
#define H_SEND_SUB_CRQ 0x2E4
#define H_SEND_SUB_CRQ_INDIRECT 0x2E8
#define H_BEST_ENERGY 0x2F4 #define H_BEST_ENERGY 0x2F4
#define H_XIRR_X 0x2FC #define H_XIRR_X 0x2FC
#define H_RANDOM 0x300 #define H_RANDOM 0x300
...@@ -271,6 +276,21 @@ ...@@ -271,6 +276,21 @@
#define H_SET_MODE 0x31C #define H_SET_MODE 0x31C
#define MAX_HCALL_OPCODE H_SET_MODE #define MAX_HCALL_OPCODE H_SET_MODE
/* H_VIOCTL functions */
#define H_GET_VIOA_DUMP_SIZE 0x01
#define H_GET_VIOA_DUMP 0x02
#define H_GET_ILLAN_NUM_VLAN_IDS 0x03
#define H_GET_ILLAN_VLAN_ID_LIST 0x04
#define H_GET_ILLAN_SWITCH_ID 0x05
#define H_DISABLE_MIGRATION 0x06
#define H_ENABLE_MIGRATION 0x07
#define H_GET_PARTNER_INFO 0x08
#define H_GET_PARTNER_WWPN_LIST 0x09
#define H_DISABLE_ALL_VIO_INTS 0x0A
#define H_DISABLE_VIO_INTERRUPT 0x0B
#define H_ENABLE_VIO_INTERRUPT 0x0C
/* Platform specific hcalls, used by KVM */ /* Platform specific hcalls, used by KVM */
#define H_RTAS 0xf000 #define H_RTAS 0xf000
......
...@@ -37,4 +37,14 @@ config EHEA ...@@ -37,4 +37,14 @@ config EHEA
To compile the driver as a module, choose M here. The module To compile the driver as a module, choose M here. The module
will be called ehea. will be called ehea.
config IBMVNIC
tristate "IBM Virtual NIC support"
depends on PPC_PSERIES
---help---
This driver supports Virtual NIC adapters on IBM i and IBM System p
systems.
To compile this driver as a module, choose M here. The module will
be called ibmvnic.
endif # NET_VENDOR_IBM endif # NET_VENDOR_IBM
...@@ -3,5 +3,6 @@ ...@@ -3,5 +3,6 @@
# #
obj-$(CONFIG_IBMVETH) += ibmveth.o obj-$(CONFIG_IBMVETH) += ibmveth.o
obj-$(CONFIG_IBMVNIC) += ibmvnic.o
obj-$(CONFIG_IBM_EMAC) += emac/ obj-$(CONFIG_IBM_EMAC) += emac/
obj-$(CONFIG_EHEA) += ehea/ obj-$(CONFIG_EHEA) += ehea/
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment