Skip to content

Conversation

@acerv
Copy link
Collaborator

@acerv acerv commented Sep 16, 2025

This patche-set introduces new API for the SUT interface as well as a new ComChannel class, that is our new API for protocols communication (for example, SSH, shell, LTX, Qemu, etc).

With this patch-set it's possible to create new customized SUT which needs more protocols to run at the same time for setting up, for example, hardware, remote controllers, etc. Kirk will take care of discovering new implementations via the --plugins option and it will assign any channel configuration via --com option.

With the --com option it will be possible to define up to 128 communication channels per session, where each one of them will have a special assigned id that can be used to recognize our channels inside the SUT via libkirk.com.get_channels() API.

In short, this patch-set permits to instantiate multiple communication channels (aka protocols) per SUT, providing a simple interface to the user that will be able to customize kirk for their own scenarios.

Please take a look at the new documentation under doc/developers/plugins.rst.

Reviewed-by: Cyril Hrubis [email protected]
Signed-off-by: Andrea Cervesato [email protected]

@acerv acerv requested a review from metan-ucw September 16, 2025 16:41
@acerv acerv self-assigned this Sep 16, 2025
@acerv acerv added the enhancement New feature or request label Sep 16, 2025
Define ComChannel class for communication channels implementations
which will be SSH, LTX, shell, Qemu, etc.

Signed-off-by: Andrea Cervesato <[email protected]>

com: handle ComChannel plugins via libkirk.com

Signed-off-by: Andrea Cervesato <[email protected]>
@acerv acerv force-pushed the new_com branch 2 times, most recently from a2173e5 to 6024c5c Compare October 10, 2025 09:23
Copy link
Member

@metan-ucw metan-ucw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can add my Reviewed-by: Cyril Hrubis [email protected]

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be removed from the patch that adds ssh COM, or is there a reason to remove it here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that. Probably I messed up with rebase...need to fix it

acerv added 12 commits October 14, 2025 17:39
Create channels folder and add shell implementation in there.

Signed-off-by: Andrea Cervesato <[email protected]>
Signed-off-by: Andrea Cervesato <[email protected]>
Signed-off-by: Andrea Cervesato <[email protected]>
Add clone() method to Plugin API and extend it to the plugins
implementations. Add libkirk.com.clone_channel() to follow this pattern
and to clone new channels inside the application.

Signed-off-by: Andrea Cervesato <[email protected]>
Signed-off-by: Andrea Cervesato <[email protected]>
Signed-off-by: Andrea Cervesato <[email protected]>
@acerv acerv merged commit 8d9e8d4 into linux-test-project:master Oct 14, 2025
17 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants