Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dbus rework #43

Merged
merged 3 commits into from
Jun 29, 2024
Merged

dbus rework #43

merged 3 commits into from
Jun 29, 2024

Conversation

jk-ozlabs
Copy link
Member

This PR implements the dbus rework discussed in #40. From the interface commit:

Essentially: this uses more standard bus, object and path names, and
moves away from the xyz.openbmc_project namespace, and use
au.com.codeconstruct (all lowercase) there instead, as we're not
specificially an OpenBMC project.

We also put collections of things (networks and endpoints) under a
specifically-named object path, so we can introduce new collections
alongside (interfaces) without compatibility issues

This means:

  • the bus owner name is now au.com.codeconstruct.MCTP1

  • interfaces are namespaced and versioned:

    • au.com.codeconstruct.MCTP.Endpoint1
    • au.com.codeconstruct.MCTP.BusOwner1
  • the top-level entrypoint path is versioned, as
    /au/com/codeconstruct/mctp1

  • the endpoint object tree is structured as
    /au/com/codeconstruct/mctp1/networks/<n>/endpoints/<e>

Closes: #40

jk-ozlabs and others added 3 commits June 29, 2024 17:50
This change implements the dbus interface rework specified in
#40.

Essentially: this uses more standard bus, object and path names, and
moves away from the xyz.openbmc_project namespace, and use
au.com.codeconstruct (all lowercase) there instead, as we're not
specificially an OpenBMC project.

We also put collections of things (networks and endpoints) under a
specifically-named object path, so we can introduce new collections
alongside (interfaces) without compatibility issues

This means:

 - the bus owner name is now au.com.codeconstruct.MCTP1

 - interfaces are namespaced and versioned:
    - au.com.codeconstruct.MCTP.Endpoint1
    - au.com.codeconstruct.MCTP.BusOwner1

 - the top-level entrypoint path is versioned, as
    `/au/com/codeconstruct/mctp1`

 - the endpoint object tree is structured as
    `/au/com/codeconstruct/mctp1/networks/<n>/endpoints/<e>`

Signed-off-by: Jeremy Kerr <[email protected]>
We'll be modifying this for the new Role-based interfaces which exist on
the link/interface objects, so use a temporary name for now.

Signed-off-by: Jeremy Kerr <[email protected]>
Enumerate the parent D-Bus object path `.../mctp1/networks` for the
network paths `.../mctp1/networks/<NetID>` and
`.../mctp1/networks/<NetID>/endpoints` for the endpoints path
`.../mctp1/networks/<NetID>/endpoints/<EID>`.

Tested:
Check the MCTP D-Bus interface:
```
busctl tree au.com.codeconstruct.MCTP1
`- /au
  `- /au/com
    `- /au/com/codeconstruct
      `- /au/com/codeconstruct/mctp1
        `- /au/com/codeconstruct/mctp1/networks
          `- /au/com/codeconstruct/mctp1/networks/1
            `- /au/com/codeconstruct/mctp1/networks/1/endpoints
              `- /au/com/codeconstruct/mctp1/networks/1/endpoints/8
```

Signed-off-by: Thu Nguyen <[email protected]>
Signed-off-by: Jeremy Kerr <[email protected]>
@jk-ozlabs jk-ozlabs merged commit d441a00 into main Jun 29, 2024
3 checks passed
@jk-ozlabs jk-ozlabs deleted the pr/dbus-rework branch June 29, 2024 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

dbus interface redesign
2 participants