)]}'
{
  "commit": "2dd6e8003c7e173a687825aaee15f278ed3ecfc8",
  "tree": "f8eab8a1726cdda5aaf6ec8b83ea560140e66f30",
  "parents": [
    "a56550a7be4a84fb6a55773c432075cb00b0f974"
  ],
  "author": {
    "name": "Hao Jiang",
    "email": "jianghao@google.com",
    "time": "Thu May 07 00:16:58 2026 +0000"
  },
  "committer": {
    "name": "Hao Jiang",
    "email": "jianghao@google.com",
    "time": "Wed Jul 29 10:18:49 2026 -0700"
  },
  "message": "nvme: support bridged MCTP endpoints\n\nUpdated nvmed to support bridged MCTP endpoints by parsing a list of\nBusInfo interfaces from Entity-Manager. Moved the matching logic into\nMctpReactorDevice::setup() to keep the device self-resolving and\nencapsulate discovery logic. Refactored MctpReactorBusInfo to\nmaintain root-to-leaf order for consistency, and added an operator\u003d\u003d\noverload for subset matching.\n\nExample EM config for a bridged device:\n```\n{\n    \"Protocol\": \"mi_mctp\",\n    \"Type\": \"NVME1000\",\n    \"xyz.openbmc_project.Configuration.NVME1000.BusInfo0\": {\n        \"BusType\": \"USB\",\n        \"Port\": \"1.5.1\",\n        \"RootHubPath\": \"/sys/devices/platform/ahb/f0806000.usb\"\n    },\n    \"xyz.openbmc_project.Configuration.NVME1000.BusInfo1\": {\n        \"BusType\": \"MCTP Bridge\",\n        \"EIDOffset\": 2\n    }\n}\n```\n\nTested: Ran unit tests in Docker container (test_mctp_util, test_nvme).\nGoogle-Bug-Id: 509971428\nChange-Id: I8633ed947d1c58d6fb948f5e6bd43e8521fa042e\nSigned-off-by: Hao Jiang \u003cjianghao@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f3386b38be63ed609915075487d9863352d2f7e8",
      "old_mode": 33188,
      "old_path": "src/MctpReactorDevice.cpp",
      "new_id": "fb369af4613174aa0350f0eb3531112803cf5290",
      "new_mode": 33188,
      "new_path": "src/MctpReactorDevice.cpp"
    },
    {
      "type": "modify",
      "old_id": "212a3555ea7a4a1cfd5945f9cdc107d87ff7656f",
      "old_mode": 33188,
      "old_path": "src/MctpReactorDevice.hpp",
      "new_id": "19f24cbd208e006d51e6fc626e65f6cb28b386a3",
      "new_mode": 33188,
      "new_path": "src/MctpReactorDevice.hpp"
    },
    {
      "type": "modify",
      "old_id": "85deb4cc9edaae913680a00fc6830fece57d913a",
      "old_mode": 33188,
      "old_path": "src/MctpUtil.cpp",
      "new_id": "c1a3f4885584deb5bc33676136602f4524b328fd",
      "new_mode": 33188,
      "new_path": "src/MctpUtil.cpp"
    },
    {
      "type": "modify",
      "old_id": "7a049fba92e297a187cc793b0ce67065ac2c92e9",
      "old_mode": 33188,
      "old_path": "src/MctpUtil.hpp",
      "new_id": "33722357623d2bccf86a771713f4833b9f826630",
      "new_mode": 33188,
      "new_path": "src/MctpUtil.hpp"
    },
    {
      "type": "modify",
      "old_id": "c64b10684b5043f7faecd4104260334f7f8512b9",
      "old_mode": 33188,
      "old_path": "src/NVMeSensorMain.cpp",
      "new_id": "3a713711eff758c9cb37225f90108bcabb11b2bd",
      "new_mode": 33188,
      "new_path": "src/NVMeSensorMain.cpp"
    },
    {
      "type": "modify",
      "old_id": "ee110d2af44fdaf5066608409e945e6becb15bae",
      "old_mode": 33188,
      "old_path": "tests/test_MctpUtil.cpp",
      "new_id": "cf2bfe372ec87a51acb2ed2d594d3de32f3ac439",
      "new_mode": 33188,
      "new_path": "tests/test_MctpUtil.cpp"
    }
  ]
}
