diag_msgc: Parse responses
diff --git a/src/diag_msg.c b/src/diag_msg.c
index f65a8f4..53bc027 100644
--- a/src/diag_msg.c
+++ b/src/diag_msg.c
@@ -59,12 +59,22 @@
 {
 	struct msgb *msg = gen_msg_config_set_rt_mask(ssid, runtime_mask);
 	struct msgb *rx;
+	struct diag_set_rt_mask_req *res;
+	int rc = 0;
 
 	rx = diag_transceive_msg(di, msg);
-	/* FIXME */
+	res = (struct diag_set_rt_mask_req *) (msgb_l2(msg)+1);
+	if ((rx->l2h[0] != 0x5d) || res->cmd_code != 0x5d ||
+	    res->sub_cmd != MSG_EXT_SUBCMD_SET_RT_MASK ||
+	    osmo_load16le(&res->ssid_start) != ssid ||
+	    osmo_load16le(&res->ssid_end) != ssid ||
+	    osmo_load32le(&res->runtime_mask) != runtime_mask) {
+		fprintf(stderr, "Error setting RT mask\n");
+		rc = -1;
+	}
 	msgb_free(rx);
 
-	return 0;
+	return rc;
 }
 
 /* handler for EXT MSG */