uint32_t prev_total;
knot_tcp_relay_t sweep_relays[XDP_BATCHLEN];
do {
+ knot_xdp_send_prepare(ctx->sock);
+
prev_total = ctx->sweep_closed + ctx->sweep_reset;
ret = knot_tcp_sweep(ctx->tcp_table, ctx->tcp_idle_close, ctx->tcp_idle_reset,
ret = knot_tcp_send(ctx->sock, sweep_relays, XDP_BATCHLEN, XDP_BATCHLEN);
}
knot_tcp_cleanup(ctx->syn_table, sweep_relays, XDP_BATCHLEN);
+
+ (void)knot_xdp_send_finish(ctx->sock);
} while (ret == KNOT_EOK && prev_total < ctx->sweep_closed + ctx->sweep_reset);
struct timespec now = time_now();
return KNOT_EINVAL;
}
- knot_xdp_send_prepare(socket);
-
knot_xdp_msg_t msgs[max_at_once], *first = first_msg(msgs, max_at_once), *msg = first;
for (uint32_t i = 0; i < relay_count; i++) {
}
send_msgs(msgs, msg - first, socket);
- (void)knot_xdp_send_finish(socket);
return KNOT_EOK;
}