I don't understand. Above dt->timeout is set like this:
dt->timeout = DefragPolicyGetHostTimeout(p); 

But here we just overwrite it apparently. p->ts.tv_sec is the current packets timestamp. The way I read this change, is that now we will consider a tracker to be timed out right after the update.