Интересно, насколько тяжким планируется стек? Типа "улучшенный uIP"
или "лучше чем в linux"? :-) По ARP: палка о двух концах. С одной стороны построение записей ARP за счёт данных из входящего пакета упрощает жизнь, снижает бродкастовый трафик и требования к ОЗУ на буферирование (не нужно ждать, пока отработает ARP запрос-ответ). С другой стороны расширяются возможности спуфинга, все-таки контролировать летающие по сети ARP пакеты (на предмет не завёлся ли в сети злодей) гораздо проще, чем контролировать вообще все пакеты. Так что тут хорошо бы иметь выбор хотя бы на этапе компиляции.
А вот обновлять TTL существующим записям ARP при получении соответствующего IP-пакета крайне полезно и относительно безопасно.
По фичам, selective ack конечно круто, но только после корректного partial ack/overlapped segment handling. Его отсутствие у uIP сильно портит жизнь.