forked from mirrors/linux
		
	 00498b9941
			
		
	
	
		00498b9941
		
	
	
	
	
		
			
			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 "???";
 | |
| 	}
 | |
| }
 |