{
  "slug": "fc-exchange",
  "term": "Fibre Channel exchange",
  "aliases": [
    "FC exchange"
  ],
  "definition": "A Fibre Channel exchange groups related sequences used by two node ports to conduct an operation.",
  "note": "The originator and responder exchange identifiers, OX_ID and RX_ID, identify exchange state in its port context. Exchanges can be unidirectional or bidirectional; RX_ID=0xffff denotes an unassigned responder exchange identifier. Do not interpret either number alone as a global operation identifier. [fcia]\n\nAn exchange is an FC transport construct, not a universal synonym for one SCSI command. In SCSI FCP, command status is represented separately in FCP_RSP. Neither an identifier nor a returned buffer credit demonstrates durable storage. [fcp-response]",
  "related": [
    "fibre-channel",
    "fc-sequence",
    "fc-frame",
    "buffer-to-buffer-credit",
    "scsi",
    "nvme-fc"
  ],
  "citations": [
    {
      "id": "fcia",
      "title": "FCIA: Inside a Modern Fibre Channel Architecture, Part 2 (2021), slides 7, 19, 23-31, 35 and 38",
      "url": "https://fibrechannel.org/wp-content/uploads/2021/11/Modern-FC-Architecture-Part-2.pdf",
      "accessed": "2026-10-19"
    },
    {
      "id": "fcp-response",
      "title": "Linux v6.12: fc_fcp.h, fcp_resp and SCSI status",
      "url": "https://github.com/torvalds/linux/blob/v6.12/include/scsi/fc/fc_fcp.h",
      "accessed": "2026-10-19"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-19",
  "provenance": [
    "Source-backed protocol definition; no throughput, failure-rate or durability measurement is implied."
  ]
}
