Skip to content
This repository has been archived by the owner on May 26, 2022. It is now read-only.

Commit

Permalink
Driver for IBM System i/p VNIC protocol
Browse files Browse the repository at this point in the history
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: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: John Allen <jallen@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
tlfalcon authored and davem330 committed Dec 28, 2015
1 parent 7b752fd commit 032c5e8
Show file tree
Hide file tree
Showing 6 changed files with 4,669 additions and 0 deletions.
7 changes: 7 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -5292,6 +5292,13 @@ L: netdev@vger.kernel.org
S: Supported
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
M: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
L: linux-scsi@vger.kernel.org
Expand Down
20 changes: 20 additions & 0 deletions arch/powerpc/include/asm/hvcall.h
Original file line number Diff line number Diff line change
Expand Up @@ -258,11 +258,16 @@
#define H_DEL_CONN 0x288
#define H_JOIN 0x298
#define H_VASI_STATE 0x2A4
#define H_VIOCTL 0x2A8
#define H_ENABLE_CRQ 0x2B0
#define H_GET_EM_PARMS 0x2B8
#define H_SET_MPP 0x2D0
#define H_GET_MPP 0x2D4
#define H_REG_SUB_CRQ 0x2DC
#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_XIRR_X 0x2FC
#define H_RANDOM 0x300
Expand All @@ -271,6 +276,21 @@
#define H_SET_MODE 0x31C
#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 */
#define H_RTAS 0xf000

Expand Down
10 changes: 10 additions & 0 deletions drivers/net/ethernet/ibm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,14 @@ config EHEA
To compile the driver as a module, choose M here. The module
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
1 change: 1 addition & 0 deletions drivers/net/ethernet/ibm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
#

obj-$(CONFIG_IBMVETH) += ibmveth.o
obj-$(CONFIG_IBMVNIC) += ibmvnic.o
obj-$(CONFIG_IBM_EMAC) += emac/
obj-$(CONFIG_EHEA) += ehea/
Loading

0 comments on commit 032c5e8

Please sign in to comment.