From 67efb746c492c25fac4d77aa16b808a8aa26089d Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 19 Feb 2023 22:24:32 +0100 Subject: pfinet: Align packets The Ethernet header is 14 bytes long, and thus leads to IP header misalignment. This uses skb_reserve to introduce 2 bytes of padding to realign IP headers. --- pfinet/tunnel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'pfinet/tunnel.c') diff --git a/pfinet/tunnel.c b/pfinet/tunnel.c index e11ab670..b519ebd1 100644 --- a/pfinet/tunnel.c +++ b/pfinet/tunnel.c @@ -391,7 +391,8 @@ trivfs_S_io_write (struct trivfs_protid *cred, pthread_mutex_lock (&tdev->lock); pthread_mutex_lock (&net_bh_lock); - skb = alloc_skb (datalen, GFP_ATOMIC); + skb = alloc_skb (NET_IP_ALIGN + datalen, GFP_ATOMIC); + skb_reserve(skb, NET_IP_ALIGN); skb->len = datalen; skb->dev = &tdev->dev; -- cgit v1.2.3