]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
xdp: add missing Ethernet header in socket->frame_limit calculation from MTU
authorDaniel Salzman <daniel.salzman@nic.cz>
Thu, 2 Jul 2026 06:14:17 +0000 (08:14 +0200)
committerDaniel Salzman <daniel.salzman@nic.cz>
Thu, 2 Jul 2026 11:13:25 +0000 (13:13 +0200)
src/libknot/xdp/xdp.c

index 214675a8dd4811ec79a14f914e499933edcc33f4..5dbc5d935d1df76d037de05b927e1dd4bee5cb40 100644 (file)
@@ -234,8 +234,8 @@ int knot_xdp_init(knot_xdp_socket_t **socket, const char *if_name, int if_queue,
 
        (*socket)->frame_limit = FRAME_SIZE;
        ret = knot_eth_mtu(if_name);
-       if (ret > 0) {
-               (*socket)->frame_limit = MIN((unsigned)ret, (*socket)->frame_limit);
+       if (ret > 0) { // Note: VLAN header isn't considered for simplicity.
+               (*socket)->frame_limit = MIN(sizeof(struct ethhdr) + ret, (*socket)->frame_limit);
        }
 
        if (flags & KNOT_XDP_FILTER_ROUTE) {