forked from mirrors/linux
		
	This patch allows to create smc socket via AF_INET, similar to the following code, /* create v4 smc sock */ v4 = socket(AF_INET, SOCK_STREAM, IPPROTO_SMC); /* create v6 smc sock */ v6 = socket(AF_INET6, SOCK_STREAM, IPPROTO_SMC); There are several reasons why we believe it is appropriate here: 1. For smc sockets, it actually use IPv4 (AF-INET) or IPv6 (AF-INET6) address. There is no AF_SMC address at all. 2. Create smc socket in the AF_INET(6) path, which allows us to reuse the infrastructure of AF_INET(6) path, such as common ebpf hooks. Otherwise, smc have to implement it again in AF_SMC path. Signed-off-by: D. Wythe <alibuda@linux.alibaba.com> Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com> Reviewed-by: Dust Li <dust.li@linux.alibaba.com> Tested-by: Niklas Schnelle <schnelle@linux.ibm.com> Tested-by: Wenjia Zhang <wenjia@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			477 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			477 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 */
 | 
						|
/*
 | 
						|
 *  Shared Memory Communications over RDMA (SMC-R) and RoCE
 | 
						|
 *
 | 
						|
 *  Definitions for the IPPROTO_SMC (socket related)
 | 
						|
 | 
						|
 *  Copyright IBM Corp. 2016
 | 
						|
 *  Copyright (c) 2024, Alibaba Inc.
 | 
						|
 *
 | 
						|
 *  Author: D. Wythe <alibuda@linux.alibaba.com>
 | 
						|
 */
 | 
						|
#ifndef __INET_SMC
 | 
						|
#define __INET_SMC
 | 
						|
 | 
						|
/* Initialize protocol registration on IPPROTO_SMC,
 | 
						|
 * @return 0 on success
 | 
						|
 */
 | 
						|
int smc_inet_init(void);
 | 
						|
 | 
						|
void smc_inet_exit(void);
 | 
						|
 | 
						|
#endif /* __INET_SMC */
 |