5 ms·
An educational question: If this is a tcp/ip implementation where is it run? On a router? Or on a network interface controller? Both?
by pencillr 7y ago
An educational question: If this is a tcp/ip implementation where is it run? On a router? Or on a network interface controller? Both?
- abhishekjha 7y agoI think it would be run on a network interface. Isn't this or an equivalent implementation that comes packaged with every OS so that you can connect to a network? I may be wrong here and others are more than welcome to correct me. EDIT: Added "or an equivalent"
- roblabla 7y agoThis is definitely not the implementation that comes packaged with every OS. Every OS has its own TCP/IP implementation that usually lives in the kernel - though most are derived from BSD's TCP/IP stack. SmolTCP could (in theory) replace the implementation packaged with an OS, or even be used completely from userspace by taking over the raw network interface.
- abhishekjha 7y agoApologies. I didn't mean that this exact implementation is shipped with every OS. I meant an equivalent of it being shipped with OSes.
- chaosite 7y ago"smoltcp is a standalone, event-driven TCP/IP stack that is designed for bare-metal, real-time systems." My understanding based on that description is that it is meant for applications that run directly on the hardware, without an OS in the middle. I'm thinking embedded applications. So I'm thinking that this is meant for IoT-style appliances and the like. Maybe I'm wrong :)
- pencillr 7y agoAh so, it can be something like a "network platform" on my (let's say) smart home thermostat? :D
- chaosite 7y agoExactly, it can be the bit that allows your smart-home thermostat to talk to the app on your phone (or the cloud).
- roblabla 7y agoI'm using it in my toy OS as my TCP/IP implementation. It's meant to be run in a wide variety of contexts, from embedded IoT-style appliances to userspace Linux. In fact, it has instructions for Hosted Usage[0] in the README. [0]: https://github.com/m-labs/smoltcp#hosted-usage-examples https://github.com/m-labs/smoltcp#hosted-usage-examples
- astrange 7y agoI think IoT devices run a lot more OS than you're expecting. Even the wifi chip on one might have a real OS. This could be useful for a userspace TCP stack; sometimes it's better to do the whole thing in your process than the kernel.
- progval 7y agoThe org developping smoltcp makes embedded systems, so the point of smoltcp is probably to use it there. smoltcp is also used by Redox, an OS written from scratch in Rust.
- q3k 7y ago> It is used in embedded systems such as the ARTIQ core device and ionpak. [1] and > ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a leading-edge control system for quantum information experiments. [2] [1] - https://m-labs.hk/smoltcp.html https://m-labs.hk/smoltcp.html [2] - https://m-labs.hk/artiq/index.html https://m-labs.hk/artiq/index.html