diff --git a/distro/pkg/deb/libknot11.symbols b/distro/pkg/deb/libknot11.symbols
index 00b15d07a11f6c9421b836b50674c55efb3e70ff..bd64c18b0926c480dbb8c07b57ea880aaf02cc55 100644
--- a/distro/pkg/deb/libknot11.symbols
+++ b/distro/pkg/deb/libknot11.symbols
@@ -188,8 +188,8 @@ libknot.so.11 libknot11 #MINVER#
  knot_xdp_send_free@Base 3.1.0
  knot_xdp_send_prepare@Base 3.0.0
  knot_xdp_socket_fd@Base 3.0.0
- knot_xdp_tcp_relay@Base 3.1.0
- knot_xdp_tcp_send@Base 3.1.0
+ knot_tcp_relay@Base 3.1.0
+ knot_tcp_send@Base 3.1.0
  yp_addr@Base 3.0.0
  yp_addr_noport@Base 3.0.0
  yp_addr_noport_to_bin@Base 3.0.0
diff --git a/src/knot/server/xdp-handler.c b/src/knot/server/xdp-handler.c
index bd2ff092a0d1a1c48dff9e950b53e51f9def2d8e..1837edd54e75c59426bf657742d856b386b3a3df 100644
--- a/src/knot/server/xdp-handler.c
+++ b/src/knot/server/xdp-handler.c
@@ -175,7 +175,7 @@ int xdp_handle_msgs(xdp_handle_ctx_t *ctx, knot_xdp_socket_t *sock,
 	}
 
 	// handle TCP messages
-	int ret = knot_xdp_tcp_relay(sock, ctx->msg_recv, ctx->msg_recv_count, ctx->tcp_table, NULL, &ctx->tcp_relays);
+	int ret = knot_tcp_relay(sock, ctx->msg_recv, ctx->msg_recv_count, ctx->tcp_table, NULL, &ctx->tcp_relays);
 	if (ret == KNOT_EOK && ctx->tcp_relays.size > 0) {
 		uint8_t ans_buf[KNOT_WIRE_MAX_PKTSIZE];
 
@@ -191,7 +191,7 @@ int xdp_handle_msgs(xdp_handle_ctx_t *ctx, knot_xdp_socket_t *sock,
 						continue;
 					}
 
-					ret = knot_xdp_tcp_send_data(&ctx->tcp_relays, rl, ans->wire, ans->size);
+					ret = knot_tcp_send_data(&ctx->tcp_relays, rl, ans->wire, ans->size);
 					if (ret != KNOT_EOK) {
 						layer->state = KNOT_STATE_FAIL;
 					}
@@ -220,13 +220,13 @@ int xdp_handle_send(xdp_handle_ctx_t *ctx, knot_xdp_socket_t *xdp_sock)
 	int ret = knot_xdp_send(xdp_sock, ctx->msg_send_udp, ctx->msg_udp_count, &unused);
 	if (ret == KNOT_EOK) {
 		if (ctx->tcp_relays.size > 0) {
-			ret = knot_xdp_tcp_send(xdp_sock, knot_tcp_relay_dynarray_arr(&ctx->tcp_relays), ctx->tcp_relays.size);
+			ret = knot_tcp_send(xdp_sock, knot_tcp_relay_dynarray_arr(&ctx->tcp_relays), ctx->tcp_relays.size);
 		} else {
 			ret = knot_xdp_send_finish(xdp_sock);
 		}
 	}
 
-	knot_xdp_tcp_relay_free(&ctx->tcp_relays);
+	knot_tcp_relay_free(&ctx->tcp_relays);
 
 	if (ret == KNOT_EOK) {
 		ret = xdp_handle_timeout(ctx, xdp_sock);
@@ -240,10 +240,10 @@ int xdp_handle_timeout(xdp_handle_ctx_t *ctx, knot_xdp_socket_t *xdp_sock)
 	uint32_t last_reset = 0, last_close = 0;
 	int ret = KNOT_EOK;
 	do {
-		ret = knot_xdp_tcp_timeout(ctx->tcp_table, xdp_sock, 20, ctx->tcp_idle_close, ctx->tcp_idle_reset,
-		                           overweight(ctx->tcp_table->usage, ctx->tcp_max_conns),
-		                           overweight(ctx->tcp_table->inbufs_total, ctx->tcp_max_inbufs),
-		                           &last_close, &last_reset);
+		ret = knot_tcp_sweep(ctx->tcp_table, xdp_sock, 20, ctx->tcp_idle_close, ctx->tcp_idle_reset,
+		                     overweight(ctx->tcp_table->usage, ctx->tcp_max_conns),
+		                     overweight(ctx->tcp_table->inbufs_total, ctx->tcp_max_inbufs),
+		                     &last_close, &last_reset);
 	} while (last_reset > 0 && ret == KNOT_EOK);
 
 	if (last_close > 0 || last_reset > 0) {
diff --git a/src/libknot/xdp/tcp.c b/src/libknot/xdp/tcp.c
index 49c7081a32946fdaa7f12da0e93b5a40ff6d47b4..7f4f0f0fa0c9941ccdfcf33206b6ada884eb7687 100644
--- a/src/libknot/xdp/tcp.c
+++ b/src/libknot/xdp/tcp.c
@@ -198,9 +198,9 @@ static bool check_seq_ack(const knot_xdp_msg_t *msg, const knot_tcp_conn_t *conn
 }
 
 _public_
-int knot_xdp_tcp_relay(knot_xdp_socket_t *socket, knot_xdp_msg_t msgs[], uint32_t msg_count,
-                       knot_tcp_table_t *tcp_table, knot_tcp_table_t *syn_table,
-                       knot_tcp_relay_dynarray_t *relays)
+int knot_tcp_relay(knot_xdp_socket_t *socket, knot_xdp_msg_t msgs[], uint32_t msg_count,
+                   knot_tcp_table_t *tcp_table, knot_tcp_table_t *syn_table,
+                   knot_tcp_relay_dynarray_t *relays)
 {
 	if (msg_count == 0) {
 		return KNOT_EOK;
@@ -371,8 +371,8 @@ int knot_xdp_tcp_relay(knot_xdp_socket_t *socket, knot_xdp_msg_t msgs[], uint32_
 }
 
 _public_
-int knot_xdp_tcp_send_data(knot_tcp_relay_dynarray_t *relays, const knot_tcp_relay_t *relay,
-                           void *data, size_t data_len)
+int knot_tcp_send_data(knot_tcp_relay_dynarray_t *relays, const knot_tcp_relay_t *relay,
+                       void *data, size_t data_len)
 {
 	if (relays == NULL || relay == NULL || data == NULL) {
 		return KNOT_EINVAL;
@@ -412,7 +412,7 @@ int knot_xdp_tcp_send_data(knot_tcp_relay_dynarray_t *relays, const knot_tcp_rel
 }
 
 _public_
-void knot_xdp_tcp_relay_free(knot_tcp_relay_dynarray_t *relays)
+void knot_tcp_relay_free(knot_tcp_relay_dynarray_t *relays)
 {
 	if (relays == NULL) {
 		return;
@@ -428,8 +428,7 @@ void knot_xdp_tcp_relay_free(knot_tcp_relay_dynarray_t *relays)
 }
 
 _public_
-int knot_xdp_tcp_send(knot_xdp_socket_t *socket, knot_tcp_relay_t relays[],
-                      uint32_t relay_count)
+int knot_tcp_send(knot_xdp_socket_t *socket, knot_tcp_relay_t relays[], uint32_t relay_count)
 {
 	if (relay_count == 0) {
 		return KNOT_EOK;
@@ -520,11 +519,10 @@ int knot_xdp_tcp_send(knot_xdp_socket_t *socket, knot_tcp_relay_t relays[],
 }
 
 _public_
-int knot_xdp_tcp_timeout(knot_tcp_table_t *tcp_table, knot_xdp_socket_t *socket,
-                         uint32_t max_at_once,
-                         uint32_t close_timeout, uint32_t reset_timeout,
-                         uint32_t reset_at_least, size_t reset_inbufs,
-                         uint32_t *close_count, uint32_t *reset_count)
+int knot_tcp_sweep(knot_tcp_table_t *tcp_table, knot_xdp_socket_t *socket,
+                   uint32_t max_at_once, uint32_t close_timeout, uint32_t reset_timeout,
+                   uint32_t reset_at_least, size_t reset_buf_size,
+                   uint32_t *close_count, uint32_t *reset_count)
 {
 	if (tcp_table == NULL) {
 		return KNOT_EINVAL;
@@ -541,14 +539,14 @@ int knot_xdp_tcp_timeout(knot_tcp_table_t *tcp_table, knot_xdp_socket_t *socket,
 	WALK_LIST_DELSAFE(conn, next, *tcp_table_timeout(tcp_table)) {
 		if (i++ < reset_at_least ||
 		    now - conn->last_active >= reset_timeout ||
-		    (reset_inbufs > 0 && conn->inbuf.iov_len > 0)) {
+		    (reset_buf_size > 0 && conn->inbuf.iov_len > 0)) {
 			rl.answer = XDP_TCP_RESET;
 
 			// move this conn into to-remove list
 			rem_node((node_t *)conn);
 			add_tail(&to_remove, (node_t *)conn);
 
-			reset_inbufs -= MIN(reset_inbufs, conn->inbuf.iov_len);
+			reset_buf_size -= MIN(reset_buf_size, conn->inbuf.iov_len);
 		} else if (now - conn->last_active >= close_timeout) {
 			if (conn->state != XDP_TCP_CLOSING) {
 				rl.answer = XDP_TCP_CLOSE;
@@ -556,7 +554,7 @@ int knot_xdp_tcp_timeout(knot_tcp_table_t *tcp_table, knot_xdp_socket_t *socket,
 					(*close_count)++;
 				}
 			}
-		} else if (reset_inbufs == 0) {
+		} else if (reset_buf_size == 0) {
 			break;
 		}
 
@@ -568,7 +566,7 @@ int knot_xdp_tcp_timeout(knot_tcp_table_t *tcp_table, knot_xdp_socket_t *socket,
 	}
 
 	if (ret == KNOT_EOK) {
-		ret = knot_xdp_tcp_send(socket, knot_tcp_relay_dynarray_arr(&relays), relays.size);
+		ret = knot_tcp_send(socket, knot_tcp_relay_dynarray_arr(&relays), relays.size);
 	}
 
 	// immediately remove resetted connections
@@ -581,6 +579,6 @@ int knot_xdp_tcp_timeout(knot_tcp_table_t *tcp_table, knot_xdp_socket_t *socket,
 		}
 	}
 
-	knot_xdp_tcp_relay_free(&relays);
+	knot_tcp_relay_free(&relays);
 	return ret;
 }
diff --git a/src/libknot/xdp/tcp.h b/src/libknot/xdp/tcp.h
index 48c77160fb63dfffaaffdc3b0a60b2dddcd56649..2540e73d431af58520b515dbb0de7cbabd30edb6 100644
--- a/src/libknot/xdp/tcp.h
+++ b/src/libknot/xdp/tcp.h
@@ -51,7 +51,7 @@ typedef enum {
 	XDP_TCP_FREE_PREFIX,
 } knot_tcp_relay_free_t;
 
-typedef struct knot_xdp_tcp_conn {
+typedef struct knot_tcp_conn {
 	struct {
 		void *list_node_placeholder1;
 		void *list_node_placeholder2;
@@ -67,7 +67,7 @@ typedef struct knot_xdp_tcp_conn {
 	uint32_t last_active;
 	knot_tcp_state_t state;
 	struct iovec inbuf;
-	struct knot_xdp_tcp_conn *next;
+	struct knot_tcp_conn *next;
 } knot_tcp_conn_t;
 
 typedef struct {
@@ -134,9 +134,9 @@ void knot_tcp_table_free(knot_tcp_table_t *table);
  *
  * \return KNOT_E*
  */
-int knot_xdp_tcp_relay(knot_xdp_socket_t *socket, knot_xdp_msg_t msgs[], uint32_t msg_count,
-                       knot_tcp_table_t *tcp_table, knot_tcp_table_t *syn_table,
-                       knot_tcp_relay_dynarray_t *relays);
+int knot_tcp_relay(knot_xdp_socket_t *socket, knot_xdp_msg_t msgs[], uint32_t msg_count,
+                   knot_tcp_table_t *tcp_table, knot_tcp_table_t *syn_table,
+                   knot_tcp_relay_dynarray_t *relays);
 
 /*!
  * \brief Answer one relay with one or more relays with data payload.
@@ -148,13 +148,13 @@ int knot_xdp_tcp_relay(knot_xdp_socket_t *socket, knot_xdp_msg_t msgs[], uint32_
  *
  * \return KNOT_EOK, KNOT_ENOMEM
  */
-int knot_xdp_tcp_send_data(knot_tcp_relay_dynarray_t *relays, const knot_tcp_relay_t *relay,
-                           void *data, size_t data_len);
+int knot_tcp_send_data(knot_tcp_relay_dynarray_t *relays, const knot_tcp_relay_t *relay,
+                       void *data, size_t data_len);
 
 /*!
  * \brief Free resources in 'relays'.
  */
-void knot_xdp_tcp_relay_free(knot_tcp_relay_dynarray_t *relays);
+void knot_tcp_relay_free(knot_tcp_relay_dynarray_t *relays);
 
 /*!
  * \brief Send TCP packets.
@@ -165,8 +165,7 @@ void knot_xdp_tcp_relay_free(knot_tcp_relay_dynarray_t *relays);
  *
  * \return KNOT_E*
  */
-int knot_xdp_tcp_send(knot_xdp_socket_t *socket, knot_tcp_relay_t relays[],
-                      uint32_t relay_count);
+int knot_tcp_send(knot_xdp_socket_t *socket, knot_tcp_relay_t relays[], uint32_t relay_count);
 
 /*!
  * \brief Cleanup old TCP connections, perform timeout checks.
@@ -178,17 +177,16 @@ int knot_xdp_tcp_send(knot_xdp_socket_t *socket, knot_tcp_relay_t relays[],
  * \param reset_timeout    Reset connections older than this (usecs).
  * \param reset_at_least   Reset at least this number of oldest conecctions, even
  *                         when not yet timeouted.
- * \param reset_inbufs     Reset oldest connection with buffered partial DNS messages
+ * \param reset_buf_size   Reset oldest connection with buffered partial DNS messages
  *                         to free up this amount of space.
  * \param close_count      Optional: Out: number of closed connections.
  * \param reset_count      Optional: Out: number of reset connections.
  *
  * \return  KNOT_E*
  */
-int knot_xdp_tcp_timeout(knot_tcp_table_t *tcp_table, knot_xdp_socket_t *socket,
-                         uint32_t max_at_once,
-                         uint32_t close_timeout, uint32_t reset_timeout,
-                         uint32_t reset_at_least, size_t reset_inbufs,
-                         uint32_t *close_count, uint32_t *reset_count);
+int knot_tcp_sweep(knot_tcp_table_t *tcp_table, knot_xdp_socket_t *socket,
+                   uint32_t max_at_once, uint32_t close_timeout, uint32_t reset_timeout,
+                   uint32_t reset_at_least, size_t reset_buf_size,
+                   uint32_t *close_count, uint32_t *reset_count);
 
 /*! @} */
diff --git a/src/utils/kxdpgun/main.c b/src/utils/kxdpgun/main.c
index f90cbf4973d8b2cbc71078c7f86bcf732065acd5..a9de6f31a3f96d09de4481cf600ac77bb55f5681 100644
--- a/src/utils/kxdpgun/main.c
+++ b/src/utils/kxdpgun/main.c
@@ -425,7 +425,7 @@ void *xdp_gun_thread(void *_ctx)
 				}
 				if (ctx->tcp) {
 					knot_tcp_relay_dynarray_t relays = { 0 };
-					ret = knot_xdp_tcp_relay(xsk, pkts, recvd, tcp_table, NULL, &relays);
+					ret = knot_tcp_relay(xsk, pkts, recvd, tcp_table, NULL, &relays);
 					if (ret != KNOT_EOK) {
 						errors++;
 						break;
@@ -440,7 +440,7 @@ void *xdp_gun_thread(void *_ctx)
 							local_stats.synack_recv++;
 							rl->answer = XDP_TCP_ANSWER | XDP_TCP_DATA;
 							put_dns_payload(&payl, true, ctx, &payload_ptr);
-							(void)knot_xdp_tcp_send_data(&relays, rl, payl.iov_base, payl.iov_len);
+							(void)knot_tcp_send_data(&relays, rl, payl.iov_base, payl.iov_len);
 							break;
 						case XDP_TCP_DATA:
 							if (check_dns_payload(&rl->data, ctx, &local_stats)) {
@@ -458,12 +458,12 @@ void *xdp_gun_thread(void *_ctx)
 						}
 					}
 
-					ret = knot_xdp_tcp_send(xsk, knot_tcp_relay_dynarray_arr(&relays), relays.size);
+					ret = knot_tcp_send(xsk, knot_tcp_relay_dynarray_arr(&relays), relays.size);
 					if (ret != KNOT_EOK) {
 						errors++;
 					}
 
-					knot_xdp_tcp_relay_free(&relays);
+					knot_tcp_relay_free(&relays);
 				} else {
 					for (int i = 0; i < recvd; i++) {
 						(void)check_dns_payload(&pkts[i].payload, ctx, &local_stats);
diff --git a/tests/libknot/test_xdp_tcp.c b/tests/libknot/test_xdp_tcp.c
index b43170e987b79bc0b0b402ce650332adc50efe47..784337eb571e7c60a730403051e70ee7e9cda1fd 100644
--- a/tests/libknot/test_xdp_tcp.c
+++ b/tests/libknot/test_xdp_tcp.c
@@ -197,7 +197,7 @@ void test_syn(void)
 	knot_xdp_msg_t msg;
 	knot_tcp_relay_dynarray_t relays = { 0 };
 	prepare_msg(&msg, KNOT_XDP_MSG_SYN, 1, 2);
-	int ret = knot_xdp_tcp_relay(test_sock, &msg, 1, test_table, NULL, &relays);
+	int ret = knot_tcp_relay(test_sock, &msg, 1, test_table, NULL, &relays);
 	is_int(KNOT_EOK, ret, "SYN: relay OK");
 	is_int(msg.seqno + 1, sent_ackno, "SYN: ackno");
 	check_sent(0, 0, 1, 0);
@@ -214,7 +214,7 @@ void test_syn(void)
 	ok(memcmp(&conn->ip_rem, &msg.ip_from, sizeof(msg.ip_from)) == 0, "SYN: conn IP from");
 	ok(memcmp(&conn->ip_loc, &msg.ip_to, sizeof(msg.ip_to)) == 0, "SYN: conn IP to");
 
-	knot_xdp_tcp_relay_free(&relays);
+	knot_tcp_relay_free(&relays);
 	test_conn = conn;
 }
 
@@ -224,7 +224,7 @@ void test_establish(void)
 	knot_tcp_relay_dynarray_t relays = { 0 };
 	prepare_msg(&msg, KNOT_XDP_MSG_ACK, 1, 2);
 	prepare_seqack(&msg, 0, 1);
-	int ret = knot_xdp_tcp_relay(test_sock, &msg, 1, test_table, NULL, &relays);
+	int ret = knot_tcp_relay(test_sock, &msg, 1, test_table, NULL, &relays);
 	is_int(KNOT_EOK, ret, "establish: relay OK");
 	check_sent(0, 0, 0, 0);
 	is_int(0, relays.size, "establish: no relay");
@@ -234,7 +234,7 @@ void test_establish(void)
 	ok(rl->conn == test_conn, "establish: same connection");
 	is_int(XDP_TCP_NORMAL, rl->conn->state, "establish: connection state");*/
 
-	knot_xdp_tcp_relay_free(&relays);
+	knot_tcp_relay_free(&relays);
 	clean_table();
 }
 
@@ -243,7 +243,7 @@ void test_syn_ack(void)
 	knot_xdp_msg_t msg;
 	knot_tcp_relay_dynarray_t relays = { 0 };
 	prepare_msg(&msg, KNOT_XDP_MSG_SYN | KNOT_XDP_MSG_ACK, 1000, 2000);
-	int ret = knot_xdp_tcp_relay(test_sock, &msg, 1, test_table, NULL, &relays);
+	int ret = knot_tcp_relay(test_sock, &msg, 1, test_table, NULL, &relays);
 	is_int(KNOT_EOK, ret, "SYN+ACK: relay OK");
 	is_int(msg.seqno + 1, sent_ackno, "SYN+ACK: ackno");
 	check_sent(1, 0, 0, 0);
@@ -253,7 +253,7 @@ void test_syn_ack(void)
 	ok(rl->conn != NULL, "SYN+ACK: connection present");
 
 	test_conn = rl->conn;
-	knot_xdp_tcp_relay_free(&relays);
+	knot_tcp_relay_free(&relays);
 }
 
 void test_data_fragments(void)
@@ -281,7 +281,7 @@ void test_data_fragments(void)
 	prepare_seqack(&msgs[3], 15, 0);
 	prepare_data(&msgs[3], "\x02""AB""\xff\xff""abcdefghijklmnopqrstuvwxyz...", 34);
 
-	int ret = knot_xdp_tcp_relay(test_sock, msgs, sizeof(msgs) / sizeof(msgs[0]), test_table, NULL, &relays);
+	int ret = knot_tcp_relay(test_sock, msgs, sizeof(msgs) / sizeof(msgs[0]), test_table, NULL, &relays);
 	is_int(KNOT_EOK, ret, "fragments: relay OK");
 	is_int(msgs[3].ackno, sent_seqno, "fragments: seqno");
 	is_int(msgs[3].seqno + msgs[3].payload.iov_len, sent_ackno, "fragments: ackno");
@@ -310,7 +310,7 @@ void test_data_fragments(void)
 	ok(memcmp("AB", rls[3].data.iov_base, rls[3].data.iov_len) == 0, "fragments3: data");
 	ok(rls[3].conn == test_conn, "fragments3: same connection");
 
-	knot_xdp_tcp_relay_free(&relays);
+	knot_tcp_relay_free(&relays);
 }
 
 void test_close(void)
@@ -321,7 +321,7 @@ void test_close(void)
 	knot_tcp_relay_dynarray_t relays = { 0 };
 	prepare_msg(&msg, KNOT_XDP_MSG_FIN | KNOT_XDP_MSG_ACK, be16toh(test_conn->ip_rem.sin6_port), be16toh(test_conn->ip_loc.sin6_port));
 	prepare_seqack(&msg, 0, 0);
-	int ret = knot_xdp_tcp_relay(test_sock, &msg, 1, test_table, NULL, &relays);
+	int ret = knot_tcp_relay(test_sock, &msg, 1, test_table, NULL, &relays);
 	is_int(KNOT_EOK, ret, "close: relay 1 OK");
 	check_sent(0, 0, 0, 1);
 	is_int(1, relays.size, "close: one relay");
@@ -329,11 +329,11 @@ void test_close(void)
 	is_int(XDP_TCP_CLOSE, rl->action, "close: relay action");
 	ok(rl->conn == test_conn, "close: same connection");
 	is_int(XDP_TCP_CLOSING, rl->conn->state, "close: conn state");
-	knot_xdp_tcp_relay_free(&relays);
+	knot_tcp_relay_free(&relays);
 
 	msg.flags &= ~KNOT_XDP_MSG_FIN;
 	prepare_seqack(&msg, 0, 0);
-	ret = knot_xdp_tcp_relay(test_sock, &msg, 1, test_table, NULL, &relays);
+	ret = knot_tcp_relay(test_sock, &msg, 1, test_table, NULL, &relays);
 	is_int(KNOT_EOK, ret, "close: relay 2 OK");
 	check_sent(0, 0, 0, 0);
 	is_int(conns_pre - 1, test_table->usage, "close: connection removed");
@@ -353,33 +353,33 @@ void test_many(void)
 	}
 
 	knot_tcp_relay_dynarray_t relays = { 0 };
-	int ret = knot_xdp_tcp_relay(test_sock, msgs, CONNS, test_table, NULL, &relays);
+	int ret = knot_tcp_relay(test_sock, msgs, CONNS, test_table, NULL, &relays);
 	is_int(KNOT_EOK, ret, "many: relay OK");
 	check_sent(0, 0, CONNS, 0);
 	is_int(CONNS, relays.size, "many: relays count");
 	is_int(CONNS, test_table->usage, "many: table usage");
 
-	knot_xdp_tcp_relay_free(&relays);
+	knot_tcp_relay_free(&relays);
 	usleep(timeout_time);
 	knot_xdp_msg_t *survive = &msgs[i_survive];
 	survive->flags = (KNOT_XDP_MSG_TCP | KNOT_XDP_MSG_ACK);
 	knot_tcp_conn_t *surv_conn = tcp_table_find(test_table, survive);
 	fix_seqack(survive);
 	prepare_data(survive, "\x00\x00", 2);
-	(void)knot_xdp_tcp_relay(test_sock, survive, 1, test_table, NULL, &relays);
+	(void)knot_tcp_relay(test_sock, survive, 1, test_table, NULL, &relays);
 	is_int(1, relays.size, "many/survivor: one relay");
 	knot_tcp_relay_t *rl = &knot_tcp_relay_dynarray_arr(&relays)[0];
 	clean_sent();
 
 	uint32_t reset_count = 0, close_count = 0;
-	ret = knot_xdp_tcp_timeout(test_table, test_sock, UINT32_MAX, timeout_time, UINT32_MAX, 0, 0, &close_count, &reset_count);
+	ret = knot_tcp_sweep(test_table, test_sock, UINT32_MAX, timeout_time, UINT32_MAX, 0, 0, &close_count, &reset_count);
 	is_int(KNOT_EOK, ret, "many/timeout1: OK");
 	is_int(CONNS - 1, close_count, "many/timeout1: close count");
 	is_int(0, reset_count, "may/timeout1: reset count");
 	check_sent(0, 0, 0, CONNS - 1);
 
 	close_count = 0;
-	ret = knot_xdp_tcp_timeout(test_table, test_sock, UINT32_MAX, UINT32_MAX, timeout_time, 0, 0, &close_count, &reset_count);
+	ret = knot_tcp_sweep(test_table, test_sock, UINT32_MAX, UINT32_MAX, timeout_time, 0, 0, &close_count, &reset_count);
 	is_int(KNOT_EOK, ret, "many/timeout2: OK");
 	is_int(0, close_count, "many/timeout2: close count");
 	is_int(CONNS - 1, reset_count, "may/timeout2: reset count");
@@ -402,7 +402,7 @@ void test_ibufs_size(void)
 	for (int i = 0; i < CONNS; i++) {
 		prepare_msg(&msgs[i], KNOT_XDP_MSG_SYN, i + 2000, 1);
 	}
-	int ret = knot_xdp_tcp_relay(test_sock, msgs, CONNS, test_table, NULL, &relays);
+	int ret = knot_tcp_relay(test_sock, msgs, CONNS, test_table, NULL, &relays);
 	is_int(KNOT_EOK, ret, "ibufs: open OK");
 	check_sent(0, 0, CONNS, 0);
 	for (int i = 0; i < CONNS; i++) {
@@ -414,11 +414,11 @@ void test_ibufs_size(void)
 	// first connection will start a fragment buf then finish it
 	fix_seqack(&msgs[0]);
 	prepare_data(&msgs[0], "\x00\x0a""lorem", 7);
-	ret = knot_xdp_tcp_relay(test_sock, &msgs[0], 1, test_table, NULL, &relays);
+	ret = knot_tcp_relay(test_sock, &msgs[0], 1, test_table, NULL, &relays);
 	is_int(KNOT_EOK, ret, "ibufs: must be OK");
 	check_sent(1, 0, 0, 0);
 	is_int(7, test_table->inbufs_total, "inbufs: first inbuf");
-	knot_xdp_tcp_relay_free(&relays);
+	knot_tcp_relay_free(&relays);
 
 	// other connection will just store fragments
 	fix_seqacks(msgs, CONNS);
@@ -426,17 +426,17 @@ void test_ibufs_size(void)
 	prepare_data(&msgs[1], "\x00\xff""12345", 7);
 	prepare_data(&msgs[2], "\xff\xff""abcde", 7);
 	prepare_data(&msgs[3], "\xff\xff""abcde", 7);
-	ret = knot_xdp_tcp_relay(test_sock, msgs, CONNS, test_table, NULL, &relays);
+	ret = knot_tcp_relay(test_sock, msgs, CONNS, test_table, NULL, &relays);
 	is_int(KNOT_EOK, ret, "inbufs: relay OK");
 	check_sent(CONNS, 0, 0, 0);
 	is_int(21, test_table->inbufs_total, "inbufs: after change");
 	is_int(1, relays.size, "inbufs: one relay");
 	is_int(10, knot_tcp_relay_dynarray_arr(&relays)[0].data.iov_len, "inbufs: data length");
-	knot_xdp_tcp_relay_free(&relays);
+	knot_tcp_relay_free(&relays);
 
 	// now free some
 	uint32_t reset_count = 0, close_count = 0;
-	ret = knot_xdp_tcp_timeout(test_table, test_sock, UINT32_MAX, UINT32_MAX, UINT32_MAX, 0, 8, &close_count, &reset_count);
+	ret = knot_tcp_sweep(test_table, test_sock, UINT32_MAX, UINT32_MAX, UINT32_MAX, 0, 8, &close_count, &reset_count);
 	is_int(KNOT_EOK, ret, "inbufs: timeout OK");
 	check_sent(0, 2, 0, 0);
 	is_int(0, close_count, "inbufs: close count");