Validate your TCPIP stack on the embedded device
summary
Three practical methods for validating an embedded TCP/IP stack: compile on host for fast, robust protocol and security checks (covers ~99% of cases), qmu emulator when real port/driver timing matters, and target device tests for race conditions and timing. Uses ttcn3 for protocol conformance and AFL fuzzing of lwIP and ESP DHCP code. Gives a concrete bug: a queue-overflow on TCP close flags causing half-open connections that only reproduces on real port layers or emulator.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 0:33TCPIP stack
- 1:07ESpressif
- 3:16Agenda
- 4:39Testing options
- 5:23Emulator
- 5:49Target Tests
- 7:20Host Tests
- 9:11Under Test Runs
- 9:35Practical Comparison
- 12:13Recent Issues
- 13:35Benefits and Drawbacks
- 15:17Test Control Notation
- 15:57Titan Core Implementation
- 16:35Test Setup
- 18:29Host Test
- 18:52AFL
- 19:18DHCP Server
- 21:00References
- 21:37Summary
related talks
40mPerformance and Testing of an Open Source Erlang TCP/IP Stack
13mTCP-Fuzz: Detecting Memory and Semantic Bugs in TCP Stacks with Fuzzing
01h 22mTest-Driven Development of C++ Embedded and System-Level Software
50mForking QEMU to emulate and secure the Tillitis TKey
01h 01mAdvanced Unit Testing in C & C++
50mCommon Strategy to Test IoT for Different Industries
36mSimulating the Chaos of Real-World Networks for Resilient Applications
55mComprehensive Testing of Embedded Software
