forked from mirrors/linux
		
	msgr2 supports two connection modes: crc (plain) and secure (on-wire encryption). Connection mode is picked by server based on input from client. Introduce ms_mode option: ms_mode=legacy - msgr1 (default) ms_mode=crc - crc mode, if denied fail ms_mode=secure - secure mode, if denied fail ms_mode=prefer-crc - crc mode, if denied agree to secure mode ms_mode=prefer-secure - secure mode, if denied agree to crc mode ms_mode affects all connections, we don't separate connections to mons like it's done in userspace with ms_client_mode vs ms_mon_client_mode. For now the default is legacy, to be flipped to prefer-crc after some time. Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
		
			
				
	
	
		
			90 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0
 | 
						|
/*
 | 
						|
 * Ceph string constants
 | 
						|
 */
 | 
						|
#include <linux/module.h>
 | 
						|
#include <linux/ceph/types.h>
 | 
						|
 | 
						|
const char *ceph_entity_type_name(int type)
 | 
						|
{
 | 
						|
	switch (type) {
 | 
						|
	case CEPH_ENTITY_TYPE_MDS: return "mds";
 | 
						|
	case CEPH_ENTITY_TYPE_OSD: return "osd";
 | 
						|
	case CEPH_ENTITY_TYPE_MON: return "mon";
 | 
						|
	case CEPH_ENTITY_TYPE_CLIENT: return "client";
 | 
						|
	case CEPH_ENTITY_TYPE_AUTH: return "auth";
 | 
						|
	default: return "unknown";
 | 
						|
	}
 | 
						|
}
 | 
						|
EXPORT_SYMBOL(ceph_entity_type_name);
 | 
						|
 | 
						|
const char *ceph_auth_proto_name(int proto)
 | 
						|
{
 | 
						|
	switch (proto) {
 | 
						|
	case CEPH_AUTH_UNKNOWN:
 | 
						|
		return "unknown";
 | 
						|
	case CEPH_AUTH_NONE:
 | 
						|
		return "none";
 | 
						|
	case CEPH_AUTH_CEPHX:
 | 
						|
		return "cephx";
 | 
						|
	default:
 | 
						|
		return "???";
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
const char *ceph_con_mode_name(int mode)
 | 
						|
{
 | 
						|
	switch (mode) {
 | 
						|
	case CEPH_CON_MODE_UNKNOWN:
 | 
						|
		return "unknown";
 | 
						|
	case CEPH_CON_MODE_CRC:
 | 
						|
		return "crc";
 | 
						|
	case CEPH_CON_MODE_SECURE:
 | 
						|
		return "secure";
 | 
						|
	default:
 | 
						|
		return "???";
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
const char *ceph_osd_op_name(int op)
 | 
						|
{
 | 
						|
	switch (op) {
 | 
						|
#define GENERATE_CASE(op, opcode, str)	case CEPH_OSD_OP_##op: return (str);
 | 
						|
__CEPH_FORALL_OSD_OPS(GENERATE_CASE)
 | 
						|
#undef GENERATE_CASE
 | 
						|
	default:
 | 
						|
		return "???";
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
const char *ceph_osd_watch_op_name(int o)
 | 
						|
{
 | 
						|
	switch (o) {
 | 
						|
	case CEPH_OSD_WATCH_OP_UNWATCH:
 | 
						|
		return "unwatch";
 | 
						|
	case CEPH_OSD_WATCH_OP_WATCH:
 | 
						|
		return "watch";
 | 
						|
	case CEPH_OSD_WATCH_OP_RECONNECT:
 | 
						|
		return "reconnect";
 | 
						|
	case CEPH_OSD_WATCH_OP_PING:
 | 
						|
		return "ping";
 | 
						|
	default:
 | 
						|
		return "???";
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
const char *ceph_osd_state_name(int s)
 | 
						|
{
 | 
						|
	switch (s) {
 | 
						|
	case CEPH_OSD_EXISTS:
 | 
						|
		return "exists";
 | 
						|
	case CEPH_OSD_UP:
 | 
						|
		return "up";
 | 
						|
	case CEPH_OSD_AUTOOUT:
 | 
						|
		return "autoout";
 | 
						|
	case CEPH_OSD_NEW:
 | 
						|
		return "new";
 | 
						|
	default:
 | 
						|
		return "???";
 | 
						|
	}
 | 
						|
}
 |