Skip to content

Some Questions On Bridge Mode For MCTPD #106

@santoshpuranik

Description

@santoshpuranik

Hi,

This is not really an "issue" with this repo, rather a starting point for discussions around a requirement I am currently analyzing.

I have a MCTP bridge device (a BMC running Linux). The bridge directly manages two other MCTP devices connected over a USB bus downstream. Upstream, the bridge is connected (as a USB device) to a USB host (another BMC) that needs to communicate to these two downstream devices. Here's a diagram that depicts this:

graph TD
    USB_Host["MC1 (USB Host)"]
    Bridge["MC2 - MCTP Bridge (Linux)"]
    Dev1["MCTP Device 1"]
    Dev2["MCTP Device 2"]

    USB_Host -->|"USB Device"| Bridge
    Bridge -->|"USB Host"| Dev1
    Bridge -->|"USB Host"| Dev2
Loading

An additional requirement is that MC1 should only be allowed to Tx/Rx certain MCTP message types, effectively, MC2 acts as a firewall for the MCTP traffic flowing through it. I have the following questions:

  • Are there plans to upstream the USB MCTP gadget driver? IIRC that was used to test the host side driver before upstreaming?
  • The MCTP spec itself does not talk about firewalling traffic, but given that we have the AF_MCTP socket for the netdev, would it be reasonable to implement a socket filter on it externally to achieve this firewall?
  • For the bridge specific MCTP control commands, implement a bridge mode in the mctpd daemon (on the mctpgx net i/f) on MC2 that can respond to the mandatory set of control commands from MC1 -- most significantly providing it a routing table that includes entries for the two downstream devices.

Any thoughts on if this all makes sense and other possible approaches to tackle these requirements?

Regards,
Santosh

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions