comment fr_packet_cmp() a bit more
Don't use DHCP-Server-IP-Address for source IP

use Packet-Src-IP-Address instead.
And don't use server identifier for SIADDR
Ensure structs are set to zero
No need for packets to be in a packet list

They should just go into an rbtree