int bufsize = smc_uncompress_bufsize(clc->d0.dmbe_size);
 
        smc->conn.peer_rmbe_idx = clc->d0.dmbe_idx;
-       smc->conn.peer_token = clc->d0.token;
+       smc->conn.peer_token = ntohll(clc->d0.token);
        /* msg header takes up space in the buffer */
        smc->conn.peer_rmbe_size = bufsize - sizeof(struct smcd_cdc_msg);
        atomic_set(&smc->conn.peer_rmbe_space, smc->conn.peer_rmbe_size);
                if (rc)
                        return rc;
        }
-       ini->ism_peer_gid[ini->ism_selected] = aclc->d0.gid;
+       ini->ism_peer_gid[ini->ism_selected] = ntohll(aclc->d0.gid);
 
        /* there is only one lgr role for SMC-D; use server lock */
        mutex_lock(&smc_server_lgr_pending);
 
 {
        struct smc_connection *conn = &smc->conn;
        struct smc_clc_first_contact_ext_v2x fce;
+       struct smcd_dev *smcd = conn->lgr->smcd;
        struct smc_clc_msg_accept_confirm *clc;
        struct smc_clc_fce_gid_ext gle;
        struct smc_clc_msg_trail trl;
                memcpy(clc->hdr.eyecatcher, SMCD_EYECATCHER,
                       sizeof(SMCD_EYECATCHER));
                clc->hdr.typev1 = SMC_TYPE_D;
-               clc->d0.gid =
-                       conn->lgr->smcd->ops->get_local_gid(conn->lgr->smcd);
-               clc->d0.token = conn->rmb_desc->token;
+               clc->d0.gid = htonll(smcd->ops->get_local_gid(smcd));
+               clc->d0.token = htonll(conn->rmb_desc->token);
                clc->d0.dmbe_size = conn->rmbe_size_comp;
                clc->d0.dmbe_idx = 0;
                memcpy(&clc->d0.linkid, conn->lgr->id, SMC_LGR_ID_SIZE);
                if (version == SMC_V1) {
                        clc->hdr.length = htons(SMCD_CLC_ACCEPT_CONFIRM_LEN);
                } else {
-                       clc_v2->d1.chid =
-                               htons(smc_ism_get_chid(conn->lgr->smcd));
+                       clc_v2->d1.chid = htons(smc_ism_get_chid(smcd));
                        if (eid && eid[0])
                                memcpy(clc_v2->d1.eid, eid, SMC_MAX_EID_LEN);
                        len = SMCD_CLC_ACCEPT_CONFIRM_LEN_V2;
 
 } __packed;
 
 struct smcd_clc_msg_accept_confirm_common {    /* SMCD accept/confirm */
-       u64 gid;                /* Sender GID */
-       u64 token;              /* DMB token */
+       __be64 gid;             /* Sender GID */
+       __be64 token;           /* DMB token */
        u8 dmbe_idx;            /* DMBE index */
 #if defined(__BIG_ENDIAN_BITFIELD)
        u8 dmbe_size : 4,       /* buf size (compressed) */