cregit-Linux how code gets into the kernel

Release 4.14 net/smc/smc_llc.h

Directory: net/smc
/* SPDX-License-Identifier: GPL-2.0 */
/*
 *  Shared Memory Communications over RDMA (SMC-R) and RoCE
 *
 *  Definitions for LLC (link layer control) message handling
 *
 *  Copyright IBM Corp. 2016
 *
 *  Author(s):  Klaus Wacker <Klaus.Wacker@de.ibm.com>
 *              Ursula Braun <ubraun@linux.vnet.ibm.com>
 */

#ifndef SMC_LLC_H

#define SMC_LLC_H

#include "smc_wr.h"


#define SMC_LLC_FLAG_RESP		0x80


#define SMC_LLC_WAIT_FIRST_TIME		(5 * HZ)


enum smc_llc_reqresp {
	
SMC_LLC_REQ,
	
SMC_LLC_RESP
};


enum smc_llc_msg_type {
	
SMC_LLC_CONFIRM_LINK		= 0x01,
};


#define SMC_LLC_DATA_LEN		40


struct smc_llc_hdr {
	
struct smc_wr_rx_hdr common;
	
u8 length;	/* 44 */
	
u8 reserved;
	
u8 flags;
};


struct smc_llc_msg_confirm_link {	/* type 0x01 */
	
struct smc_llc_hdr hd;
	
u8 sender_mac[ETH_ALEN];
	
u8 sender_gid[SMC_GID_SIZE];
	
u8 sender_qp_num[3];
	
u8 link_num;
	
u8 link_uid[SMC_LGR_ID_SIZE];
	
u8 max_links;
	
u8 reserved[9];
};


union smc_llc_msg {
	
struct smc_llc_msg_confirm_link confirm_link;
	struct {
		
struct smc_llc_hdr hdr;
		
u8 data[SMC_LLC_DATA_LEN];
	
} raw;
};

/* transmit */
int smc_llc_send_confirm_link(struct smc_link *lnk, u8 mac[], union ib_gid *gid,
			      enum smc_llc_reqresp reqresp);
int smc_llc_init(void) __init;

#endif /* SMC_LLC_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Ursula Braun16099.38%150.00%
Greg Kroah-Hartman10.62%150.00%
Total161100.00%2100.00%
Directory: net/smc
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.