{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-21",
  "slug": "mctp-message-tag",
  "term": "MCTP message tag",
  "aliases": [],
  "definition": "An MCTP message tag is a three-bit transport field that identifies a message together with source endpoint and tag-owner context.",
  "note": "In a request/response exchange, the responder should return the request's tag with Tag Owner cleared. Packet sequence numbers are separate two-bit fields used within message assembly, not telemetry sample numbers. [mctp-base]\n\nLinux supports explicit tag allocation and release for a peer. Zero is a valid tag value; the returned socket value also contains owner and preallocation flags. If a tag cannot be allocated for a send, the API reports EAGAIN. This is a collection-path error, not a decoded NVMe health warning. [linux-mctp-pinned]\n\nCollector design inference: keep an independent sample identifier, timestamp and device identity. Repeated tag values alone do not prove duplicate health samples or establish their chronological order.",
  "related": [
    "mctp",
    "mctp-endpoint-id",
    "nvme-mi",
    "out-of-band-management"
  ],
  "citations": [
    {
      "id": "mctp-base",
      "title": "DMTF DSP0236 v1.3.3, section 8.2 Table 1: message tag, Tag Owner and packet sequence",
      "url": "https://www.dmtf.org/sites/default/files/standards/documents/DSP0236_1.3.3.pdf",
      "accessed": "2026-10-21"
    },
    {
      "id": "linux-mctp-pinned",
      "title": "Linux v6.12 MCTP socket documentation: send and tag allocation/release",
      "url": "https://github.com/torvalds/linux/blob/v6.12/Documentation/networking/mctp.rst",
      "accessed": "2026-10-21"
    }
  ],
  "provenance": [
    "Source review of DSP0236 v1.3.3 and the Linux v6.12 documentation, not a hardware test. Collector identity advice is an inference from the scoped and reusable transport tag."
  ]
}
