3 ms·
This reminds me a lot of lwIP[0] and uIP[1]. I did some projects 15 years ago with lwIP where we were able to work around a very lossy wireless network link whe
by dave78 5y ago
This reminds me a lot of lwIP[0] and uIP[1]. I did some projects 15 years ago with lwIP where we were able to work around a very lossy wireless network link when controlling PTZ cameras by building what was essentially a proxy with lwIP that allowed us to do some hack-ish things like transmitting 2 copies of all TCP packets immediately to increase resiliency. As I recall it exposed the BSD socket API so it was shockingly easy to relink a project to use lwIP instead of the host OS. All that was needed then on the other end was hooking up lwIP to a raw network interface.
[0] https://savannah.nongnu.org/projects/lwip/ https://savannah.nongnu.org/projects/lwip/
[1] https://en.wikipedia.org/wiki/UIP_(micro_IP) https://en.wikipedia.org/wiki/UIP_(micro_IP)
- saurik 5y agoYeah! In Orchid, we have a similar setup to these, letting me layer lwIP on top of Wireguard, OpenVPN, or our WebRTC-based VPN protocol, even in multi-hop configurations.
- ignoramous 5y agoHi Saurik: Since LwIP only provides handlers for TCP and UDP, doesn't that reduce Orchid's VPN to a TCP/UDP proxy? For ex, can Orchid handle (or intends to handle) SCTP, say? Or, is LwIP more capable than what I it give credit for? (by the way, thank you for building orchid in the open! looking forward to the eventual team-up between orchid and helium :)
- djbusby 5y ago> transmitting 2 copies of all TCP packets immediately U wot m8? In a thread about bananas userland TCP this Cat got a whole sundae.