core: Add TX/RX API that exposes message tag and tag owner

MCTP received packets can carry a message tag and tag owner bit
which is set by a remote MCTP endpoint. This can be used by the
remote MCTP endpoint to track the responses. Thus, libmctp should
provide a mechanism for the upper layer MCTP applications to
respond with the same message tag.

This patchset extends TX and RX API with message tag and
tag owner bits.

Signed-off-by: Sumanth Bhat <sumanth.bhat@linux.intel.com>
Change-Id: I6d07eafa86c653abdd4313ab7cc77e5a93124477
diff --git a/utils/mctp-demux-daemon.c b/utils/mctp-demux-daemon.c
index d7ab9bc..aeb2de0 100644
--- a/utils/mctp-demux-daemon.c
+++ b/utils/mctp-demux-daemon.c
@@ -84,7 +84,7 @@
 {
 	int rc;
 
-	rc = mctp_message_tx(ctx->mctp, eid, msg, len);
+	rc = mctp_message_tx(ctx->mctp, eid, MCTP_MESSAGE_TO_SRC, 0, msg, len);
 	if (rc)
 		warnx("Failed to send message: %d", rc);
 }
@@ -107,7 +107,9 @@
 	}
 }
 
-static void rx_message(uint8_t eid, void *data, void *msg, size_t len)
+static void
+rx_message(uint8_t eid, bool tag_owner __unused, uint8_t msg_tag __unused,
+	   void *data, void *msg, size_t len)
 {
 	struct ctx *ctx = data;
 	struct iovec iov[2];
@@ -410,7 +412,8 @@
 
 
 	if (eid == ctx->local_eid)
-		rx_message(eid, ctx, ctx->buf + 1, rc - 1);
+		rx_message(eid, MCTP_MESSAGE_TO_DST, 0, ctx, ctx->buf + 1,
+			   rc - 1);
 	else
 		tx_message(ctx, eid, ctx->buf + 1, rc - 1);