Skip to content

Add a tcp client & server standalone binary

Victor Toso requested to merge victortoso/usbredir:usbredirect into master

usbredir currently has usbredirserver that acts as TCP server for sharing local USB device with remote machines but it lacks a TCP client. Also, current usbredirserver does not build on windows and some changes in how it interacts with libusb would be needed to work on windows.

The goal of this MR is to have another binary that can act as TCP client/server and work on Windows and Linux. I'm using glib/gio to more easily handle different platforms. Perhaps we can have this binary to deprecate the existing usbredirserver and usbredirtestclient in the future.

My personal goal here is to give the possibility to projects to use usbredir without the need of implementing similar code. I have a proof of concept with KubeVirt PR/4089 using usbredirserver for now.

I'm calling this binary usbredirect and I've placed it in a new folder called tools.

Although I think this MR is ready for review, I would also like to add in near future some inter-process communication to give the possibility to the caller (like KubeVirt) to interact with usbredirect.

Comments and reviews are welcome ;)

Merge request reports