Old Wine in New Skins?: Revisiting the Software Architecture for IP Network Stacks on Constrained IoT Devices