Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • bolt bolt
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 36
    • Issues 36
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • bolt
  • boltbolt
  • Merge requests
  • !220

Merged
Created Sep 01, 2020 by Christian Kellner@gicmoOwner

Don't store domains where uuids change across reboots

  • Overview 0
  • Commits 16
  • Pipelines 2
  • Changes 10

The bolt daemon uses the uuid of the host controller, i.e. the thunderbolt switch, to uniquely identify the domain across reboots. The main reason for this was the boot acl, which can change in the absence of the domain: in older tbt hardware, the controller was powered in hardware when no device was attached. If a user then wanted to remove a device from the controller, that needed to be recorded and synced back to the boot acl when the controller later became available again.

All this relies on the fact that the uuid of the controller is stable, i.e. does not change across reboots. This sadly, is not true for integrated TBT, like e.g. on ice lake (ICL) and tiger lake (TGL).

In the manager, the stability of the domain's uuid is now detected via the PCI id of the native host interface. If it is in fact not stable, or if the PCI id is unknown, the domain will not be stored. As a result, removing devices from the boot acl while the controller is offline, will not properly be synced to the controller. Since modern controllers are actually not powered down, but use runtime PM, i.e. they go to D3 cold state, this should indeed not matter much. Additionally, modern systems use the IOMMU to secure device access and there the firmware can and will indeed authorize the device during boot. Therefore the boot acl becomes less important, and there seems indeed to be no boot acl entries slots on ICL even.

Part of issue #162 (closed)

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: domain_uuid_change