]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
xdp: add output file parameter to knot_xdp_info()
authorDaniel Salzman <daniel.salzman@nic.cz>
Wed, 25 Mar 2020 09:57:57 +0000 (10:57 +0100)
committerDaniel Salzman <daniel.salzman@nic.cz>
Tue, 21 Apr 2020 16:43:10 +0000 (18:43 +0200)
src/libknot/xdp/af_xdp.c
src/libknot/xdp/af_xdp.h

index 88ee02d9282bc522f9480e7c4819598a03dd8cd1..01c9eff99abb8e674f3d886664018d70eb39a748 100644 (file)
@@ -658,9 +658,9 @@ void knot_xdp_recv_finish(knot_xdp_socket_t *socket, const knot_xdp_msg_t msgs[]
 }
 
 _public_
-void knot_xdp_info(const knot_xdp_socket_t *socket)
+void knot_xdp_info(const knot_xdp_socket_t *socket, FILE *file)
 {
-       if (socket == NULL) {
+       if (socket == NULL || file == NULL) {
                return;
        }
 
@@ -669,21 +669,21 @@ void knot_xdp_info(const knot_xdp_socket_t *socket)
                ((*(ring)->producer - *(ring)->consumer) & (ring)->mask)
 
        #define RING_PRINFO(name, ring) \
-               printf("Ring %s: size %4d, busy %4d (prod %4d, cons %4d)\n", \
-                      name, (unsigned)(ring)->size, \
-                      (unsigned)RING_BUSY((ring)), \
-                      (unsigned)*(ring)->producer, (unsigned)*(ring)->consumer)
+               fprintf(file, "Ring %s: size %4d, busy %4d (prod %4d, cons %4d)\n", \
+                       name, (unsigned)(ring)->size, \
+                       (unsigned)RING_BUSY((ring)), \
+                       (unsigned)*(ring)->producer, (unsigned)*(ring)->consumer)
 
        const int rx_busyf = RING_BUSY(&socket->umem->fq) + RING_BUSY(&socket->rx);
-       printf("\nLOST RX frames: %4d", (int)(UMEM_FRAME_COUNT_RX - rx_busyf));
+       fprintf(file, "\nLOST RX frames: %4d", (int)(UMEM_FRAME_COUNT_RX - rx_busyf));
 
        const int tx_busyf = RING_BUSY(&socket->umem->cq) + RING_BUSY(&socket->tx);
        const int tx_freef = socket->umem->tx_free_count;
-       printf("\nLOST TX frames: %4d\n", (int)(UMEM_FRAME_COUNT_TX - tx_busyf - tx_freef));
+       fprintf(file, "\nLOST TX frames: %4d\n", (int)(UMEM_FRAME_COUNT_TX - tx_busyf - tx_freef));
 
        RING_PRINFO("FQ", &socket->umem->fq);
        RING_PRINFO("RX", &socket->rx);
        RING_PRINFO("TX", &socket->tx);
        RING_PRINFO("CQ", &socket->umem->cq);
-       printf("TX free frames: %4d\n", tx_freef);
+       fprintf(file, "TX free frames: %4d\n", tx_freef);
 }
index da49e9ddccfc6b9a8eaafcddb599917ec355d915..78c3d9a3788ee6724f0d8b74e3a58103ff49df1c 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <stdbool.h>
 #include <stdint.h>
+#include <stdio.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 
@@ -151,5 +152,6 @@ void knot_xdp_recv_finish(knot_xdp_socket_t *socket, const knot_xdp_msg_t msgs[]
  * \brief Print some info about the XDP socket.
  *
  * \param socket  XDP socket.
+ * \param file    Output file.
  */
-void knot_xdp_info(const knot_xdp_socket_t *socket);
+void knot_xdp_info(const knot_xdp_socket_t *socket, FILE *file);