Вот так выглядит гиперлуп для LwIP... собственно как и для любого другого стека
while(1) { lwip_periodic_handle(local_time); }
В колбэках что надо куда надо скопировал, флажки выставил, и в том же гиперлупе всё обработал