forked from mirrors/linux
		
	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: 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>
This commit is contained in:
		
							parent
							
								
									7b752fd3d0
								
							
						
					
					
						commit
						032c5e8284
					
				
					 6 changed files with 4669 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,5 +3,6 @@
 | 
			
		|||
#
 | 
			
		||||
 | 
			
		||||
obj-$(CONFIG_IBMVETH) += ibmveth.o
 | 
			
		||||
obj-$(CONFIG_IBMVNIC) += ibmvnic.o
 | 
			
		||||
obj-$(CONFIG_IBM_EMAC) += emac/
 | 
			
		||||
obj-$(CONFIG_EHEA) += ehea/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										3585
									
								
								drivers/net/ethernet/ibm/ibmvnic.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3585
									
								
								drivers/net/ethernet/ibm/ibmvnic.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										1046
									
								
								drivers/net/ethernet/ibm/ibmvnic.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1046
									
								
								drivers/net/ethernet/ibm/ibmvnic.h
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
		Reference in a new issue