)]}'
{
  "log": [
    {
      "commit": "f3a370585070a88ffc2ee2c5f02ee3f9fd0f784f",
      "tree": "8a51116dc1f4d5a96d544f8779e64224e0c67cc2",
      "parents": [
        "cc85830946dbe615c2f233e0e397a3e4d57eb8d0"
      ],
      "author": {
        "name": "Pete O_o",
        "email": "pmb@meta.com",
        "time": "Fri Oct 30 13:51:55 2026 -0700"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Sat Oct 31 01:43:49 2026 +0000"
      },
      "message": "meta-facebook: request maintainers access\n\nAdd myself to the meta-facebook owners so I can review and approve\nchanges to the Meta platform layers, such as meta-anacapa.\n\nChange-Id: I40544e04b008e46c655871d976cfb0435a93cd09\nSigned-off-by: Pete O_o \u003cpmb@meta.com\u003e\n"
    },
    {
      "commit": "cc85830946dbe615c2f233e0e397a3e4d57eb8d0",
      "tree": "df5b6f50e522b24690a7a6af053ca9d3f334d58a",
      "parents": [
        "aeed81c457069402af23f5145c8133cfea20a99b"
      ],
      "author": {
        "name": "Mayank Metha",
        "email": "mayank.metha@intel.com",
        "time": "Fri Oct 16 15:04:03 2026 +0530"
      },
      "committer": {
        "name": "Mayank Metha",
        "email": "mayank.metha@intel.com",
        "time": "Sat Oct 31 00:39:06 2026 +0000"
      },
      "message": "meta-intel-openbmc: add mctp interface initialisation\n\nAdded mctp interface initialisation service for Intel platforms.\n\nChange-Id: Id164a2f35885ffdf459abee35250ea154cce00ee\nSigned-off-by: Nidhin MS \u003cnidhin.ms@intel.com\u003e\nSigned-off-by: Mayank Metha \u003cmayank.metha@intel.com\u003e\n"
    },
    {
      "commit": "aeed81c457069402af23f5145c8133cfea20a99b",
      "tree": "554946a61eee848586f4747cda8b64bcb3926b16",
      "parents": [
        "c9bb07fa438f008aa1c998fe2e742a386cd15776"
      ],
      "author": {
        "name": "Mayank Metha",
        "email": "mayank.metha@intel.com",
        "time": "Fri Oct 16 14:44:28 2026 +0530"
      },
      "committer": {
        "name": "Mayank Metha",
        "email": "mayank.metha@intel.com",
        "time": "Sat Oct 31 00:38:42 2026 +0000"
      },
      "message": "meta-intel-openbmc: Add mctpd config\n\nAdd mctp daemon config required for Intel platforms.\n\nChange-Id: I4b70077603f128a40e17ba674d109072276d1b68\nSigned-off-by: Mayank Metha \u003cmayank.metha@intel.com\u003e\n"
    },
    {
      "commit": "c9bb07fa438f008aa1c998fe2e742a386cd15776",
      "tree": "7ed90e708ee85104c7ba18aa2d07b677eec32651",
      "parents": [
        "e46e25c54cd87f35b101aada63b1674bc575a2e6"
      ],
      "author": {
        "name": "Cosmo Chou",
        "email": "cosmo.chou@quantatw.com",
        "time": "Fri Oct 30 22:33:05 2026 +0800"
      },
      "committer": {
        "name": "Amithash Prasad",
        "email": "amithash@meta.com",
        "time": "Fri Oct 30 20:21:15 2026 +0000"
      },
      "message": "meta-facebook: drop gzip FIT kernel compression override\n\nThe gzip override in rainiera7, ventura2a7 and yosemite5a7 was a\nworkaround for fit-image.bbclass lacking lzma support. Now that\n82d4dac8c2 (\"meta-phosphor: fit-image.bbclass: add lzma compression\")\nhas added it, drop the override and fall back to the ast2700.inc\ndefault (lzma). This shrinks the compressed kernel in the FIT image by\nabout 2.3 MiB.\n\nChange-Id: I070e660211ccda2ef28286bac53d03ed500e9813\nSigned-off-by: Cosmo Chou \u003ccosmo.chou@quantatw.com\u003e\n"
    },
    {
      "commit": "e46e25c54cd87f35b101aada63b1674bc575a2e6",
      "tree": "dd79287fdda2d379747bdbf4ad4edffcd02ec5ef",
      "parents": [
        "293e2c04c021b4de7c924bba951a38c43f76baa0"
      ],
      "author": {
        "name": "Kyle Hsieh",
        "email": "Kyle.Hsieh@quantatw.com",
        "time": "Tue Oct 20 16:43:24 2026 +0800"
      },
      "committer": {
        "name": "Jagpal S Gill",
        "email": "paligill@gmail.com",
        "time": "Fri Oct 30 17:06:08 2026 +0000"
      },
      "message": "meta-facebook: ventura2a7: use Ventura2_SCM_2700 for SCM sensor association\n\nOn ventura2a7, the SCM board is exposed in inventory as\nVentura2_SCM_2700 instead of Ventura2_SCM. The phosphor-virtual-sensor\nconfigs shared from meta-ventura2 associate the virtual SCM inlet\ntemperature sensor with Ventura2_SCM, so on ventura2a7 the association\npoints to an inventory object that does not exist.\n\nAdd a ventura2a7 bbappend that rewrites the SCM inventory path in the\nvirtual sensor configs to Ventura2_SCM_2700 at build time. Ventura2\nkeeps using Ventura2_SCM.\n\nTested:\n```\nroot@bmc:~# busctl get-property xyz.openbmc_project.VirtualSensor /xyz/openbmc_project/sensors/temperature/VIRTUAL_SCM_INLET_TEMP_C xyz.openbmc_project.Association.Definit\nions Associations\na(sss) 1 \"chassis\" \"all_sensors\" \"/xyz/openbmc_project/inventory/system/board/Ventura2_SCM_2700\"\n```\n\nChange-Id: I0b0664e826d005fdb07b65c21df8620f22673b69\nSigned-off-by: Kyle Hsieh \u003cKyle.Hsieh@quantatw.com\u003e\n"
    },
    {
      "commit": "293e2c04c021b4de7c924bba951a38c43f76baa0",
      "tree": "381f37511c2bed9d8f141e9f50178abf5a98d7ac",
      "parents": [
        "f45a7ba59d72f799e85096f65812344e34559988"
      ],
      "author": {
        "name": "Dirk Chen",
        "email": "dirkchen@amd.com",
        "time": "Thu Sep 17 15:18:02 2026 +0800"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Thu Oct 29 22:47:19 2026 +0000"
      },
      "message": "meta-facebook: anacapa: Recover MCTP USB endpoints\n\nRecover MCTP USB endpoints after USB re-enumeration.\nAfter an FD (Firmware Device) firmware update, the USB device is\nreset and re-enumerated, causing MCTP communication to be lost.\n \nReconfigure the MCTP EID and refresh the EID mapping after\nre-enumeration to restore communication with the FD.\n \nTested:\n1. Perform a PLDM Type-5 firmware update on the backend NIC card.\n2. Verify the MCTP route table and EID assignments after the update.\n3. Verify communication with the FD using pldmtool.\n\nChange-Id: I2956cca864f6a6afdf72a3f2c01036a1abeed433\nSigned-off-by: Dirk Chen \u003cdirkchen@amd.com\u003e\n"
    },
    {
      "commit": "f45a7ba59d72f799e85096f65812344e34559988",
      "tree": "36552b290ba2cb73716772c8c05635a91249432a",
      "parents": [
        "81bc0ec66575950193a306d37b22172f89be5a22"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Thu Oct 29 15:50:13 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Thu Oct 29 18:15:04 2026 +0000"
      },
      "message": "estoraged: srcrev bump ae6b1663fe..e3fc076a73\n\nBart Van Assche (1):\n      erase: Make the devPath member private\n\nChange-Id: I6b9e5f1d0f7a90d87a897f7047863a538a9b5f9c\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "81bc0ec66575950193a306d37b22172f89be5a22",
      "tree": "e0f23be0bb556ecb831733d3bb9ec27fa6507f9c",
      "parents": [
        "273c661e035f5f5898259201a62349cf6b6fefb6"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Wed Oct 28 18:07:20 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Disable DAD on gbmcbr\n\nEvery address on gbmcbr is derived from a unique BMC MAC or from an\nallocation handed to us, so DAD cannot find a real conflict there. The\nexception is the GBMC_BR_MAC_ADDR addresses, which are deliberately\nshared between machines of the same type and are configured deprecated\nso they are never used as a source.\n\nWith DAD enabled, a node bringing up those shared addresses sees its\nsibling answer for them and marks them dadfailed, and every address\nadded to gbmcbr stays tentative for a second after each (re)configure,\ndelaying the scripts that wait for usable link-local addresses.\n\nDisable DAD on the bridge, like we already do for the NCSI interface and\nthe statically assigned bridge addresses.\n\nTested: Observed the GBMC_BR_MAC_ADDR addresses on a tray BMC in the\ndadfailed state against its sibling tray on the same gbmcbr. Verified\nthe option is parsed by the systemd 256.7 networkd in gBMC.\n\nChange-Id: Iebe87fb56c6aa42e109d797658cc1762e52cc0c9\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "273c661e035f5f5898259201a62349cf6b6fefb6",
      "tree": "e76080fc263867554afb7966fa042467100d2bb8",
      "parents": [
        "47d46f8593981e72e82a9bc59a4558046483fe97"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Wed Oct 28 18:06:26 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Ignore ICMPv6 Redirects on gbmcbr\n\nA BMC that routes for gbmcbr forwards a packet back out of gbmcbr when\nthe next hop is another node on the bridge, and the kernel answers the\nsender with an ICMPv6 Redirect. When the sender is the next hop itself\n(e.g. a tray sending traffic to the head for a prefix the head routes\nback through that tray while the tray\u0027s routes are being reconfigured),\nthe Redirect target is the sender\u0027s own link-local address.\n\nnetworkd installs a route from every accepted Redirect, using the target\nas the gateway without checking whether it is local. The kernel rejects\nthat route with \"Gateway can not be a local address\", and networkd puts\ngbmcbr in the failed state until it is reconfigured, leaving the tray\nwithout bridge routes.\n\nEvery node on gbmcbr is reachable on-link and the bridge routes come\nfrom RAs and our own configuration, so Redirects never give us a better\npath. Stop networkd from acting on them.\n\nTested: Reproduced gbmcbr entering the failed state from Redirects sent\nby the head (Icmp6OutRedirects on the head, Icmp6InRedirects on the\ntray) during RWFS reboot testing. Verified the option is parsed by the\nsystemd 256.7 networkd in gBMC.\n\nChange-Id: I04e803186232737fafa85a04b48ce4141530dbd8\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "47d46f8593981e72e82a9bc59a4558046483fe97",
      "tree": "7c23f5a0cb57607302d91e12ceb4d11c58ad7423",
      "parents": [
        "f14b69a3c1c04c18cad5f91768a8ead3f12de327"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Tue Oct 27 23:41:41 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Skip missing upper interfaces in gbmc-br-dhcrelay\n\nWhen multiple USB NCSI interfaces disconnect simultaneously,\ngbmc-ip-monitor processes the address/link removal events sequentially\nand restarts gbmc-br-dhcrelay after removing the first upper file while\nstale upper files for other already-unregistered interfaces still exist\nin /run/gbmc-br-dhcrelay/uppers/.\n\nPassing -u ff02::1:2%\u003cintf\u003e for a nonexistent interface causes dhcrelay\nto resolve if_nametoindex() to 0 and fail with EADDRINUSE (Address\nalready in use) when joining the multicast group across multiple missing\ninterfaces. Check /sys/class/net/\u003cintf\u003e before adding each upper\ninterface to dhcrelay arguments.\n\nTested: Verified gbmc-br-dhcrelay starts cleanly during simultaneous USB\nNCSI interface disconnects without EADDRINUSE failures.\n\nChange-Id: If1df115f1eb69a70ff4d9411e9354efe14a3c96e\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "f14b69a3c1c04c18cad5f91768a8ead3f12de327",
      "tree": "68119e19cf88346b00b6a9ad3b04c9896a18b103",
      "parents": [
        "38be3dff5f2268a8727f4f31538fb05c90715dd7"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Tue Oct 27 23:41:40 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-net-lib, gbmc-ncsi: Skip deprecated IP update when interface is gone\n\nWhen a USB NCSI interface is removed (for example during a USB hub\nreset), gbmc_ncsi_br_deprecated_ips_update() may run during a deferred\nupdate after /sys/class/net/\u003cintf\u003e/ifindex has already disappeared.\n\nPreviously, gbmc_net_route_table_for_intf() emitted a shell redirection\nerror to stderr and returned an empty table ID, which\ngbmc_ncsi_br_deprecated_ips_update() treated as a routing table change\nto an empty string. This wrote empty Table\u003d/Priority\u003d fields into the\ndrop-in, attempted to add an ip rule with an invalid table ID, and\ntriggered a spurious networkd reload.\n\nSuppress the sysfs redirection error in gbmc_net_route_table_for_intf()\nand skip non-delete updates in gbmc_ncsi_br_deprecated_ips_update() when\nthe interface routing table cannot be resolved.\n\nTested: Verified USB NCSI disconnect and re-enumeration perturbations\ncomplete without stderr redirection errors, invalid ip rule invocations,\nor empty Table\u003d/Priority\u003d drop-ins.\n\nChange-Id: If19741aca63abbc4c7c380bf6d7f31373c05c96e\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "38be3dff5f2268a8727f4f31538fb05c90715dd7",
      "tree": "7b9626b2dd7c3f004c4df0fdb3357d3c130fc363",
      "parents": [
        "892b059429e43986ecaad50e81c8842afa332091"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Tue Oct 27 23:41:39 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: ipmi-fru-sh, gbmc-mac-config: Add checksum warning flag\n\nAdd IPMI_FRU_WARN_CHECKSUM to ipmi-fru-sh/lib.sh so callers can opt in\nto emitting a warning to stderr and continuing when a FRU header or area\nchecksum fails instead of returning a fatal error (10). Enable this flag\nin gbmc-mac-config.sh so systems with invalid FRU checksums still\nconfigure their MAC addresses.\n\nTested: Verified gbmc-mac-config logs a warning and continues parsing\nMAC records when FRU header or area checksums are invalid, while default\ncallers still return exit code 10.\n\nChange-Id: Ib760fb64bdb19bd57106da3b9af19f8031c178d0\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "892b059429e43986ecaad50e81c8842afa332091",
      "tree": "91629c233c3788d9411362019a7505f7b9bd000b",
      "parents": [
        "f844793a6babbae0d371c200c984b87990f577c3"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sun Oct 25 21:42:42 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: nftables: Order nftables.service after gbmc-ip-monitor\n\n`gbmc-ip-monitor.service` generates initial runtime nftables rules under\n`/run/nftables/` during its `init` pass before signaling readiness\n(`Type\u003dnotify`). Without an ordering dependency between\n`gbmc-ip-monitor.service` and `nftables.service`, `nftables.service` starts\nconcurrently with `gbmc-ip-monitor` at early boot, causing `gbmc-ip-monitor`\nhooks to write `/run/nftables/` rules while `nftables.service` is already\nactivating and triggering a second full `nftables` reload right after\ninitial load.\n\nOrder `nftables.service` `After\u003dgbmc-ip-monitor.service` (both remain\n`Before\u003dnetwork-pre.target`) so all initial runtime rules from the\n`gbmc-ip-monitor` init pass are in place before `nftables.service` starts\nand loads the ruleset once.\n\nTested: Verified across BMC boots that `nftables.service` starts once\nafter `gbmc-ip-monitor.service` completes initialization, with no\nredundant early-boot nftables reloads.\n\nChange-Id: If833f1160d8023655956876945d90a7a69dd958c\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "f844793a6babbae0d371c200c984b87990f577c3",
      "tree": "67e2e7599c02473c81f99b0e654fac900832a33f",
      "parents": [
        "bbff385cdfa398808525620cadc2e7b1e58e8251"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sun Oct 25 21:42:41 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-net: Skip reloading nftables while activating\n\nAt early boot, `nftables.service` (`Type\u003doneshot`) is `activating` while\n`nft -f` loads the initial ruleset from `/etc/nftables` and `/run/nftables`.\n`_gbmc_net_nftables_reload_action` only skipped `systemctl reset-failed`\nand `systemctl --no-block reload-or-restart nftables` when `systemctl is-active`\nreturned `inactive`. When a hook wrote a rule file while `nftables.service`\nwas still `activating`, queueing a reload job caused systemd to re-run\n`nftables.service` immediately after startup (or block callers waiting on\nD-Bus job queueing), even though the activating `nft` invocation was\nalready loading the files written before it started.\n\nTreat `activating` the same as `inactive` in\n`_gbmc_net_nftables_reload_action` so no redundant reload is queued while\n`nftables.service` is starting up.\n\nTested: Added unit test in `gbmc-net-lib-test.sh` verifying both\n`inactive` and `activating` states skip reloading nftables.\n\nChange-Id: I38c6956218ef527e61c92a6e94993fc6edba6098\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "bbff385cdfa398808525620cadc2e7b1e58e8251",
      "tree": "70eca8fe377984fb1646a02ef8b4981390af0bcb",
      "parents": [
        "23b528a678c9d3b388d8ab28cc9408c71da70066"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sun Oct 25 21:42:40 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: google-usb-network: Serialize usb_network.sh with flock\n\nWhen a system configures multiple static USB gadgets via\n`google-usb-static@\u003ciface\u003e.service`, systemd starts the template instances\nconcurrently at early boot. Both instances write their UDC name to\nconfigfs at the same time, causing the kernel EEM gadget driver to\nallocate `usb0` for the first gadget while the second gets `usb1`. Lookups\nand `ip link set dev usb0 down \u0026\u0026 ip link set dev usb0 name \u003ciface\u003e` in\nthe two scripts can then race on `usb0` before configfs updates `ifname`,\nleaving one gadget unconfigured (`not attached`) and its network interface\nmissing.\n\nAcquire an exclusive `flock` in `usb_network.sh` before running\n`gadget_start` or `gadget_stop` so each gadget binds its UDC and renames\nits interface atomically without racing another `usb_network.sh`\ninvocation.\n\nTested: Verified 100-loop reboot and UDC bringup across multi-gadget BMCs\nwith zero gadget bind or interface rename failures.\n\nChange-Id: I900f24b6fe5b39eeec425a9a30af248b9950275a\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "23b528a678c9d3b388d8ab28cc9408c71da70066",
      "tree": "bd3d6219625d278e402bf84bbe5cc4a86f4332b3",
      "parents": [
        "34d4033559aee6425657dbc1191be552fe398a5d"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sun Oct 25 21:42:39 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Ignore UPGRADE_REBOOT\u003d0 in psu hardreset hook\n\n`gbmc-bridge.bb` defaults `GBMC_NETBOOT_UPGRADE_REBOOT \u003d \"0\"`, which\nsubstitutes `UPGRADE_REBOOT\u003d0` into `50-gbmc-psu-hardreset.sh`. Because\n`gbmc_psu_hardreset_hook()` only checked `[ -n \"${UPGRADE_REBOOT}\" ]`,\nthe string `\"0\"` evaluated as non-empty and upgraded every warm reboot\nrequest (`gbmc_reboot_needed\u003d1`) into a full PSU hardreset\n(`gbmc_psu_hardreset_needed\u003d1`).\n\nCheck `[ \"${UPGRADE_REBOOT}\" !\u003d \"0\" ]` alongside\n`[ -n \"${UPGRADE_REBOOT}\" ]` so `\"0\"` disables upgrading warm reboots to\npowercycles as intended.\n\nTested: Verified warm reboot requests do not trigger a PSU hardreset\nwhen `UPGRADE_REBOOT\u003d0`, and still upgrade to a powercycle when\n`UPGRADE_REBOOT\u003d1`.\n\nChange-Id: Ica9edfcd90c4bf9eddaaab5123dc8521f9a826d5\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "34d4033559aee6425657dbc1191be552fe398a5d",
      "tree": "319b5146c54206c3d1b1ca6f053b5f28d4adb083",
      "parents": [
        "c09a9071b4e2e0e90f9b87586b327627eb25ebf8"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sun Oct 25 21:41:43 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-ra, gbmc-br-ra: Default empty IP_OFFSET\n\nWhen `GBMC_BR_FIXED_OFFSET` is unset or empty, `@IP_OFFSET@` expands to\nthe empty string in `gbmc-br-ra.sh`. Two issues followed when an empty\n`IP_OFFSET` was sourced into `gbmc-ra.sh`:\n1. `gbmc-ra.sh` used `: \"${IP_OFFSET\u003d?1}\"` (`\u003d?` parameter error syntax\n   instead of `:\u003d` default assignment), which aborts the script with\n   `IP_OFFSET: 1` whenever `IP_OFFSET` is unset or empty.\n2. In `gbmc-br-ra.sh`, `update_pfx()` evaluated `(( t_pfx_b[9] |\u003d IP_OFFSET ))`\n   before `gbmc-ra.sh` defaulted `IP_OFFSET`, causing a bash arithmetic\n   syntax error (`|\u003d `) when `IP_OFFSET` was empty.\n\nChange `: \"${IP_OFFSET\u003d?1}\"` in `gbmc-ra.sh` to `: \"${IP_OFFSET:\u003d1}\"` and\ndefault `: \"${IP_OFFSET:\u003d0}\"` after `IP_OFFSET\u003d@IP_OFFSET@` in\n`gbmc-br-ra.sh.in`.\n\nTested: Verified `gbmc-br-ra.sh` and `gbmc-ra.sh` run cleanly without\narithmetic or parameter errors when `IP_OFFSET` is empty, `0`, or\nnon-zero.\n\nChange-Id: I2721f318073b56b390ceeae8a03b01540d0e1b7e\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "c09a9071b4e2e0e90f9b87586b327627eb25ebf8",
      "tree": "ea84aeb8fe5183fead415877da3f1bb350a86edd",
      "parents": [
        "5070dceaa94d0fccbb370820c5a77b9a0becf6f4"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sun Oct 25 21:41:42 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-nic-rename: Fix missing space in test bracket\n\nIn do_install(), `[ -z \"${GBMC_ETHER_MAP}\"]` lacked a space before the\nclosing bracket, causing `[` to treat `-z` and `\"${GBMC_ETHER_MAP}\"]` as\ntwo arguments without a closing `]` and fail with `[: missing \u0027]\u0027` (exit\ncode 2) whenever `gbmc-nic-rename` was built on a system where\n`GBMC_ETHER_MAP` is empty.\n\nAdd the missing space before `]` so empty `GBMC_ETHER_MAP` returns cleanly.\n\nTested: Verified `bitbake gbmc-nic-rename` succeeds both when\n`GBMC_ETHER_MAP` is empty and when interface mappings are defined.\n\nChange-Id: I76d3a1621a182e347ae874e2268ca6758e7cf342\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "5070dceaa94d0fccbb370820c5a77b9a0becf6f4",
      "tree": "8826616f58c5a615537c8049d30a979c2b540d1c",
      "parents": [
        "b80a29ae1a0a14250f3a23ff56a644dd66b56ec5"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 17 22:16:12 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: google-usb-network: Create static gadgets at boot\n\nThe host USB gadgets of most machines come from entity-manager\ncom.google.gbmc.USB records, which google-usb-dynamic only sees once\nFruDevice has probed the board FRU. That puts the host\u0027s link into\ngbmcbr, its recovery path to the BMC, 33-73s after networkd on our\nheads, although every value in those records is a build-time constant\nand the UDC is a built-in platform device present from early boot.\n\nAdd BMC_USB_GADGETS, a list of interfaces each described by a\nBMC_USB_GADGET_\u003ciface\u003e list of the same keys the EM record has\n(product-id, bind-device, product-name, dev-type, host-mac,\nhost-mac-idx, dev-mac, iface-alias, no-bridge). The recipe validates\nthem at build time, writes /usr/share/google-usb-network/\u003ciface\u003e.conf\nand enables a google-usb-static@\u003ciface\u003e instance for each, all under\ngoogle-usb-static.target. The instances run usb_network.sh once, ordered\nonly after configfs and module loading, not after udev, entity-manager\nor the mapper. A machine can have several gadgets, named by the config\nrather than by the order EM published them in.\n\nMachines with a bare metal mode, where the host must not reach the BMC,\nget BMC_USB_GADGETS_BM: \"flag\" adds a condition on the bare metal flag\nfile bare-metal-setup and bare-metal-init check, \"always\" is for bare\nmetal only images. Evaluating it in the units themselves keeps the\ngadgets from waiting for those services, which ran until 56s on an\nAST2600 head. Machines without a bare metal mode, such as trays, leave\nit unset.\n\nA gadget can also be limited to the images that have a given path with\ncondition-path, e.g. a secondary bridge to those with the l2br netdev.\n\nusb_network.sh gains --host-mac-idx, the gbmc-mac-config list entry to\nuse as the host MAC, matching what google-usb-dynamic does for MacIdx;\nthose instances are ordered after gbmc-mac-config.\n\nThe package is now machine specific. The single gadget BMC_USB_ECM_*\nconfiguration is unchanged.\n\nTested: Verified static gadget creation at 1-3s after boot across head\nand tray BMCs.\n\nChange-Id: Iba01eef63b869bf0253d9103e7f2b51c09703be6\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "b80a29ae1a0a14250f3a23ff56a644dd66b56ec5",
      "tree": "e61f33e5ecf6511fc3c23d7ed46c5b0a5db056a9",
      "parents": [
        "63363718113f818a1b47dc44ec84f3a37cd64031"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 17 21:53:03 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: networking: Keep ip-monitor deadlines out of the event queue\n\ngbmc-ip-monitor wrote its timers and deferrals back into the event\nstream as [TIMER]/[DEFER] lines, from background sleeps. At boot those\nqueued up behind hundreds of netlink events: on AST2600 a 1s deferral\nfired after 23.7s, so the reloads and default route advertisements it\nbatched waited just as long.\n\nKeep the deadlines in the loop instead, and wait for the next event\nwith `read -t` until the earliest one. Timers fire on time whatever is\nqueued. A deferral still merges every reload requested while it is\npending, but now fires 1s after it was first requested once the queued\nevents are drained, and never later than 3s, so a long burst gets a\nreload every few seconds rather than none until it ends. This also gets\nrid of the fifo and a sleep process per timer, and a deferral can no\nlonger be lost along with its sleep, leaking the reload queue reference\nit holds.\n\nBuilding on that:\n\n- gbmc_ip_monitor_idle() requests a timer event once the queued events\n  are processed, at most a given time later. gbmc-br-gw-src uses it to\n  recompute route sources, advertisements and the routes through the\n  head once per burst of route and address events, rather than once\n  for each of them.\n- gbmc-br-gw-src caches the `ip route get` lookup of every address\n  until a default route, a rule or a link changes, and reads the\n  primary address without forking.\n- The ip-monitor runs networkd and nftables reloads in the background.\n  networkctl and the systemd round-trips around it take seconds at\n  boot, which stalled every event behind them. The reloads are still\n  serialized and coalesced across processes as before.\n\nTested: Unit tests pass, with new ones for the event loop deadlines,\ndeferral batching, the route lookup cache, batched recomputes and\nbackground reloads.\n\nChange-Id: Ica426d1762007e957c0157892162c5c217f4467b\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "63363718113f818a1b47dc44ec84f3a37cd64031",
      "tree": "6e1ce19bfd8b3dc7d81491fc60cd633f143a01d6",
      "parents": [
        "9d48b99eec16c3f9e5ee0bd6219a828b2128c13f"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sun Oct 18 16:53:16 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: networking: Drop process spawns from ip-monitor event paths\n\ngbmc-ip-monitor runs every hook in series for every netlink event. At\nboot, when a burst of events arrives on a loaded CPU, it fell 17-27s\nbehind on AST2600 and 40-54s on NPCM7xx, delaying the uplink routes and\nwhat we advertise to the trays. Several hooks forked on every event of\na common kind:\n\n- gbmc-ncsi-usb ran `ip link show | grep` for every link added, looking\n  for its alias. Read ifalias from sysfs instead. This also stops the\n  \"Device ... does not exist\" errors for the short lived USB devices udev\n  renames before we get to their events.\n- gbmc-br-dhcrelay reset and restarted the relay for every link-local\n  address change, while its upper interfaces only change when the first\n  address comes or the last one goes.\n\nTested: Unit tests pass, verified across AST2600, AST2700 and NPCM7xx\nboots with zero \"Device ... does not exist\" errors.\n\nChange-Id: I4357dc82462971f80d5a08b472cbac27ca1499b4\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "9d48b99eec16c3f9e5ee0bd6219a828b2128c13f",
      "tree": "cb05582e251ea229025c81b786065e409c56cf9f",
      "parents": [
        "258aa42331cbc334b9d7d5ba97fed16ad1cf4514"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sun Oct 18 16:53:15 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-net: Skip forks and systemd round-trips at boot\n\ngbmc-mac-config runs before networkd on a CPU that is saturated at\nboot, and took up to 28s there. After writing its configs it flushed\nthe queued networkd reload, which asked systemd whether networkd is\nactive. When something runs `systemctl daemon-reload` at the same time\n(~10s on AST2600), systemd answers nothing until it is done, and\ngbmc-mac-config (and with it networkd) waits for it.\n\nCheck for networkd\u0027s varlink socket first: networkd creates it when it\nstarts, before loading its configs, so without it there is nothing to\nreload and no need to ask systemd. Also drop forks from the common\npaths: log the caller with BASH_LINENO/FUNCNAME instead of a\n`$(caller 0)` subshell on every queued reload, format the MAC with\nprintf -v and test for the interface in sysfs instead of running\n`ip link show`.\n\nTested: Unit tests pass, including a new one that the reload action\nskips systemd without the socket. On a BMC the patched gbmc-mac-config\nruns in 0.18-0.21s instead of 0.23-0.26s on an idle system, writing\nthe same configs.\n\nChange-Id: I1df543cbcd13c2fcd67ca38220f42655d541116d\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "258aa42331cbc334b9d7d5ba97fed16ad1cf4514",
      "tree": "7e1311ee01780c39c9ce88ba0fdf3365a306ed99",
      "parents": [
        "28aeeeb2bc7b80656053ea26a5589c52aeae8b32"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 17 21:01:36 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-ncsi-config: Start RA discovery without phosphor-networkd\n\ngbmc-ncsi-ra@ was ordered after gbmc-ncsi-networkd-wait.target, i.e.\nafter phosphor-networkd and its ncsi D-Bus object. On a SmartNIC head\nthat kept router discovery on the NCSI link from starting until long\nafter networkd had brought it up (40s on one boot, 94s on the next),\nand with it the uplink routes and everything advertised to the trays.\n\nphosphor-networkd is only needed to clear the IPv6 gateways it persisted\nin 00-bmc-\u003cif\u003e.network for dumb NICs. Order gbmc-ncsi-ra@ after\nsystemd-networkd and ncsid only, and move the clearing into a new\noneshot, gbmc-ncsi-clear-gw@, which waits for phosphor-networkd and\ndoes nothing without a persisted gateway to clear. ncsid\u0027s\nnic-hostful@/nic-hostless@ targets, which it only reaches for dumb\nNICs, pull it in, and gbmc-ncsi-ra@ starts it with --no-block on router\nchanges while ncsid is in one of those modes, so SmartNIC heads never\nrun it and nothing waits for it. The RA interval stays unchanged.\n\nTested: On a SmartNIC head (no persisted gateway), gbmc-ncsi-ra@ncsi\nstarted 3s after networkd (101s), found the NCSI router at 106s and the\nprefix at 110s, while gbmc-ncsi-networkd-wait.target was only reached at\n192s. Verified on both SmartNIC and dumb NIC systems across reboots.\n\nChange-Id: I09db5a527ef762d680188f33630367e45d73528b\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "28aeeeb2bc7b80656053ea26a5589c52aeae8b32",
      "tree": "8077fb3579c2a04248fa5efdaae185799dcc6f85",
      "parents": [
        "d82852ce4b81b39237d94c9269d5e1ea46fea639"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 17 20:11:13 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Solicit RAs when a gbmcbr port comes up\n\ngbmcbr stays up when one of its ports loses its peer (another BMC or\nthe host), so nothing solicited RAs when the peer came back: we only\nheard its prefixes and routes again at our next periodic RS, up to\nGBMC_RA_RS_INTERVAL (30s) later, or later still for its unsolicited RAs.\n\nStart gbmc-br-port-rs@\u003cport\u003e, a oneshot that solicits RAs on gbmcbr 1s\nafter a port gains carrier, retries after 2s and 4s while nobody\nanswers (the peer\u0027s end of a freshly enumerated USB link often joins its\nbridge a moment later), and logs which routers answered. It runs\noutside gbmc-ip-monitor, which starts it with --no-block and never\nwaits for it. USB NCM/ECM ports report operstate UNKNOWN, so go by the\ncarrier in sysfs, and skip the always-up gbmcbr* ports.\n\nAlso use it for the RS on gbmcbr link events, instead of running rdisc6\nsynchronously in the event loop each time; starting it while it still\nruns is a no-op, which limits how often we solicit.\n\nTested: On a head+two-tray system with the hook and unit overridden:\nflapping the head\u0027s port to a tray logged \"port enu1u5u1u2b1 carrier UP\"\nand 2.4s later an RS answered by both trays; flapping a tray\u0027s gusbem0\nlogged an RS answered by the head and the other tray 2.1s later.\nEarlier, during a head reboot, the first RS went out before the head\u0027s\nend of the USB link joined gbmcbr and got no answer, which the retries\ncover.\n\nChange-Id: Idd4bfea6bcd535473f6db882c010777038c3fafd\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "d82852ce4b81b39237d94c9269d5e1ea46fea639",
      "tree": "78412b5e01ad966259d5effa82b2df7bfb8c8a60",
      "parents": [
        "d4d9f4a2474e6539eb31623c4d79b79917c77bc1"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 17 20:11:12 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Keep the SLAAC address labels in networkd\n\nThe label 99 for each /80 we autoconfigure an address in from gbmcbr RAs\nwas only added to the kernel when the address was first added, and\nnothing put it back if it went missing. The network tests found it\nmissing on several heads after boot while the addresses were there,\nwhich lets the SLAAC address win source selection for global\ndestinations.\n\nDeclare it in the same networkd drop-in as the address, so networkd\nre-adds it on every gbmcbr reconfigure. networkd labels are per link,\nso scope our own add and delete to gbmcbr as well, keeping a single\nlabel entry. networkd accepts finding the label already present.\n\nTested: On a tray BMC the drop-in gets the [IPv6AddressLabel] section;\nafter deleting the label, `networkctl reconfigure gbmcbr` put it back\nas \"dev gbmcbr label 99\" and gbmcbr stayed routable.\n\nChange-Id: I018d44c08d199665e5668ad58c1bff80bde3a5db\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "d4d9f4a2474e6539eb31623c4d79b79917c77bc1",
      "tree": "70c09fa3254377da5698a2b3f936a2bf98ae58ee",
      "parents": [
        "95fe730bb6d24bc0c89361583906c421c28f9a6c"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 17 00:31:33 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Write /run/gbmc-br-ip atomically\n\ngbmc_br_set_ip wrote /run/gbmc-br-ip in place, so a concurrent\ngbmc_br_get_ip could read it empty and treat the BMC as having no\nprimary address. Write it through gbmc_net_write_if_changed like\n/var/google/gbmc-br-ip, which writes a temporary file in the same\ndirectory and renames it over the target, so readers, and the file left\nafter a power loss, only ever hold the old or the new contents.\n\nDocument that the helper is the one to use for persistent files.\n\nTested: Unit tests and shellcheck pass. On a BMC, the helper writes and\nremoves files under /run and /var/google, returning 0 for a new write\nand 1 for unchanged contents, and leaves no temporary files behind.\n\nChange-Id: I1d0c3165d18faa4d8ee9ee192f0f3e2ce6b64756\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "95fe730bb6d24bc0c89361583906c421c28f9a6c",
      "tree": "c35b1a44b53ecf5ebc888a7cde0b465938f06356",
      "parents": [
        "93f905b8731ea882b820dea4ff6a3dff3a8acc34"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Fri Oct 16 01:03:13 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-ncsi-config: Follow the uplink table on re-enumeration\n\nThe policy rules of an uplink allocation send traffic from it through the\nuplink\u0027s routing table, 1000 + ifindex, and make it unreachable\notherwise. gbmc-ncsi-br-deprecated-ips only rewrote them when the\nallocation moved to an interface with a different name. A USB NIC that\nre-enumerates keeps its name but gets a new ifindex: if gbmc-ncsi-ra\nrestarts it rewrites the gateway for the new table while the rules kept\npointing at the old, now empty, table; conversely, if the link flaps so\nfast that gbmc-ncsi-ra stays running across the re-enumeration, the\nrules move to the new table while gbmc-ra ignores subsequent RAs from\nthe same router and leaves 10-gateway.conf pointing at the old table.\nEither way, everything sourced from the allocation hits the unreachable\nrule and the BMC is only reachable over link-local.\n\n- In gbmc-ncsi-br-deprecated-ips, remember the table each allocation was\n  configured with, rewrite the rules when it changes, and recheck the\n  allocations of an interface when it is (re)added.\n- In gbmc-ncsi-usb, use `systemctl restart --no-block` instead of\n  `start` when the USB NCSI link is added so a rapid delete/add restarts\n  gbmc-ncsi-ra on the new ifindex.\n- In gbmc-ra, track the route table (old_rt) alongside old_rtr and\n  old_mac, and re-run update_rtr when any of them changes on the current\n  router (including non-fe80::1 routers).\n\nTested: Ran the hook with stubbed ip/networkd helpers: adding the\nallocation on ifindex 14 writes table 1014; recreating the interface as\nifindex 19 removes the 1014 rule and writes 1019; further link events\nchange nothing. Verified gbmc-ra re-runs update_rtr when the interface\nroute table changes for the same router.\n\nChange-Id: Ib594269e98e63e1a056b5d82a066a564c43fc1c2\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "93f905b8731ea882b820dea4ff6a3dff3a8acc34",
      "tree": "09b3f96fa7f0f93efb3c4c71af7b89ea9c58ffa1",
      "parents": [
        "d5b78c397a0c309011258c09c9429eed7cfa0a9c"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 15 07:11:18 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-nic-config: Add phytool to RDEPENDS\n\nInclude phytool on systems with external NICs so MDIO/MII registers on\nthe local PHY or on-board Ethernet switch can be inspected and toggled\ndirectly from the BMC. This allows diagnosing link state and testing\nphysical carrier flaps and uplink failover (e.g. powering down a PHY or\nswitch port via BMCR) without needing direct control of the upstream\nswitch.\n\nTested: Verified phytool can read and toggle PHY/switch port registers\nto trigger carrier loss and recovery during uplink failover testing.\n\nChange-Id: Ia32ce6e0d3f1b305993247f4954644dd0ea53d13\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "d5b78c397a0c309011258c09c9429eed7cfa0a9c",
      "tree": "23400eacda41bd5fc5621907b44a0c1da6887c73",
      "parents": [
        "14e9f98c03b213500e81be8c12b3bc3376274cc6"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Wed Oct 14 21:23:56 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-net: Keep uplink allocations on their own uplink\n\nEvery uplink allocation (the /64 behind a NIC or front link, the /76 behind\nNCSI) only has a single path out of the BMC, through its own uplink. There\nis no failover between these paths, the only failover is in picking the\nsource of the default routes.\n\nThe per-interface From\u003d rule sends traffic from an allocation into the\nuplink\u0027s table, but networkd removes the routes there when the uplink loses\ncarrier. The lookup then fell through to the main table, so the traffic\nleft through a default route of another uplink, or back over gbmcbr to a\nBMC that routes it straight back to us when the allocation is a gbmcbr\ngateway\u0027s /80, looping until the hop limit runs out.\n\nEnd the lookup for traffic from an allocation with an unreachable rule\nright after the per-interface rules (priority 1999), so it is only ever\nsent out its own uplink and dropped while that is down. To\u003d rules still\ncome first, so traffic to the other BMCs on gbmcbr and to our own prefixes\nkeeps working from these addresses.\n\nTested: Unit tests. Ran a 583-flow network test suite on 9 machines:\nstandalone heads, head+tray, head+2 trays, and two head+tray machines\nwith front links shut on the switch (both the head\u0027s and the tray\u0027s, or\nonly the tray\u0027s). All flows pass, and every flow from outside to an\nallocation behind a downed link is unreachable. On every BMC each\nallocation rule is followed by the unreachable rule, and traffic\nsourced from a downed allocation is rejected on the tray instead of\nlooping between the head and the tray.\n\nChange-Id: Idcd8a4fd244ec5b5d2ccc462b7c43fafe6322e68\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "14e9f98c03b213500e81be8c12b3bc3376274cc6",
      "tree": "951fd4b00a3cc49b2e013525e16e14b135615023",
      "parents": [
        "afd4dfb98de9a7eb61c49aa61052d34ff67d07fe"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Tue Oct 13 16:28:36 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-nic-config: Add gbmc-nic-cn unit tests\n\nCover adding, removing and changing the gbmcbr /64 address, re-adding\nthe proxies on carrier up, and removing the config of an address that\nwent away while gbmc-ip-monitor wasn\u0027t running. Check that both the\ngbmcbr and the NIC drop-ins go away with the address.\n\nTested: gbmc-nic-cn-test.sh passes.\n\nChange-Id: Id8dbbded230a4b93bb380b10e3da9c9c8d059ae9\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "afd4dfb98de9a7eb61c49aa61052d34ff67d07fe",
      "tree": "09a73f588a3c21257a12b6fdd268cd3f36cd3421",
      "parents": [
        "30b857cd1efb62c41b6a8c0467338c10d88d4ca0"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Tue Oct 13 16:27:46 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-nic-config: Drop stale neighbor config on restart\n\ngbmc-nic-neigh only removes the proxy NDP and policy rule drop-ins of\nthe NIC links, and its nftables rules, when it sees our gbmcbr /64\naddress go away. If that happens while gbmc-ip-monitor isn\u0027t running,\nthe config for the old address stays, and networkd keeps applying it\nevery time it configures the NIC links.\n\nRemove it at startup when we have no gbmcbr /64 address.\n\nTested: Unit test in gbmc-nic-neigh-test.sh.\n\nChange-Id: Ibff9ece883125fbecccd30c6733ff10b9e344217\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "30b857cd1efb62c41b6a8c0467338c10d88d4ca0",
      "tree": "b0c7b4addd1d1d9275ea621463cbcc2e64b7cd02",
      "parents": [
        "64ee546aa9af4ac68e99edf0ac341e73d6d89d99"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Tue Oct 13 16:40:31 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Add gbmc-br-gw-src unit tests\n\nNothing covered gbmc-br-gw-src so far. Add a unit test that runs the\nhook against a scratch root with ip(8) and the gbmc-ip-monitor helpers\nmocked, covering:\n- The tray metric mapping and the /124 advertisement encoding round\n  trips, including prefixes from heads predating the encoding.\n- A same metric route replace without a delete event leaving a single\n  route key.\n- Disabled routes only coming back while networkd still configures\n  them, and picking up the gateway drop-in routes missing at startup.\n- The NIC address mapping and its NCSI fallback.\n- Withdrawing advertisements right away for linkdown routes, after the\n  grace period for missing ones, and picking up the ones a previous\n  instance advertised.\n\nRun it from do_compile like gbmc-ip-monitor does.\n\nTested: gbmc-br-gw-src-test.sh passes, shellcheck clean.\n\nChange-Id: I6e47ab16c5b340e8333ce74a42a091031bbc1344\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "64ee546aa9af4ac68e99edf0ac341e73d6d89d99",
      "tree": "4027d1470c8d1a8d2c90aece0db3c050681b0df9",
      "parents": [
        "f093629a4543eafe1d54081231bfaa9cd5d184eb"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Mon Oct 12 20:46:59 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Add policy rules for RA /80 prefixes on gbmcbr\n\nWhen a peer BMC on gbmcbr advertises an on-link stateless /80 prefix or\na gateway /80 route (such as a tray\u0027s OOB /80 or a head\u0027s OOB and NCSI\n/80 prefixes), two routing issues arise on multi-uplink systems:\n\n1. East-west traffic between BMCs sourced from an address covered by a\n   local uplink\u0027s From\u003d rule (priority 1000 + ifindex) matches that rule\n   first and is sent out the physical uplink to the ToR instead of staying\n   on gbmcbr, unless a higher-priority To\u003d rule directs the peer\u0027s /80\n   to the main table.\n2. When external traffic reaches a BMC over gbmcbr using a peer BMC\u0027s\n   /80 prefix (for example, reaching the head via a tray\u0027s OOB /80, or\n   reaching a tray via the head\u0027s OOB or NCSI /80), the reply is sourced\n   from that /80 address. Without a From\u003d rule on gbmcbr for the peer\u0027s\n   prefix, the receiving BMC routes the reply out its own default route\n   instead of returning it symmetrically through gbmcbr to the BMC that\n   owns the prefix.\n\nA single gbmcbr routing table isn\u0027t enough when several BMCs on gbmcbr\nroute for different prefixes (e.g. two expansion trays with their own\nuplinks), as each prefix has to return through the BMC that owns it.\nGive every gateway on gbmcbr its own policy routing table (3000..3999),\nholding a default route through it. The gateway \u003c-\u003e table mapping is\nonly kept in memory, gbmc-ip-monitor now replays the routes of all\ntables at startup so the existing tables are recovered.\n\nIn gbmc-br-from-ra.sh, track both on-link /80 prefixes and gateway /80\nRA routes on gbmcbr, and for each one configure in 65-ra-addrs.conf and\nvia ip(8):\n- [Route] on gbmcbr (on-link or via the advertising gateway) with metric\n  GBMC_ROUTE_METRIC_ONLINK (512)\n- [RoutingPolicyRule] To\u003d\u003cpfx\u003e/80 Table\u003dmain Priority\u003d1000\n  (GBMC_INTF_ROUTE_TABLE_BASE), ahead of per-interface From\u003d rules\n- [RoutingPolicyRule] From\u003d\u003cpfx\u003e/80 Table\u003d\u003cgateway table\u003e Priority\u003d2000\n  (GBMC_BR_RA_RULE_PREF), after local physical interface From\u003d rules\n  (1001..1999) so the BMC owning the uplink still routes its own prefix\n  out that uplink while peer BMCs route replies back through gbmcbr\nOn-link prefixes are matched to the gateway advertising the /80 route\nor default route advertisement in the same /64.\n\nIn gbmc-br-gw-src.sh.in, also add From\u003d\u003csrc\u003e/80 Table\u003d\u003cgateway table\u003e\nPriority\u003d2000 in 75-gw-src.conf for any root or subordinate-root /128\nsource address used by a default route over gbmcbr, and offset the tray\nmetrics of each gateway so equal routes from several BMCs coexist.\n\nFrom\u003d rules are replaced by selector rather than by table, and the\nstale gateway table rules of a previous instance are flushed at\nstartup, so rules from an old mapping never linger.\n\nThe RA prefixes and routes are only dropped once they stay gone for a\ngrace period, which is now handled by new gbmc_ip_monitor_grace_*\nhelpers in gbmc-ip-monitor.sh.\n\ngbmc-br-ra no longer installs any gbmcbr gateway routes and removes the\nones (and the cached router) left by previous versions, so gbmc-ra.sh\nnow ignores empty cached router files.\n\nTested: Ran a 309-flow network test suite on 7 machines (four\nstandalone heads, two head+tray machines where the tray has its own\nuplink, and a head with two accelerator trays), covering all /128 and\n/80 addresses from external, IMC, ACC, east-west and host CN ingress\npoints. Ran it once with the trays on the previous release and\nonce with every BMC updated; all flows succeed and take symmetric\nrequest and reply paths (nftrace). Verified that each gateway on gbmcbr\ngets its own table (3000) with From\u003d rules on both the head and the\ntray, and that no rules or tables from the previous scheme remain.\n\nChange-Id: Id847e3401ff41c1a791ea959ad7355abddcc8c1b\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "f093629a4543eafe1d54081231bfaa9cd5d184eb",
      "tree": "a3b08f7e625b807d1994d5f431074f6202607907",
      "parents": [
        "50e903e6b20324d5c4d1a49c877eda0494faf69f"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sun Oct 11 10:24:34 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-mac-config: Deprecate gbmcdhcp ULA and omit prefix route\n\nWhen the DHCP relay is enabled (GBMC_DHCP_RELAY\u003d1), gbmcdhcp is a veth\nwhose peer gbmcbrdhcp is enslaved to gbmcbr. Its\nfdb5:0481:10ce:0::/64 ULA was configured with the default\nPreferredLifetime and AddPrefixRoute\u003dtrue, so the kernel installed a\nfdb5:0481:10ce::/64 dev gbmcdhcp prefix route next to the one on gbmcbr.\nBoth have metric 256, so whichever was added first won.\n\nWhen the gbmcdhcp route won, ULA traffic to peer BMCs on gbmcbr left\nthrough gbmcdhcp, sourced from the gbmcdhcp ULA. The replies came back\nto gbmcdhcp, where gbmc_br_dhcp_input drops everything but DHCPv6\n(udp/547) and ICMP, so ULA connections to peers failed.\n\nSet PreferredLifetime\u003d0 and AddPrefixRoute\u003dfalse on the gbmcdhcp\n10-ula.conf drop-in, so the address is deprecated and is no longer\npicked as a source, and gbmcbr is the only route to the ULA /64.\n\nTested: Verified on standalone and multi-node BMCs that\nfdb5:0481:10ce::/64 routes exclusively over gbmcbr and the gbmcdhcp ULA\nis marked deprecated.\n\nChange-Id: I4c2c4ab43f96d25973c9b75cbb0c4ed9bb9b3240\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "50e903e6b20324d5c4d1a49c877eda0494faf69f",
      "tree": "72365551e534f0cf66df20adb1d0da21e8efefca",
      "parents": [
        "3099703205ae860ca87341458947ec7e72b1bc8f"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Tue Oct 27 23:40:16 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Use DSCP bit 0x04 to tag internal gbmcbr traffic\n\nPreviously, gbmc-br-nft.sh watched global /64 addresses added to gbmcbr\nand generated /run/nftables/40-gbmc-br-int.rules to allow traffic from\nthe machine\u0027s /64 prefixes in gbmc_br_int_input, alongside a static\ngbmc_br_int_addrs set for link-local, multicast, and ULA prefixes. That\ndynamic /64 prefix matching could not distinguish packets arriving on\ntrusted internal bridge ports from packets arriving on external uplinks\nusing the same /64, and missed additional prefixes routed across the\ninternal bridge fabric.\n\nReplace dynamic /64 IP-prefix tracking (gbmc-br-nft.sh) with\ninterface-based DSCP bit 0x04 (@nh,7,1) packet tagging in\n50-gbmc-br.rules.in, parameterized by GBMC_BR_INT_IFS, while retaining\ngbmc_br_int_addrs (ff00::/8, fe80::/64, fdb5:0481:10ce::/64) and\ngbmc_br_int_input as a fallback when paired with an older BMC:\n- Set @nh,7,1 \u003d 1 on bridge prerouting from GBMC_BR_INT_IFS and on local\n  inet output to gbmcbr/gbmcdhcp.\n- Clear @nh,7,1 \u003d 0 on bridge postrouting to GBMC_BR_INT_IFS, on traffic\n  forwarded onto or off of gbmcbr/gbmcdhcp, and when accepted in\n  gbmc_br_input, so the tag never leaks onto external wires or to local\n  sockets. Local traffic on other links keeps its DSCP.\n- Match @nh,7,1 \u003d\u003d 1 directly in gbmc_br_input and remove\n  gbmc-br-nft.sh, while keeping gbmc_br_int_input for multicast,\n  link-local, and internal ULA traffic from untagged peers.\n\nThe tag marks a frame as trusted while it is on the gbmcbr segment, so\nevery gbmcbr port must either face a gBMC running this firmware or be\nlisted in GBMC_BR_INT_IFS, which has to cover every port facing a peer\nthat doesn\u0027t tag (e.g. a host or NIC bridged into gbmcbr). Untagged\ntraffic from an unlisted port is only accepted when it is established,\nICMPv6, or in gbmc_br_int_input / gbmc_br_pub_input, and a listed port\nfacing a gBMC strips the tag from our traffic to it. This is documented\nnext to GBMC_BR_INT_IFS.\n\nAs the bit is reused, traffic routed between gbmcbr and other links\nloses DSCP bit 0x04 (e.g. EF becomes 42).\n\nTested: Verified nftables ruleset generation with and without\nGBMC_BR_INT_IFS. Ran a 309-flow network test suite on standalone,\nhead+tray and head+two-tray systems, once with the trays on the\nprevious release and once with every BMC updated, and verified with\nnftrace that internal bridge traffic is tagged with DSCP 0x04 and that\nexternal and forwarded traffic is accepted or rejected as expected.\n\nChange-Id: I1b23572f39ea071325ad2619312a57e9a2d26970\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "3099703205ae860ca87341458947ec7e72b1bc8f",
      "tree": "ff94ee5891387d8f4730b78bb26d9ca6785d22db",
      "parents": [
        "d35e977c49ec0ab794e898c3d95880bc2fb88833"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 10 22:34:51 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Keep routes through other BMCs on gbmcbr\n\nThe default routes through the head on a tray, and through a tray on the\nhead, are only installed with ip(8). networkd treats them as foreign\nroutes and flushes them every time it reconfigures gbmcbr, which happens\nwhenever any gbmcbr drop-in changes. gw-src puts them back a second or\nmore later, leaving a tray without a way out and a head without its\nfallback through a tray uplink in the meantime.\n\nWrite them to the gw-src gbmcbr drop-in and install them as proto static\nroutes matching it, so networkd keeps them. Every add, removal or source\nchange of such a route now rewrites that drop-in, which reconfigures\ngbmcbr and so flushes its RA learned routes until the next RA, which\nnetworkd solicits right away. GBMC_BR_RA_GRACE rides that out.\n\nTested: On a head+tray system where the tray has its own front panel\nuplink, forced networkd to reconfigure gbmcbr and the uplinks on the head\nand the tray. Before, a gbmcbr reconfigure dropped the head\u0027s routes\nthrough the tray for 8s and the tray\u0027s routes through the head for 1s.\nAfter, none were deleted. Also unit tested with a stubbed gw-src hook\nwithdrawing a route through the head, checking the drop-in and the route\ncleanup.\n\nChange-Id: If73fa4630d0e0417b12eb8bdf084e973e15dc96b\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "d35e977c49ec0ab794e898c3d95880bc2fb88833",
      "tree": "baad8f637e8e215eb006c2be41804262db1d620b",
      "parents": [
        "c3701db550ae1db3853dcb3789f1b246c4f2c76b"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 10 22:34:50 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Keep route sources across networkd reconfigures\n\nnetworkd only keeps a route it configured when it reconfigures the\ninterface if the kernel route still matches the [Route] exactly,\nincluding the protocol and the preferred source. gbmc-ra writes its\ndefault routes without a source and gw-src adds the source afterwards\nwith ip(8), which also turns them into proto boot routes. So every\nreconfigure of an uplink removes the route and adds it back without a\nsource, and the kernel sources front panel traffic from whatever address\nit likes, e.g. the NCSI fd01:: address, until gw-src puts the source\nback. The primary (metric 700) route is only installed with ip(8), so\nnetworkd flushes it as a foreign route on every reconfigure. Updating\nthe source of the 1800 fallback also took the primary route down, as any\nroute through the same router removed it.\n\nSave the source gw-src picks for each gbmc-ra route and write it into\nthe gateway drop-ins as PreferredSource\u003d. gbmc-ra applies the saved\nsources whenever it rewrites its drop-ins and installs its routes as\nproto static with the source, and gw-src sets the source as proto static\ntoo. The primary route goes into a gw-src drop-in on its interface. Only\nthe routes the primary route is made from remove it, and it is made from\nthe lowest metric route sourced from the primary IP. A route disabled\nfor lack of a source is only brought back if networkd still configures\nit, rather than whenever the interface table still routes through its\ngateway, which gbmc-ra keeps after dropping a router.\n\nTested: Unit tests for the drop-in helpers and a stubbed gw-src hook.\nOn head+tray systems with NCSI and front panel uplinks, forced networkd\nto reconfigure each uplink and gbmcbr by adding a drop-in and reloading.\nBefore, a head lost its primary route for 12s on a front0 reconfigure.\nAfter, no default route was deleted and all kept their source.\n\nChange-Id: If4bc916efb0867705250d25db4470795018593d2\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "c3701db550ae1db3853dcb3789f1b246c4f2c76b",
      "tree": "7d44283c908a3e4e2abf18998d2f1beaf483681b",
      "parents": [
        "b8207071d008366a307df488d5396cbe34eb5db1"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 10 19:29:13 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-nic-config: Keep CN proxies on the NIC links\n\nThe CN addresses are proxied on the NIC interfaces, but the networkd copy\nof the proxy config was written to the gbmcbr drop-in, so networkd put\nthem on gbmcbr and never on the NIC. The proxies on the NIC were only\nadded with ip(8) when our gbmcbr address changed, so a carrier flap on\nthe NIC, which flushes them, left the CNs unreachable through the BMC\nuntil the address changed again.\n\nWrite the proxy config to the NIC interfaces\u0027 drop-ins so networkd owns\nit, put the proxies back as soon as the NIC regains carrier, and remove\nthem and the route when the address goes away. As networkd now keeps\napplying this config, also remove it at startup when the address went\naway while gbmc-ip-monitor wasn\u0027t running. Also fix the stderr redirect\nof the route add, which wrote to a relative dev/null.\n\nTested: Stubbed the hook to check the drop-ins land on the NIC links, the\nproxies are re-added on carrier up and everything is removed on delete.\n\nChange-Id: Ib12374f53585aa7c8610e3bf584188315eb645d7\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "b8207071d008366a307df488d5396cbe34eb5db1",
      "tree": "79efbbf7c0bf4ba15f0085a79f27fb76791ff8b1",
      "parents": [
        "67f237c9f9c7902df5a5c8c8aa30836827f3f0cf"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 10 19:25:56 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: ncsi: Give USB NCSI links their own network file\n\nUSB NCSI links are matched by the shared -bmc-gbmcncsiusb.network, so the\nper-interface drop-ins written to -bmc-\u003cintf\u003e.network.d never apply. That\nis where the RA gateway routes, proxy NDP and policy rules for the link\nlive, so they only exist because they were also applied with ip(8).\nnetworkd treats them as foreign and drops them, and resets proxy_ndp,\nwhenever it reconfigures the link on a restart or a carrier change. The\nRA handler only reinstalls its routes when the router changes, so a BMC\nwhose only uplink is a USB NIC loses its way out until the router\nexpires.\n\nWrite a /run/systemd/network/-bmc-\u003cintf\u003e.network for each USB NCSI link\nwhen it shows up, with the same settings as the shared file, and remove\nit when the link goes away. It sorts before the shared file, so networkd\nuses it for the link and applies the drop-ins, keeping the routes and\nproxy NDP across reloads, restarts and carrier changes like the ncsi\nlink.\n\nTested: On a system whose only uplink is a USB NIC, a networkd restart\nand a link flap no longer drop the default routes or proxy_ndp.\n\nChange-Id: Ifbf43b14b9d4a499426c8770543a75c9e7f91205\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "67f237c9f9c7902df5a5c8c8aa30836827f3f0cf",
      "tree": "32c6b8343f874ba3e69e27aed8dc679d045d2428",
      "parents": [
        "b58afb675562afb5b9e3844242cc4bcea6fa0956"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 10 22:33:34 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: networking: Only rewrite network config that changed\n\nsystemd-networkd reconfigures the interfaces of every .network file\nwhose mtime or inode changed on its next reload, even when the contents\nare the same. Several scripts rewrote their .network, .netdev, .link,\ndrop-in and nftables files unconditionally and in place, causing\nunnecessary reconfigures on reload and risking partial reads.\n\nAdd gbmc_net_write_if_changed, gbmc_net_rm_if_exists and\ngbmc_net_networkd_write_dropin to gbmc-net-lib.sh and use them across\nthe networking and ncsi scripts. They write through a .tmp.$BASHPID file\nwhen the contents change, remove files when the contents are empty, and\nautomatically reload networkd or nftables when a file under\nsystemd/network or nftables is written or removed. The temporary file\nis never read, as networkd only loads files ending in .network,\n.netdev, .link or .conf, and nftables only includes *.rules.\n\nSeveral scripts reloaded networkd only when an ip(8) command failed.\nSuch a reload never changed anything, as networkd only reconfigures the\nlinks whose config changed, so drop it and leave the reloads to the\nfile writes. Add gbmc_net_proxy_ndp_add and gbmc_net_rule_replace for\nthe proxy NDP and policy rule updates that these scripts repeat.\n\ngbmc-ra used to apply its gateway drop-ins only with ip(8) and never\nreloaded networkd, as the reload \"can break phosphor-networkd\". Its\ndrop-ins now go through the same helpers, so networkd reloads when they\nchange, i.e. when the router changes, and reconfigures RA_IF. This is\nthe same plain reload that phosphor-networkd itself requests whenever\nit writes its config. Without it the new drop-ins sat unapplied until\nthe next unrelated reload reconfigured RA_IF anyway, at an arbitrary\ntime.\n\ngbmc-nic-devlab-config now writes its files under /run rather than /etc\nwhen GBMC_AVOID_RWFS is set, like the other scripts.\n\nTested: Unit tests in gbmc-net-lib-test.sh and gbmc-nic-neigh-test.sh.\n\nChange-Id: Ibf6e0375e42467c46f61f8ec76f2a33d7ec1db48\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "b58afb675562afb5b9e3844242cc4bcea6fa0956",
      "tree": "562415c7385fce1575d31f4c955699e6fa65708b",
      "parents": [
        "ae9a1ddb11ae2e9d1689ea9edcc6454f8317a215"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 10 01:28:16 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:57 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Move l2br routes past the head fallbacks\n\nThe l2br RA routes on a tray are deprioritized to 2048 once the head\nstarts advertising routes, from when every route through the head was\ninstalled at 2000. The head now advertises each of its uplinks with its\nmetric and the tray maps the cached fallback uplinks to 2080 and 2090,\nwhich 2048 no longer clears, so a tray whose head only had a cached\ngateway would route out l2br instead of through the head.\n\nDefine the l2br metric from the tier of the routes through the head,\nwhich top out at twice the 1000 fallback offset plus 99, as 2500, so it\nstays well past every one of them.\n\nTested: gbmc-net-lib unit tests pass, shellcheck clean.\nChange-Id: Id43ab682b58805074b81400518b451996114f391\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "ae9a1ddb11ae2e9d1689ea9edcc6454f8317a215",
      "tree": "f17a239faf4a33de79beb4dd39b512caf9dca54c",
      "parents": [
        "26223c68b12f7cb6797db1702a552dde8da5fdd9"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:23:03 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:22 2026 +0000"
      },
      "message": "meta-google: gbmc-net: Consolidate route metrics and RA timers\n\nCentralize and document the route metric hierarchy, SLAAC address\nselection label, and RA discovery, lifetime, and reconfigure grace\ntimers in gbmc-net-lib.sh so their relationships and ordering are\ndefined in one place instead of duplicated as literals across the\nbridge, NIC, and NCSI scripts.\n\nCollapse the three 5s networkd reconfigure grace period variables\n(GBMC_BR_FROM_RA_GRACE, GBMC_BR_GW_SRC_ADV_GRACE, and\nGBMC_BR_GW_SRC_BR_GRACE) into a single GBMC_BR_RA_GRACE constant.\n\nTested: gbmc-ip-monitor, gbmc-net-lib, gbmc-nic-neigh, and network-sh\nunit tests pass, shellcheck clean.\n\nChange-Id: I9e27dfdd672ad2c138408391119bbb2a5eed4668\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "26223c68b12f7cb6797db1702a552dde8da5fdd9",
      "tree": "e38d0e07e115dbde8bcab6dbd0bfd6835c28146a",
      "parents": [
        "33344d464c4dc7bdf682a30082c45a8cfa2efa69"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Mon Oct 05 22:06:06 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:07 2026 +0000"
      },
      "message": "meta-google: ncsi: Record the NCSI derived gbmcbr IP at runtime\n\nLegacy BMCs get their address from the host on every boot and derive the\ngbmcbr address from it, but only load it into networkd. gbmc-br-dhcp-term\nonly stops the DHCP client once gbmc_br_get_ip has an address, so these\nBMCs looked unassigned and kept soliciting forever, as is intended only\nfor BMCs without an explicit assignment.\n\nRecord the derived address in /run/gbmc-br-ip. When the NCSI address\ngoes away, only remove the record and the runtime address if they are\nstill ours, leaving any address gbmc-br-dhcp assigned or\ngbmc_br_reload_ips loaded alone. It can\u0027t go through\n`GBMC_AVOID_RWFS\u003d1 gbmc_br_set_ip`, as its hooks remove the host\nprovisioned NCSI network file that the address is derived from. For the\nsame reason the external GBMC_BR_LIB_SET_IP_HOOKS don\u0027t run for it.\n\nAs gbmc_br_get_ip now returns the derived address, gbmc-br-gw-src also\ntreats it as our primary address and builds the primary default route\nfrom it.\n\nTested: On a host-provisioned NCSI BMC, gbmc-br-dhcp-term stops the DHCP\nclient once the derived address is reachable.\n\nChange-Id: Id3ffda22a7bd1df5cac675bb0bbb12a28d84ddf3\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "33344d464c4dc7bdf682a30082c45a8cfa2efa69",
      "tree": "57d61cd91ee77393e61c0ba91d8c876657dcca0d",
      "parents": [
        "9adb3e4ff30187858025441cac58c32016f09aec"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Mon Oct 05 05:38:34 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:59:07 2026 +0000"
      },
      "message": "meta-google: ncsi: Only clear persisted gateways when needed\n\nClearing DefaultGateway6 makes phosphor-networkd rewrite its config\nfile on every router update, even when no gateway was persisted. When\nthe RWFS is read-only the write fails and phosphor-networkd exits.\n\nOnly clear the gateway when the config file has one and is writable.\n\nTested: Clears on a BMC with a persisted gateway, skips otherwise.\n\nChange-Id: If669eaa7e8432464b7cf3e6613c0f655273f3288\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "9adb3e4ff30187858025441cac58c32016f09aec",
      "tree": "9ffbbe1cd7275621b2c08c44cb5d2aeb1fb86104",
      "parents": [
        "5215c5f222c1205e4153633f5fccac2d249629e3"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 03 16:25:47 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:22:27 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Disable default routes without a source\n\nA main table default route on an uplink none of our addresses can source\nfrom, e.g. the front panel before DHCP hands out an address, was left\nwithout a source. The kernel then picks whatever address it likes, like\nthe NIC address, and sends it out of that uplink where it is dropped.\nThese routes also take precedence over working ones, so all of our own\ntraffic was lost.\n\nRemove such routes and put them back with a source once one shows up, as\nlong as the interface still routes through the same gateway. If their\nowner puts them back without a source, e.g. on a networkd reconfigure,\nthey are removed again.\n\nTested: On a head without a front panel address, its 800/1800 routes\nwere removed. Adding an address brought them back with it as the source,\nremoving it removed them, and both held across front panel and gbmcbr\nreconfigures.\n\nChange-Id: I174b09786900266be27334a25809b3cbebc9d92f\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "5215c5f222c1205e4153633f5fccac2d249629e3",
      "tree": "d6d504d4ad13e81c8ffb2302f5f605fc296be5c5",
      "parents": [
        "97261fdbdf3a4a0b17dac3f25ed192f000a4c75f"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:22:27 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 17:22:27 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Advertise all default routes to trays\n\nThe head BMC used to advertise a single /124 route prefix on gbmcbr\nholding the source of its preferred default route, and trays always\nrouted through the head with the fixed 1000/2000 metrics from\ngbmc-br-ra. Trays had no idea which uplinks the head actually had, so\nthey couldn\u0027t fall back to a different source when the preferred path\nwent away, and kept sourcing from a /64 the head could no longer reach.\n\nInstead, advertise a /124 for every usable default route on the head\n(not through gbmcbr, not dead or linkdown, with a source). The first 64\nbits are those of the route source and the upper 12 bits of the last\nhextet hold the route metric (0..4095), e.g. 2002:a05:66d0:476a::3200/124\nfor a front panel route sourced from 2002:a05:66d0:476a::. The /124 only\nclears the last nibble, which is always 0. Advertisements now use the\nsame GBMC_BR_RA_LIFETIME (120s) as everything else we advertise instead\nof 90s. Routes we stop advertising are advertised with a zero lifetime\nfor that long, as RAs just leaving them out don\u0027t remove them. A route\nthat goes missing is still advertised for 5s before it\u0027s withdrawn, as\na networkd reconfigure of an uplink briefly replaces its default routes\nwith ones we have to give a source again. Linkdown routes are withdrawn\nright away.\n\nTrays install a default route through the head for each one, sourced\nfrom their gbmcbr address in the same /64, mapping the head metric into\nstrata below their own uplinks:\n  700 (primary)        -\u003e 1070\n  800 (front panel)    -\u003e 1080\n  900 (NCSI)           -\u003e 1090\n  1800 (front fallback) -\u003e 2080\n  1900 (NCSI fallback)  -\u003e 2090\nPrefixes from heads predating the encoding get the old 2000 metric.\n\nnetworkd flushes RA learned routes whenever it reconfigures gbmcbr, until\nthe next RA, which it solicits right away. So an advertisement is only\nforgotten once its /124 has stayed gone for 5s, either because the head\nadvertised it with a zero lifetime or because its lifetime ran out.\nInstalled routes through the head are put back if something removes\nthem.\n\nThe 1000/2000 main table routes from gbmc-br-ra are redundant with the\nstrata, so gbmc-ra.sh now allows an empty ROUTE_METRIC to only install\nthe interface table route and gbmc-br-ra uses it.\n\nTested: Unit tested the encoding, strata mapping and route installation.\nHeads advertised all of their default routes and trays, including both\ntrays of a two-tray machine, installed the matching strata. With the\nhead\u0027s front panel down, trays dropped its strata within 16s and got\nthem back within 45s of it coming back up.\nBrief uplink default route removals no longer withdraw advertisements.\n\nChange-Id: Id4edacf15b26b4434488f334d25378532da6c2b8\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "97261fdbdf3a4a0b17dac3f25ed192f000a4c75f",
      "tree": "3fbbdf9b49d78e18ec037f9dab49afa986b5bbb2",
      "parents": [
        "79589e1b0876626203d4a863d57ed1417d88f794"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Sat Oct 03 05:00:05 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 15:54:12 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Keep NIC addresses on the NIC path\n\nOur addresses in the \u003cpfx\u003e:fd00::/72 the NIC advertises (like the fd01::\nsubordinate root) only belong on the upstream NIC path. Which interface\nan address routes out of was only judged with `ip route get`, which\ndepends on the policy rules sending the NIC prefix out of the NIC. Early\nin boot those don\u0027t exist yet, so whichever front panel default routes\nwere handled then got the fd01:: source, and they kept it after the rules\nshowed up, as a picked source was never revisited. On a head without an\nOOB address the front panel 800 and 1800 routes could end up with\ndifferent sources, so only one of them was advertised to the trays, for\na path the head doesn\u0027t even use for that source.\n\nPin each NIC address to its NIC interface instead: gbmc-ncsi-ra records\nthe prefix for the interface the RA came in on in /run/ncsi-ips/\u003cintf\u003e,\nwhich is matched by its /76 allocation so both the fd01:: and stateless\nfd00:: addresses map to that interface, and without one (e.g. old\nplatforms where the NIC doesn\u0027t send RAs) it is the NCSI interface\n(GBMC_NCSI_IF_NAME). NIC addresses are only considered for default\nroutes on that interface and always on it, and sources that are no\nlonger valid for a route are removed, or replaced without passing the\nold source along.\n\nTested: Unit tested with stubs. On a head without an OOB address, an\nfd01:: source put on the front panel routes was removed, and the NCSI\nroutes kept it.\n\nChange-Id: I31cfa87ee260f731ff8166a238dbd822d10ca3ab\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "79589e1b0876626203d4a863d57ed1417d88f794",
      "tree": "4d8169904a811d17f3fd6ad20b2af3aaac4cba27",
      "parents": [
        "31b0a368d9cd17961aa1517d0d9f3def13fa52c8"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Fri Oct 02 17:46:28 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 15:54:12 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Ignore our own RAs\n\nA BMC that also routes for gbmcbr, like a tray with its own front link,\nadvertises prefixes there. networkd ignores route options from its own\nRAs but not on-link prefixes, so every time gbmc-br-ra solicits RAs our\nown prefixes show up as RA routes. gbmc-br-from-ra then configured an\naddress in one and reloaded networkd. The reconfigure flushed the RA\nroute, so 5s later the address was removed and networkd reloaded again.\nEach reconfigure also flushed the tray default routes over gbmcbr for\nseveral seconds, every 30s.\n\nAdd our own gbmcbr link-local address to RouterDenyList\u003d so networkd\ndrops our RAs entirely. Matching on prefixes isn\u0027t enough, since the\ninband prefixes are shared with the head and other trays.\n\ngbmc-ra.sh also only skipped our own RAs when updating the router, but\nstill recorded us as a router and took our prefix and FQDN. Skip them\nbefore they are recorded at all.\n\nTested: Before, heads added RA addresses from their own RAs with 6-8\nnetworkd reloads after every boot. After, heads add none and trays add\nthe head\u0027s prefix once, on head+tray and two-tray machines.\n\nChange-Id: Iffa6695ebd33b03fbafc60b4258a1a261bf247f9\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "31b0a368d9cd17961aa1517d0d9f3def13fa52c8",
      "tree": "f078fa90fb14ad5f53045cc8d7af80112cf4760d",
      "parents": [
        "f17d72ec09ea539a64592ef64725e0a138f55f0a"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Fri Oct 02 15:56:40 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 15:54:12 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Withdraw gbmcbr prefixes we stop advertising\n\nWhen our gbmcbr addresses change, the /80 route prefix and stateless\nprefix we advertised for the old ones were just dropped from the RA\nconfig. RAs leaving out a prefix don\u0027t remove it, so the BMCs behind\ngbmcbr kept routing to and sourcing from them until the lifetime ran\nout.\n\nKeep advertising prefixes we no longer have with a zero lifetime for as\nlong as the old advertisement could have lasted, which makes networkd\non the other side remove them right away. Withdrawals are written next\nto the IP drop-ins by whatever changes the addresses, and a new\ngbmc-ip-monitor hook cleans them up once they expire.\n\nAlso share the 120s lifetime of everything we advertise, the same as our\nrouter lifetime, as GBMC_BR_RA_LIFETIME.\n\nTested: Unit tested collecting, withdrawing, restoring and expiring\nprefixes with stubs.\n\nChange-Id: I2b1b27b7ab7894f1dd3ec97f0f00ea53340862e5\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "f17d72ec09ea539a64592ef64725e0a138f55f0a",
      "tree": "4fda470fb5eda5ffe0608b97c00b08979afb4b32",
      "parents": [
        "99bd1c9746711ffb00af1e29e427de3e99154dd8"
      ],
      "author": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Fri Oct 02 06:29:33 2026 +0000"
      },
      "committer": {
        "name": "William A. Kennington III",
        "email": "wak@google.com",
        "time": "Thu Oct 29 15:54:12 2026 +0000"
      },
      "message": "meta-google: gbmc-bridge: Update GW sources on policy rule changes\n\ngbmc-br-gw-src picks the source of each default route by looking up\nwhich interface our addresses route out of, which depends on the policy\nrules sending the NCSI /76 to the NCSI routing table. Those rules are\nadded after the NCSI default routes and addresses show up, and nothing\nreported them, so the NCSI default routes were left without a\nsource after boot until an unrelated route or address event came by.\n\nHave gbmc-ip-monitor report rule changes as change\u003drule and re-evaluate\nthe sources a second after the first rule change of a burst.\n\nTested: The NCSI 900/1900 routes, left without a source when the rules\ncame after them at boot, now get one. Unit tested the rule parsing.\n\nChange-Id: Ia381b066788370a30c254914cff86e2b89dee7c6\nSigned-off-by: William A. Kennington III \u003cwak@google.com\u003e\n"
    },
    {
      "commit": "99bd1c9746711ffb00af1e29e427de3e99154dd8",
      "tree": "1c60c0359824d38c13a4a5c3632a7237665e4c8c",
      "parents": [
        "5e89ea624238bbb0438f0323f3020b6b2a8f8d3a"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Thu Oct 29 12:40:10 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Thu Oct 29 15:15:01 2026 +0000"
      },
      "message": "bmcweb: srcrev bump 0128851e73..50887eb9b5\n\nEric Liu (2):\n      IndicatorLED: Remove deprecated property\n      led: Report D-Bus errors for system LED reads\n\nGunnar Mills (1):\n      Skip ProductionDate if BuildDate is empty\n\nJY Voon (1):\n      test: add unit tests for ThermalMetrics handlers\n\nJagpal Singh Gill (1):\n      parsing: increase maxValues to 5000 for telemetry\n\nJoel Pullokaran Jesin (2):\n      Reject Malformed Update Parameters\n      Extract PowerSupply Asset callback\n\nOliver Brewka (1):\n      Handle all dump progress statuses explicitly\n\nShivraj Toravi (4):\n      Add tests for production date report handling\n      redfish: return BootSource enum from dbusToRfBootSource\n      test(redfish): add boot progress parameter tests\n      redfish: Test start update error handling\n\nChange-Id: I468c9536c56c03623626837b7ab23c92ac38c0de\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "5e89ea624238bbb0438f0323f3020b6b2a8f8d3a",
      "tree": "bf5f790c558b84c1ec311f4f61b331d8e492cb55",
      "parents": [
        "f8001a8818a141c10429724c0cdc5f4a19b68fa5"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Thu Oct 29 11:30:04 2026 +0000"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Thu Oct 29 11:30:04 2026 +0000"
      },
      "message": "openpower-vpd-parser: srcrev bump 72fb00631e..cb5fb534c6\n\nSunny Srivastava (1):\n      Document inherit, copyRecords, skipRecords and inheritCI\n\nChange-Id: I85be8668ab0df49b731b9e7659538eb971f8cf52\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "f8001a8818a141c10429724c0cdc5f4a19b68fa5",
      "tree": "6507844b496e1d2f5e207868addb4640747de192",
      "parents": [
        "1dd205b45ce410741c2c593dbd4e7328b42c8dce"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Thu Oct 29 06:30:04 2026 +0000"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Thu Oct 29 06:30:04 2026 +0000"
      },
      "message": "openpower-vpd-parser: srcrev bump e29c0f0eb3..72fb00631e\n\nRekha Aparna (1):\n      Update location code after VPD keyword writes\n\nSouvik Roy (2):\n      types.hpp: change plain enums to scoped enums\n      wait-vpd-parsers: check for vpd-manager exit\n\nChange-Id: I7a5d17d3cf64ffdf4a0e212eb88228ccdd05e62f\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "1dd205b45ce410741c2c593dbd4e7328b42c8dce",
      "tree": "258314e70ab37f01d0c06331ab9a1ba1089c3948",
      "parents": [
        "9b89f1e41c6bfc444a34fc8d3ca5d0d361769351"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Thu Oct 29 03:40:08 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Thu Oct 29 06:00:04 2026 +0000"
      },
      "message": "entity-manager: srcrev bump 93d3a013ac..3c0435d711\n\nPeter Shen (1):\n      schemas: Allow OffsetValue and ScaleValue for TempSensor\n\nChange-Id: I0401a6ec3ae2844ca790def73a8a8f3b617a559b\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "9b89f1e41c6bfc444a34fc8d3ca5d0d361769351",
      "tree": "6cf2adaed5219c7dd695cbc18f919e3d30a1b93d",
      "parents": [
        "7af2de391b5d3a2641c7da7bbed7b9599c92b10e"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 12:10:08 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Thu Oct 29 05:00:01 2026 +0000"
      },
      "message": "phosphor-health-monitor: srcrev bump 292b419cfd..697a567cae\n\nPatrick Williams (1):\n      gitignore: update for vendored wrap files\n\nChange-Id: I75a4a72e0b7d76b16733f7cf26cabd399428c7d9\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "7af2de391b5d3a2641c7da7bbed7b9599c92b10e",
      "tree": "f7a0297b408a5e8d9c86fa95ac9b17aed43f8183",
      "parents": [
        "8801749510a0349d16365179014acaf76f446858"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Thu Oct 29 02:00:10 2026 +0000"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Thu Oct 29 02:00:10 2026 +0000"
      },
      "message": "libpldm: srcrev bump efebb013ba..be4f63e364\n\nAlexander Hansen (1):\n      bindings: cpp: Switch to std::multimap for RecordDescriptors\n\nAndrew Jeffery (1):\n      libpldm: Release v0.18.0\n\nChange-Id: I6f5be0b15fc042659a42a7f3f907acfc54ff6c3f\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "8801749510a0349d16365179014acaf76f446858",
      "tree": "b11383f894bd62f00259202f24d983a26d715438",
      "parents": [
        "9f53237a931f79cccd5d06bd24f74a13a559b326"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Wed Oct 28 20:00:12 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Wed Oct 28 22:45:04 2026 +0000"
      },
      "message": "phosphor-virtual-sensor: srcrev bump 1d80f3fa40..adfb09326b\n\nAmithash Prasad (1):\n      virtualSensor: only look up D-Bus config once\n\nChange-Id: If10a5f5a0a8c1e391cd741f2d2866f2b80679fff\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "9f53237a931f79cccd5d06bd24f74a13a559b326",
      "tree": "ccf37938afec411ae62799799cba3a96a460fbc7",
      "parents": [
        "06cb9b814959374d23c0100fc154dd80a1d9eaef"
      ],
      "author": {
        "name": "Eldin Lee",
        "email": "eldin.lee@quantatw.com",
        "time": "Tue Oct 20 13:33:54 2026 +0800"
      },
      "committer": {
        "name": "Jagpal S Gill",
        "email": "paligill@gmail.com",
        "time": "Wed Oct 28 21:05:23 2026 +0000"
      },
      "message": "meta-facebook: ventura2: improve valve DAC initialization\n\nTrigger initialization when the DAC IIO device appears instead of when\nthe parent I2C client is added.\n\nRemove the forced i2cget probe and rely on sysfs write results. Increase\nretries to 10 attempts at 500 ms intervals and limit service startup\nto 15 seconds.\n\nWrite the target raw value before disabling powerdown. Validate flow\nrates against the 0-333 LPM range, retaining the 150 LPM fallback for\ninvalid settings.\n\nLog the configuration source, target values, retry attempts, and write\nerrors to make initialization failures easier to diagnose.\n\nChange-Id: I8b52ef38f9903d5a1fb09b459a63dd50c753e07f\nSigned-off-by: Eldin Lee \u003celdin.lee@quantatw.com\u003e\n"
    },
    {
      "commit": "06cb9b814959374d23c0100fc154dd80a1d9eaef",
      "tree": "fcfcafcd96be64907482431facfe3611363ed366",
      "parents": [
        "29708c57287baebdac06dbf2343702e45016d83c"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Wed Oct 28 17:30:06 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Wed Oct 28 19:45:02 2026 +0000"
      },
      "message": "entity-manager: srcrev bump 94eff0ac21..93d3a013ac\n\nCarl Lee (1):\n      configurations: anacapa: update MB/PDB sensor thresholds\n\nEnder Hsieh (1):\n      schemas: nvidia: describe MctpVdm devices by kind\n\nRex Fu (2):\n      configurations: anacapa: align EVT cable presence inventory with DVT\n      configurations: anacapa: Remove duplicate E1.S SSD temps\n\nChange-Id: I182d7867346ffbdb6658148a867a3f0f4b223673\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "29708c57287baebdac06dbf2343702e45016d83c",
      "tree": "1f14d91345f860234c35dddf571e9c6bae1d9bd5",
      "parents": [
        "7b69f1f70ba1a7839ed998490982d901f73983cc"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Wed Oct 28 16:50:10 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Wed Oct 28 19:00:01 2026 +0000"
      },
      "message": "libcper: srcrev bump d103d603b5..f4dd700098\n\nMina Yi (1):\n      cper-parse: close the stream in cperbuf_to_str_ir\n\nChange-Id: If620b3682df22a08524b436f2495afc8f111360d\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "7b69f1f70ba1a7839ed998490982d901f73983cc",
      "tree": "3f1bdfc9b7fc0e7fc43182d06513fad3e64eacf3",
      "parents": [
        "613148dd9819eadad328b4d841ca6b9e72b14728"
      ],
      "author": {
        "name": "Sue Wang",
        "email": "sue.wang@quantatw.com",
        "time": "Tue Sep 29 17:17:21 2026 +0800"
      },
      "committer": {
        "name": "Jagpal S Gill",
        "email": "paligill@gmail.com",
        "time": "Wed Oct 28 18:27:06 2026 +0000"
      },
      "message": "meta-facebook: ventura: Add MAC0 config and modify ethernet interface\n\nSince MAC0 is enabled, the related MAC0 configuration needs to be\nadded, and the Ethernet interface setting needs to be modified.\n\nChange-Id: Idfb2f28801e2aa106b619c86e55bf68ea0a381cf\nSigned-off-by: Sue Wang \u003csue.wang@quantatw.com\u003e\n"
    },
    {
      "commit": "613148dd9819eadad328b4d841ca6b9e72b14728",
      "tree": "9d9d354aea337e269003c89391a496f32478cdc3",
      "parents": [
        "5d0d564b72c79513d4f9359558c720a1691333d8"
      ],
      "author": {
        "name": "Carl Lee",
        "email": "carl.lee@amd.com",
        "time": "Mon Jul 27 13:26:56 2026 +0800"
      },
      "committer": {
        "name": "Jagpal S Gill",
        "email": "paligill@gmail.com",
        "time": "Wed Oct 28 17:32:29 2026 +0000"
      },
      "message": "meta-facebook: anacapa: enhance power-good-drop state sync\n\nBMC updates the host power state too late, causing power-on sensors\nto generate incorrect event logs during system power-off.\nTo prevent this issue, update the power state handling flow to ensure\nthe power state transitions before power-on sensor processing occurs.\n\n- Add is_service_busy() to replace fragile systemctl is-active checks\n- Add Conflicts/After between assert/deassert services to prevent races\n- Set CurrentHostState to TransitioningToOff early on power-good drop\n\nChange-Id: I7c7063e2c401413ebe379f8a6dbed6c9d9d0f2fb\nSigned-off-by: Carl Lee \u003ccarl.lee@amd.com\u003e\n"
    },
    {
      "commit": "5d0d564b72c79513d4f9359558c720a1691333d8",
      "tree": "ee5c9312e086e8cacfd1652be476d0dedea28618",
      "parents": [
        "880eaaaa36f58b9852410466fca98b2fb733400a"
      ],
      "author": {
        "name": "Jacky Huang",
        "email": "jackyhuang@nvidia.com",
        "time": "Wed Sep 30 02:11:52 2026 +0900"
      },
      "committer": {
        "name": "Deepak Kodihalli",
        "email": "deepak.kodihalli.83@gmail.com",
        "time": "Wed Oct 28 16:14:53 2026 +0000"
      },
      "message": "meta-nvidia: add vr-c2-obmc\n\nAdd the initial machine configuration for MGX Vera C2, using the\nAspeed AST2600 and the shared VR U-Boot device tree.\n\nThe C2 kernel device tree is not yet available in OpenBMC Linux,\nso use the AST2600 EVB device tree as a temporary build placeholder.\n\nTested: Built obmc-phosphor-image for vr-c2-obmc.\nVerified BMC boot on hardware.\n\nChange-Id: Iaa0fc82a9e182b6975e33d820a880eedb3f5fdea\nSigned-off-by: Jacky Huang \u003cjackyhuang@nvidia.com\u003e\n"
    },
    {
      "commit": "880eaaaa36f58b9852410466fca98b2fb733400a",
      "tree": "bcd87103e398df07b169035fdbf0f9fd002dd6b1",
      "parents": [
        "1605dbd0dc43824517f27f3fddca2a77bf7f1b16"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Wed Oct 21 13:40:14 2026 +0000"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "geissonator@yahoo.com",
        "time": "Wed Oct 28 16:04:38 2026 +0000"
      },
      "message": "x86-power-control: srcrev bump bba731314b..c613ba6c20\n\nJanicki, Bartosz (6):\n      RFC: Move JSON parsing to separate module\n      Parser: Parse event generically\n      Parser: Take config file path\n      Tests: Setup test\n      Tests: Add config parser tests\n      Parser: Reject negative timer values\n\nChange-Id: I70b31d2e9c9bf419b1e698f55a98d48fdae53ddf\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "1605dbd0dc43824517f27f3fddca2a77bf7f1b16",
      "tree": "aeeb43e61df50935c07c5dd154a375a2ff1af96e",
      "parents": [
        "d858dede77e97a353a07ad8b0d0ee57658ac07af"
      ],
      "author": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 07:06:17 2026 -0400"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "geissonator@yahoo.com",
        "time": "Wed Oct 28 16:04:38 2026 +0000"
      },
      "message": "x86-power-control: handle tests\n\nSigned-off-by: Patrick Williams \u003cpatrick@stwcx.xyz\u003e\nChange-Id: I50fc342946955c7bc05b2216ccef14cecb926c1e\n"
    },
    {
      "commit": "d858dede77e97a353a07ad8b0d0ee57658ac07af",
      "tree": "688f0baccbecce2d3736eaa02b075203eaf4926b",
      "parents": [
        "6920eea7c70f550fe96dee79fbfdd2ffa1668462"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Wed Oct 28 13:00:17 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Wed Oct 28 15:30:02 2026 +0000"
      },
      "message": "spdm: srcrev bump 25bb9611ea..9cf09013c0\n\nRatan Gupta (1):\n      spdmd: Add D-Bus responder for SPDM devices\n\nChange-Id: I64917636d415eeb7fd2e4ede0b6ba4a521f6b9c0\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "6920eea7c70f550fe96dee79fbfdd2ffa1668462",
      "tree": "9a72b3a1157f134ca57c12edb62d8b86d4271439",
      "parents": [
        "a18272dd408dd9f64554a92043355ea14d8843b1"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "geissonator@yahoo.com",
        "time": "Wed Oct 28 08:00:28 2026 -0500"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Wed Oct 28 13:04:15 2026 +0000"
      },
      "message": "meta-phosphor: OWNERS: use Maintainers group for supported-machines.md\n\nThe previous change used \u0027group/Registered Users\u0027 as the owner for\nsupported-machines.md.  Registered Users is a Gerrit system group which\nthe owners plugin cannot resolve by name, resulting in:\n\n    WARN com.googlesource.gerrit.owners.common.AccountsImpl :\n        Group Registered Users was not found\n\nUse the \u0027Maintainers\u0027 group instead, which is a regular Gerrit group\nvisible to all users.  This allows any maintainer\u0027s Code-Review+2 to\nsatisfy the Owner-Approval requirement for this file.\n\nChange-Id: Ie83ced0205d0d4b15fc5f0189de073fdaddac450\nSigned-off-by: Andrew Geissler \u003cgeissonator@yahoo.com\u003e\n"
    },
    {
      "commit": "a18272dd408dd9f64554a92043355ea14d8843b1",
      "tree": "8118dc955b018251c3f58304802cda0395e62fdd",
      "parents": [
        "7d3f54b794a1377605c473094937154f24349357"
      ],
      "author": {
        "name": "Crystal Huang",
        "email": "crzhuang1@gmail.com",
        "time": "Wed Aug 12 10:22:54 2026 -0500"
      },
      "committer": {
        "name": "Janet Adkins",
        "email": "janeta@us.ibm.com",
        "time": "Wed Oct 28 12:59:48 2026 +0000"
      },
      "message": "meta-ibm: Add chassis state/inventory association\n\nUpdate associations.json files to include monitoring/monitored_by\nassociation between chassis inventory and State.Chassis as documented by\nphosphor-dbus-interfaces.[1]  This enables the support of multiple\nchassis.\n\nTested: (on IBM p10bmc)\n```\nbusctl --json\u003dpretty get-property xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/state/chassis0/monitoring  xyz.openbmc_project.Association endpoints\n{\n        \"type\" : \"as\",\n        \"data\" : [\n                \"/xyz/openbmc_project/inventory/system/chassis\"\n        ]\n}\n\nbusctl --json\u003dpretty get-property xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/inventory/system/chassis/monitored_by  xyz.openbmc_project.Association endpoints\n{\n        \"type\" : \"as\",\n        \"data\" : [\n                \"/xyz/openbmc_project/state/chassis0\"\n        ]\n}\n```\n\n[1] https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/93174\n\nChange-Id: Idc3f6a6a3330c9984814533d97dca0f06a3ea59d\nSigned-off-by: Crystal Huang \u003ccrzhuang1@gmail.com\u003e\nSigned-off-by: Janet Adkins \u003cjaneta@us.ibm.com\u003e\n"
    },
    {
      "commit": "7d3f54b794a1377605c473094937154f24349357",
      "tree": "a5f4b866666846699d9131554380955e3b38a09d",
      "parents": [
        "c75ea425f212d92e4c8e0de87e62c451af381c3e"
      ],
      "author": {
        "name": "Jacky Huang",
        "email": "jackyhuang@nvidia.com",
        "time": "Wed Oct 21 16:47:30 2026 +0900"
      },
      "committer": {
        "name": "Jacky Huang",
        "email": "jackyhuang@nvidia.com",
        "time": "Wed Oct 28 13:24:10 2026 +0900"
      },
      "message": "meta-nvidia: share mctpd configuration\n\nShare mctpd bridge polling settings across NVIDIA platforms. Set the\npolling interval per platform.\n\nTested: Verified non-root mctpd 2.6 on VR-NVL.\n\nChange-Id: If64b14ba945fddd74dad8b358faf738ed9dd1742\nCo-developed-by: Ender Hsieh \u003candhsieh@nvidia.com\u003e\nSigned-off-by: Jacky Huang \u003cjackyhuang@nvidia.com\u003e\n"
    },
    {
      "commit": "c75ea425f212d92e4c8e0de87e62c451af381c3e",
      "tree": "0f3e16c11b0eff8fbd23051b84713f13b32b2f68",
      "parents": [
        "2f98b9875b6e5978332aac7c3fa41e38b5ea9308"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 22:00:12 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Wed Oct 28 01:00:03 2026 +0000"
      },
      "message": "phosphor-power: srcrev bump 933fd4894c..8fdf431bd6\n\nFaisal Awada (1):\n      psu-monitor: rename new_* files to permanent names\n\nChange-Id: Ib5a307626a85d88c21d1ca3d1b91d79b8ebe771f\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "2f98b9875b6e5978332aac7c3fa41e38b5ea9308",
      "tree": "0c31b57fcb03efc0f3140484e9372065c9d56ea4",
      "parents": [
        "bb1206bc72ce4783c79dc5d5fe645985e11c5bba"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 18:40:07 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Wed Oct 28 00:45:03 2026 +0000"
      },
      "message": "phosphor-bmc-code-mgmt: srcrev bump 4ec2539a9c..0f0f3c9b9d\n\nHenry Wu (1):\n      notify: ignore transient inotify read errors\n\nChange-Id: Ia47a85e191a6809695bd1e7e4133b166017d0bc6\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "bb1206bc72ce4783c79dc5d5fe645985e11c5bba",
      "tree": "2bf90a4eaee3da9b50f3f613d3e8ebf8a3d5b94b",
      "parents": [
        "8c0842ed9eaf7c913788417e681e35f9498b7707"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Mon Oct 26 21:50:05 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Wed Oct 28 00:00:02 2026 +0000"
      },
      "message": "sdbusplus: srcrev bump c6176961f4..108194c9d1\n\nAlexander Hansen (1):\n      message: preserve the wire layer of string values\n\nChange-Id: Iefae7c80324c5f307d80f4b18c02af7c9ee0bf4a\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "8c0842ed9eaf7c913788417e681e35f9498b7707",
      "tree": "38786ccc5032a03d9e6dbfbbe82b89dd874a91b1",
      "parents": [
        "a03056ac1b24e337601da58c8806a8cabc36c79a"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 18:00:06 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 20:45:02 2026 +0000"
      },
      "message": "phosphor-dbus-interfaces: srcrev bump ebcf812314..7ff537f76d\n\nPatrick Williams (1):\n      telemetry: use \u0027set\u0027 for Supported* property\n\nChange-Id: I21a63009269e5ca12be9e380ccc97b510b35948f\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "a03056ac1b24e337601da58c8806a8cabc36c79a",
      "tree": "1c0ed5a822399ed87ca53e58ee5e235085a46881",
      "parents": [
        "8a6ff545eff9855efcac27a86112cf0f2d517fa2"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 16:50:12 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 19:45:01 2026 +0000"
      },
      "message": "phosphor-virtual-sensor: srcrev bump 9f55e7769a..1d80f3fa40\n\nAlexander Hansen (1):\n      virtualSensor: use ObjectManager common types\n\nChange-Id: I0f791b9855e298a571188db8e994dfd360cc9f5d\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "8a6ff545eff9855efcac27a86112cf0f2d517fa2",
      "tree": "02b32b11b255a4e461e60f702d4f7d962956b597",
      "parents": [
        "2909f6991b692a45e995d6ddce2169d0b7c54623"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 16:30:14 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 19:00:02 2026 +0000"
      },
      "message": "phosphor-power: srcrev bump 342c2375cf..933fd4894c\n\nFaisal Awada (1):\n      psu-monitor: remove legacy single-chassis\n\nShawn McCarney (1):\n      regs: Remove byte_values from compare_vpd action\n\nChange-Id: I6d96511184325d8d1e0d93d3677c61a5585c7864\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "2909f6991b692a45e995d6ddce2169d0b7c54623",
      "tree": "be9eda2651429ae806ee8ab868e78defe32cf406",
      "parents": [
        "1a528c0a1934b4621f556e768b076eba4565ebee"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 13:40:07 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 16:30:02 2026 +0000"
      },
      "message": "phosphor-dbus-interfaces: srcrev bump 4d2db8cc64..ebcf812314\n\nAlexander Hansen (1):\n      add org.freedesktop.DBus.ObjectManager\n\nCrystal Huang (1):\n      Add chassis state/inventory association\n\nEnder Hsieh (2):\n      inventory: link items to their configuration\n      attestation: fix identified_by association names\n\nEric Liu (1):\n      metric: add memory capacity utilization\n\nVijaysankar Ravi (1):\n      Remove libphosphor_dbus option in meson\n\nChange-Id: I635883b8187db582480bb2b819b9afc8d516ffb8\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "1a528c0a1934b4621f556e768b076eba4565ebee",
      "tree": "889db9f9773e44d520a1b06ed5b46b8d7bed87c0",
      "parents": [
        "c9e2e46f537ae72d0f68d9b22962921177f971e2"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 12:20:06 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 15:45:01 2026 +0000"
      },
      "message": "entity-manager: srcrev bump b7a39f2590..94eff0ac21\n\nDirk Chen (1):\n      configurations: anacapa: update FSC v2 tables\n\nEnder Hsieh (1):\n      schemas: platform: pair MCTP devices by Name\n\nKyle Hsieh (1):\n      configurations: ventura2: use 1-based fan index\n\nSue Wang (1):\n      meta-facebook: ventura: Add scm CHASSIS_INFO_AM2 for scm port MAC\n\nChange-Id: I939734bd5a6dac1b834434bf82aa3d95a2b6e17f\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "c9e2e46f537ae72d0f68d9b22962921177f971e2",
      "tree": "b83723b608f0718f5f35d5c5c72f1b4716586c9b",
      "parents": [
        "443051e6b36bedc5adab861b15a4145c98b9da67"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Mon Oct 26 21:00:07 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 13:30:01 2026 +0000"
      },
      "message": "phosphor-bmc-code-mgmt: srcrev bump 948778f8bb..4ec2539a9c\n\nAlexander Hansen (1):\n      spi-flash: error log for failed unbind\n\nMahalakshmi K (1):\n      image: validate tar child status\n\nNiveetha Wijendran (1):\n      mmc: Avoid remounting hostfw partition if already mounted\n\nChange-Id: I77822834cbf0d059508b51e970235dc8a1027a6c\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "443051e6b36bedc5adab861b15a4145c98b9da67",
      "tree": "87ed36929d742c79a8f795a6e2840c0c725e7d3b",
      "parents": [
        "396df99f6425ba166a67ef5895f3ac3ca1139d22"
      ],
      "author": {
        "name": "Vijaysankar Ravi",
        "email": "vijaysankarr@ami.com",
        "time": "Thu Oct 22 13:14:46 2026 +0530"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 12:17:40 2026 +0000"
      },
      "message": "openldap: fix build with OpenSSL 4\n\nopenembedded-core has moved to OpenSSL 4.0, where ASN1_STRING is an\nopaque type. openldap 2.6.13 still accesses its members directly in\nlibldap\u0027s OpenSSL backend (tls_o.c), so openldap fails in do_compile\nand obmc-phosphor-image cannot be built when LDAP support is enabled:\n\n\u0027\u0027\u0027\ntls_o.c:1002:31: error: invalid use of incomplete typedef \u0027ASN1_STRING\u0027 {aka \u0027struct asn1_string_st\u0027}\n 1002 |                 } else if ( cn-\u003elength \u003d\u003d nlen \u0026\u0026\n      |                               ^~\nmake[2]: *** [Makefile:431: tls_o.lo] Error 1\n\u0027\u0027\u0027\n\nBackport the upstream fix (ITS#10498), which switches to the\nASN1_STRING_length() / ASN1_STRING_get0_data() accessors and adds the\nconst qualifiers OpenSSL 4 requires. The fix is part of\nopenldap 2.6.14, so this patch can be dropped once meta-openembedded\nmoves to openldap 2.6.14 or later.\n\nTested:\n- Built obmc-phosphor-image for evb-ast2600 with the \u0027ldap\u0027\n  DISTRO_FEATURE enabled; openldap compiles and the image builds.\n- Verified LDAP user login works as expected over both ldap:// and\n  ldaps://.\n\nChange-Id: I2c35fbfd62c9ed7772c8a400230d263a90fdec2a\nSigned-off-by: Vijaysankar Ravi \u003cvijaysankarr@ami.com\u003e\n"
    },
    {
      "commit": "396df99f6425ba166a67ef5895f3ac3ca1139d22",
      "tree": "67fed7f0ba906fc95c1270578bb6ab36d0ebf1d2",
      "parents": [
        "3dfb21b9cd3d42aa54fb916f45760943751c0a9a"
      ],
      "author": {
        "name": "Eric Liu",
        "email": "liuer@nvidia.com",
        "time": "Mon Oct 12 12:37:45 2026 +0900"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 12:16:44 2026 +0000"
      },
      "message": "meta-quanta: olympus-nuvoton: remove Item.Ethernet\n\nThe BMC object in the olympus-nuvoton ipmi-fru yaml lists the\nItem.Ethernet interface, which has no properties. Nothing in openbmc\nreads it: git grep across every active openbmc repository finds only\nconfigs that set it and its definition in phosphor-dbus-interfaces.\nRemove it so Item.Ethernet can be removed from phosphor-dbus-interfaces,\nas discussed in:\nhttps://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/89247\n\nTested:\nipmi-fru-parser and phosphor-host-ipmid generate the same code except\nfor the removed Item.Ethernet entry, and the generated code compiles.\n\nChange-Id: Ic2882cc4f9f1e01432232f08e7d3d6f052556ed0\nSigned-off-by: Eric Liu \u003cliuer@nvidia.com\u003e\n"
    },
    {
      "commit": "3dfb21b9cd3d42aa54fb916f45760943751c0a9a",
      "tree": "c99be2134dd7ccabd19a6b0d9404ff4eb77dfa41",
      "parents": [
        "29fd78d932f1989524d0f6ad3e384afc4d8cfb87"
      ],
      "author": {
        "name": "Eric Liu",
        "email": "liuer@nvidia.com",
        "time": "Mon Oct 12 12:37:45 2026 +0900"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 12:16:27 2026 +0000"
      },
      "message": "meta-nuvoton: evb-npcm845: remove Item.Ethernet\n\nThe BMC object in the evb-npcm845 ipmi-fru yaml lists the Item.Ethernet\ninterface, which has no properties. Nothing in openbmc reads it: git\ngrep across every active openbmc repository finds only configs that set\nit and its definition in phosphor-dbus-interfaces. Remove it so\nItem.Ethernet can be removed from phosphor-dbus-interfaces, as discussed\nin:\nhttps://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/89247\n\nTested:\nipmi-fru-parser and phosphor-host-ipmid generate the same code except\nfor the removed Item.Ethernet entry, and the generated code compiles.\n\nChange-Id: I79d6e422100bb372bbf162831c0bb06738e3a4d5\nSigned-off-by: Eric Liu \u003cliuer@nvidia.com\u003e\n"
    },
    {
      "commit": "29fd78d932f1989524d0f6ad3e384afc4d8cfb87",
      "tree": "721b459567529a767cfc26d6e9d42ab77477f328",
      "parents": [
        "22fbf2bbf455d4c26ffb313e2af55bfecf5a0110"
      ],
      "author": {
        "name": "Eric Liu",
        "email": "liuer@nvidia.com",
        "time": "Mon Oct 12 12:37:45 2026 +0900"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 12:16:05 2026 +0000"
      },
      "message": "meta-yadro: nicole: remove Item.Ethernet\n\nThe ETHERNET entry of the nicole VPD layout lists the Item.Ethernet\ninterface, which has no properties. Nothing in openbmc reads it: git\ngrep across every active openbmc repository finds only configs that set\nit and its definition in phosphor-dbus-interfaces. Remove it so\nItem.Ethernet can be removed from phosphor-dbus-interfaces, as discussed\nin:\nhttps://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/89247\n\nChange-Id: I7fe1052cb2bb288192420bb910ca9f9eecfc0c40\nSigned-off-by: Eric Liu \u003cliuer@nvidia.com\u003e\n"
    },
    {
      "commit": "22fbf2bbf455d4c26ffb313e2af55bfecf5a0110",
      "tree": "0139f66fd1145cac5abdd69cd454c1dc88dc00d8",
      "parents": [
        "29701922a37a93a6b4fc3efab44f6d9b5ecc576a"
      ],
      "author": {
        "name": "John Chung",
        "email": "john.chung@arm.com",
        "time": "Wed Oct 21 11:41:15 2026 -0500"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 12:14:28 2026 +0000"
      },
      "message": "meta-evb: meta-evb-arm: Update mctpd .bbappend file\n\nmctpd daemon has been moved from the mctp recipe to a separate mctpd\nrecipe. Update the .bbappend file to target the mctpd recipe instead\nof mctp recipe.\n\nChange-Id: I5ca5f711c4aa05b2aa49d0beaf1b79740318c7e8\nSigned-off-by: John Chung \u003cjohn.chung@arm.com\u003e\n"
    },
    {
      "commit": "29701922a37a93a6b4fc3efab44f6d9b5ecc576a",
      "tree": "1a7ecf36b5eb285ec4961bcf82cb335a6bc1c2eb",
      "parents": [
        "5c21ebb175489fad79b64fea2628d073dec5043e"
      ],
      "author": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 07:29:42 2026 -0400"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 12:04:34 2026 +0000"
      },
      "message": "meta-phosphor: OWNERS: allow anyone to approve supported-machines.md\n\nsupported-machines.md is a frequently updated list of supported\nmachines, with CI already validating the contents. Requiring a\nmeta-phosphor owner +2 for every addition is unnecessary overhead.\n\nAdd an exact-path matcher so any registered Gerrit user counts as an\nowner for this file, allowing anyone\u0027s Code-Review+2 to satisfy the\nOwner-Approval submit requirement.  The result of this is that only\nthose in a maintainer list need to +2 for adding a new machine.\n\nThis uses the documented \u0027group/\u0027 owner syntax from the Gerrit owners\nplugin[1]:\n\n```\n  owners:\n  - some.email@example.com\n  - User Name\n  - group/Group of Users\n```\n\n\u0027To specify a group of people instead of naming individual owners,\nprefix the group name or UUID with group/.\u0027\n\n[1]: https://gerrit.openbmc.org/plugins/owners/Documentation/config.md\n\nSigned-off-by: Patrick Williams \u003cpatrick@stwcx.xyz\u003e\nChange-Id: Ieab422981fbef3037b4c81d01c1ae3d2221fb38f\n"
    },
    {
      "commit": "5c21ebb175489fad79b64fea2628d073dec5043e",
      "tree": "b4d4ace18561920c85ab9026972792e481879075",
      "parents": [
        "5da5b5e8aa510331d77f7e13b9bb7c6e1d84c5f8"
      ],
      "author": {
        "name": "Kyle Hsieh",
        "email": "Kyle.Hsieh@quantatw.com",
        "time": "Tue Oct 27 11:03:07 2026 +0800"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 11:35:29 2026 +0000"
      },
      "message": "meta-facebook: ventura2: use 1-based fan index\n\nThe Ventura2 RMCv2 fan trays are labeled FAN1-FAN4 on the chassis, but\nthe BMC exposes them as FAN0-FAN3. Rename the fan indices to 1-based so\nthe names on the BMC match the physical labels.\n\nRelated: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/96310\n\nChange-Id: I12164e901a4520064f703a5b74318e7436122b87\nSigned-off-by: Kyle Hsieh \u003cKyle.Hsieh@quantatw.com\u003e\n"
    },
    {
      "commit": "5da5b5e8aa510331d77f7e13b9bb7c6e1d84c5f8",
      "tree": "8a2858990ccd9158da34039ac6a6f61d5504d50d",
      "parents": [
        "a13981ca76295b46672cb128f88a664c46862958"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 09:10:11 2026 +0000"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 09:10:11 2026 +0000"
      },
      "message": "pldm: srcrev bump 3269cd16dc..dfb79e8893\n\nVishnunithyasoundhar S (1):\n      platform-mc: add InstanceNo to terminus name\n\nChange-Id: I49367ea404891d1185e0099f685766c8ddbf94d4\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "a13981ca76295b46672cb128f88a664c46862958",
      "tree": "55347944cec1d2c8d3181e145ebc249d984957c5",
      "parents": [
        "229789572e511eea620c7f57e5db9c3e1014bb78"
      ],
      "author": {
        "name": "Jacky Huang",
        "email": "jackyhuang@nvidia.com",
        "time": "Tue Oct 27 16:16:17 2026 +0900"
      },
      "committer": {
        "name": "Deepak Kodihalli",
        "email": "deepak.kodihalli.83@gmail.com",
        "time": "Tue Oct 27 08:00:20 2026 +0000"
      },
      "message": "meta-vr-nvl-obmc: bind Vera USB MCTP devices\n\nAdd a dynamic ID for 0955:7410 so the mctp-usb driver can bind to\nits MCTP interface and allow endpoint discovery.\n\nTested: Verified Vera MCTP endpoint discovery on VR-NVL hardware.\n\nChange-Id: Id88e16a7e07cb2edaf752674b7c9dc99cfbaf0aa\nSigned-off-by: Jacky Huang \u003cjackyhuang@nvidia.com\u003e\n"
    },
    {
      "commit": "229789572e511eea620c7f57e5db9c3e1014bb78",
      "tree": "0c2d8fa8ad12d290bcd0469d6563707dd702fedf",
      "parents": [
        "313f502875d82c97eb250c27287d08754a770f31"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 04:50:04 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 07:45:01 2026 +0000"
      },
      "message": "openpower-vpd-parser: srcrev bump f43184154f..e29c0f0eb3\n\nRekha Aparna (1):\n      Add collection status to dump inventory property\n\nChange-Id: Iaa1039e0399c476fecc31f5b0e54ab8d0a8efad5\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "313f502875d82c97eb250c27287d08754a770f31",
      "tree": "993f3259bf1b9aba4a092648428c557fc0c04dcc",
      "parents": [
        "072b89e1a1c8e708ff00cc67cb24c5b569cd4ce5"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 04:20:02 2026 +0000"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Tue Oct 27 04:20:02 2026 +0000"
      },
      "message": "fb-ipmi-oem: srcrev bump 8498659900..3d3f780f89\n\nPete O_o (3):\n      fb-ipmi-oem: write JSON state files atomically\n      appcommands: bounds-check Set Sys Info Params\n      fb-ipmi-oem: replace invalid UTF-8 when saving\n\nChange-Id: Ic6ba8ceb9c7d188f29878669fc1d158c6feb26c7\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "072b89e1a1c8e708ff00cc67cb24c5b569cd4ce5",
      "tree": "9bdb38f977e27c168920ab8b46527533f51272d0",
      "parents": [
        "f2a1d183ba15da85e9f3823e7238bae1c2ab9643"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Mon Oct 26 21:50:14 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Tue Oct 27 03:30:03 2026 +0000"
      },
      "message": "estoraged: srcrev bump 47bffe27e6..ae6b1663fe\n\nWilliam A. Kennington III (1):\n      estoraged: Ignore mount point removal failure\n\nChange-Id: I8baaac572f76cb3c8d238a10a8dd0f1ab8aeb7ff\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "f2a1d183ba15da85e9f3823e7238bae1c2ab9643",
      "tree": "ab7f84e258a60d909222e7a9ba55afbfbc1977b3",
      "parents": [
        "af231713aa850b7d971ce8400f0a90f23ecbb97e"
      ],
      "author": {
        "name": "Andrew Jeffery",
        "email": "andrew@codeconstruct.com.au",
        "time": "Tue Oct 27 10:08:55 2026 +1030"
      },
      "committer": {
        "name": "Andrew Jeffery",
        "email": "andrew@codeconstruct.com.au",
        "time": "Tue Oct 27 10:28:34 2026 +1030"
      },
      "message": "linux-nuvoton: Move to v6.18.59 stable release\n\nApply the upstream security and bug fixes.\n\nChange-Id: Ifd4a9324fab536df99e2aed6c11bc15698eb00db\nSigned-off-by: Andrew Jeffery \u003candrew@codeconstruct.com.au\u003e\n"
    },
    {
      "commit": "af231713aa850b7d971ce8400f0a90f23ecbb97e",
      "tree": "88478c0f702c1a43360cb66304c99bd678aec85f",
      "parents": [
        "a9c2eac641800e97c0866f9965be6fc0f05f0f8c"
      ],
      "author": {
        "name": "Andrew Jeffery",
        "email": "andrew@codeconstruct.com.au",
        "time": "Tue Oct 27 10:08:55 2026 +1030"
      },
      "committer": {
        "name": "Andrew Jeffery",
        "email": "andrew@codeconstruct.com.au",
        "time": "Tue Oct 27 10:08:55 2026 +1030"
      },
      "message": "linux-aspeed: Move to v6.18.59 stable release\n\nApply the upstream security and bug fixes.\n\nChange-Id: I42dd2fcd87116a24f6303050fc9cd8886927b648\nSigned-off-by: Andrew Jeffery \u003candrew@codeconstruct.com.au\u003e\n"
    },
    {
      "commit": "a9c2eac641800e97c0866f9965be6fc0f05f0f8c",
      "tree": "0efdd02e8667514fb6be7182e13c498a1f66aab2",
      "parents": [
        "68e07921e8e04636b0fbbf7ef2ee97607e05f3ce"
      ],
      "author": {
        "name": "Eric Liu",
        "email": "liuer@nvidia.com",
        "time": "Mon Oct 12 10:58:26 2026 +0900"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "geissonator@yahoo.com",
        "time": "Mon Oct 26 20:30:29 2026 +0000"
      },
      "message": "meta-ibm: remove Item.Ethernet from FRU yaml\n\ngenesis3, sbp1 and system1 list the empty Item.Ethernet interface on\ntheir BMC ethernet objects in the ipmi-fru yaml. Nothing reads it, and\nthe MAC stays on Item.NetworkInterface. Remove it so Item.Ethernet can\nbe removed from phosphor-dbus-interfaces, as discussed in:\nhttps://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/89247\n\nTested:\nipmi-fru-parser generates the same fru-gen.cpp except for the removed\nItem.Ethernet entries. Not built for or run on these machines.\n\nChange-Id: I24ebbd8638624e4259bbbd8ca584b62422eab3a7\nSigned-off-by: Eric Liu \u003cliuer@nvidia.com\u003e\n"
    },
    {
      "commit": "68e07921e8e04636b0fbbf7ef2ee97607e05f3ce",
      "tree": "a131f49cac4c5eb0eb4858681c702bed2acb3369",
      "parents": [
        "30a2e07c0b99bd99d464521e44babf9790136545"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Mon Oct 26 15:10:11 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Mon Oct 26 18:15:01 2026 +0000"
      },
      "message": "libpldm: srcrev bump 6b2867e079..efebb013ba\n\nP Arun Kumar Reddy (1):\n      bindings: cpp: reject trailing bytes after counted descriptors\n\nChange-Id: I5246fef6a9146d38b4deafe0a358cc4dc26ea096\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "30a2e07c0b99bd99d464521e44babf9790136545",
      "tree": "7e928e84dc643a0aa26f72ab16b1d78ac3031b6e",
      "parents": [
        "c6829e2a4adf61544a6554bd3ce658942a0c3740"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Mon Oct 26 15:00:09 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Mon Oct 26 17:30:02 2026 +0000"
      },
      "message": "phosphor-fan-presence: srcrev bump 0a4af3f671..8687b78c6c\n\nJim Fang (1):\n      configs:ibm: Add ambient and altitude groups for Huygens\n\nChange-Id: Icd6614117efa33bdc65f4eab5d80d30bc4ada64a\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "c6829e2a4adf61544a6554bd3ce658942a0c3740",
      "tree": "684a79c16f0e19a5ddac48b00da8f1da99bc8aae",
      "parents": [
        "57fbc5f334e8d42aa0d1a7cb68485928ddb7d895"
      ],
      "author": {
        "name": "Dirk Chen",
        "email": "dirkchen@amd.com",
        "time": "Sun Oct 25 23:56:24 2026 +0800"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Mon Oct 26 16:43:27 2026 +0000"
      },
      "message": "meta-phosphor: mctpd: add CAP_NET_RAW capability\n\nIn mctpd v2.6, support for running as a non-root user was introduced,\nwith CAP_NET_ADMIN and CAP_NET_BIND_SERVICE added to the service\ncapabilities.\n\nHowever, SetupEndpoint fails to allocate an EID because the service\nlacks CAP_NET_RAW, which is required for the socket operation.\n\nAdd CAP_NET_RAW to AmbientCapabilities to allow SetupEndpoint to\nallocate EIDs successfully.\n\nChange-Id: Iba8bfdc565d59bc55790884a7bdbadbce01dbe4d\nSigned-off-by: Dirk Chen \u003cdirkchen@amd.com\u003e\n"
    },
    {
      "commit": "57fbc5f334e8d42aa0d1a7cb68485928ddb7d895",
      "tree": "b5f61dfde70f5131aed3ab9258a06c41de69700a",
      "parents": [
        "615a50ae41dad94b4bfb3a49f0afea915d25075a"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Mon Oct 26 12:50:11 2026 +0000"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Mon Oct 26 12:50:11 2026 +0000"
      },
      "message": "pldm: srcrev bump 7823d9bd7e..3269cd16dc\n\nVishnunithyasoundhar S (1):\n      platform-mc: add support for sensor unit bits\n\nChange-Id: Id3dfda305d8da51c52dd0194dc613c7f927e25cd\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "615a50ae41dad94b4bfb3a49f0afea915d25075a",
      "tree": "91b62562772658a05cf6e15d181e2c75fb7c6b29",
      "parents": [
        "4e452a3675de39558971d8e94b855b3d0545af48"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Mon Oct 26 08:50:12 2026 +0000"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "patrick@stwcx.xyz",
        "time": "Mon Oct 26 11:30:01 2026 +0000"
      },
      "message": "pldm: srcrev bump 72e0c1ef40..7823d9bd7e\n\nHarshit Aghera (3):\n      platform-mc: Fix nullptr sensor poll timer record\n      platform-mc: Look up the sensor poll timer once when stopping polling\n      platform-mc: Look up the other terminus records once\n\nJagpal Singh Gill (1):\n      fw-update: report Software.Update events\n\nP Arun Kumar Reddy (2):\n      pldmtool: display self-contained activation failures\n      fw-update: skip devices missing component info\n\nChange-Id: I88351ffe1d4949ee0a1e6ac1e2896456623cf8cf\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "4e452a3675de39558971d8e94b855b3d0545af48",
      "tree": "98ab159019d1c0f838d138ff4631bc43a420c444",
      "parents": [
        "6f3fe60ca2b20b99ffc8701b6c13687112930780"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Mon Oct 26 08:40:06 2026 +0000"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Mon Oct 26 08:40:06 2026 +0000"
      },
      "message": "entity-manager: srcrev bump f130e84c3c..b7a39f2590\n\nAlexander Hansen (1):\n      entity-manager: pass objects to D-Bus publishing\n\nChange-Id: Icc4c9b1e94135d667cf9c877e818aa8b0bf40cee\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    },
    {
      "commit": "6f3fe60ca2b20b99ffc8701b6c13687112930780",
      "tree": "9a90ef0e4200585f2e2bef95d8c5da00b1e79d56",
      "parents": [
        "c9231827e722cadaa68f18e5a7bf780a18f90a9f"
      ],
      "author": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Sun Oct 25 13:50:12 2026 +0000"
      },
      "committer": {
        "name": "Andrew Geissler",
        "email": "openbmcbump-github@yahoo.com",
        "time": "Sun Oct 25 13:50:12 2026 +0000"
      },
      "message": "pldm: srcrev bump 42532e4f80..72e0c1ef40\n\nP Arun Kumar Reddy (2):\n      fw-update: store ComponentInfo by value\n      fw-update: keep descriptors on downstream query timeout\n\nChange-Id: I20c236050c80e77eb2cfccb8220f52d93e16acce\nSigned-off-by: Andrew Geissler \u003copenbmcbump-github@yahoo.com\u003e\n"
    }
  ],
  "next": "c9231827e722cadaa68f18e5a7bf780a18f90a9f"
}
