As we are now filtering the raw socket based on the transaction id, we must
reset the BPF when we reset the transaction id.
/* start over as we did not receive a timely ack or nak */
client->state = DHCP_STATE_INIT;
client->attempt = 1;
+
+ client->fd = safe_close(client->fd);
client->xid = random_u32();
+ r = dhcp_network_bind_raw_socket(client->index, &client->link, client->xid);
+ if (r < 0)
+ goto error;
+ client->fd = r;
/* fall through */
case DHCP_STATE_INIT: