libceph: introduce connection modes and ms_mode option
authorIlya Dryomov <idryomov@gmail.com>
Thu, 19 Nov 2020 15:04:58 +0000 (16:04 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 14 Dec 2020 22:21:50 +0000 (23:21 +0100)
commit00498b994113a871a556f7ff24a4cf8a00611700
tree22c84bb86f64957cecb8f7b2d196b1630263fea4
parent313771e80fd253d4b5472e61a2d12b03c5293aa9
libceph: introduce connection modes and ms_mode option

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>
include/linux/ceph/auth.h
include/linux/ceph/ceph_fs.h
include/linux/ceph/libceph.h
net/ceph/auth.c
net/ceph/ceph_common.c
net/ceph/ceph_strings.c
net/ceph/mon_client.c