Rename field diag_fallback into diag_mode and set the smc mode of a
connection explicitly.
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 struct smc_diag_msg {
        __u8    diag_family;
        __u8    diag_state;
-       __u8    diag_fallback;
+       __u8    diag_mode;
        __u8    diag_shutdown;
        struct inet_diag_sockid id;
 
        __u64   diag_inode;
 };
 
+/* Mode of a connection */
+enum {
+       SMC_DIAG_MODE_SMCR,
+       SMC_DIAG_MODE_FALLBACK_TCP,
+       SMC_DIAG_MODE_SMCD,
+};
+
 /* Extensions */
 
 enum {
 
        r = nlmsg_data(nlh);
        smc_diag_msg_common_fill(r, sk);
        r->diag_state = sk->sk_state;
-       r->diag_fallback = smc->use_fallback;
+       if (smc->use_fallback)
+               r->diag_mode = SMC_DIAG_MODE_FALLBACK_TCP;
+       else if (smc->conn.lgr && smc->conn.lgr->is_smcd)
+               r->diag_mode = SMC_DIAG_MODE_SMCD;
+       else
+               r->diag_mode = SMC_DIAG_MODE_SMCR;
        user_ns = sk_user_ns(NETLINK_CB(cb->skb).sk);
        if (smc_diag_msg_attrs_fill(sk, skb, r, user_ns))
                goto errout;