#define CEPH_OPT_NOSHARE          (1<<1) /* don't share client with other sbs */
 #define CEPH_OPT_MYIP             (1<<2) /* specified my ip */
 #define CEPH_OPT_NOCRC            (1<<3) /* no data crc on writes */
+#define CEPH_OPT_NOMSGAUTH       (1<<4) /* not require cephx message signature */
 
 #define CEPH_OPT_DEFAULT   (0)
 
 
        Opt_noshare,
        Opt_crc,
        Opt_nocrc,
+       Opt_cephx_require_signatures,
+       Opt_nocephx_require_signatures,
 };
 
 static match_table_t opt_tokens = {
        {Opt_noshare, "noshare"},
        {Opt_crc, "crc"},
        {Opt_nocrc, "nocrc"},
+       {Opt_cephx_require_signatures, "cephx_require_signatures"},
+       {Opt_nocephx_require_signatures, "nocephx_require_signatures"},
        {-1, NULL}
 };
 
                case Opt_nocrc:
                        opt->flags |= CEPH_OPT_NOCRC;
                        break;
+               case Opt_cephx_require_signatures:
+                       opt->flags &= ~CEPH_OPT_NOMSGAUTH;
+                       break;
+               case Opt_nocephx_require_signatures:
+                       opt->flags |= CEPH_OPT_NOMSGAUTH;
+                       break;
 
                default:
                        BUG_ON(token);
        init_waitqueue_head(&client->auth_wq);
        client->auth_err = 0;
 
+       if (!ceph_test_opt(client, NOMSGAUTH))
+               required_features |= CEPH_FEATURE_MSG_AUTH;
+
        client->extra_mon_dispatch = NULL;
        client->supported_features = CEPH_FEATURES_SUPPORTED_DEFAULT |
                supported_features;