it would be really helpful if you enrich your SSH to support an easy to use abstracted API for local and remote portforwarding.
Something like this:
var port = SshClient.AddLocalForwardedPort(string localIP, int localPort, string remoteHost, int remotePort);
port.ErrorReceived // a event handler to handle exceptions and gracefully stop the tunnel if some exception is thrown
port.Start(); // starts the local portforwarding
port.Stop(); // stops the local portforwarding
and for remote port forwarding:
var port = SshClient.AddRemoteForwardedPort(string remoteIP, int remotePort, string localHost, int localPort);
// same as above:
This would be very helpful!