From 4ca8bb03d75f9588239e3d24d1c97493eb1ecd97 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Wed, 22 Jul 2026 10:40:07 -0400 Subject: [PATCH] MT#55283 refactor into rtpe_pull_trim Use a helper function to adjust the skb pointers. No functional change. Change-Id: I7774cb2450a419197f0102de3898cf9ffcc16e5b --- kernel-module/nft_rtpengine.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/kernel-module/nft_rtpengine.c b/kernel-module/nft_rtpengine.c index 712dc11b4..e70a0da3b 100644 --- a/kernel-module/nft_rtpengine.c +++ b/kernel-module/nft_rtpengine.c @@ -6988,6 +6988,14 @@ static int ring_buffer_insert(int action, struct rtpengine_table *t, struct rtpe } +// pull past the transport (UDP) header and trim to correct length +static void rtpe_pull_trim(struct sk_buff *skb, unsigned int datalen) { + skb_gso_reset(skb); + skb_pull(skb, skb->transport_header - skb->network_header + sizeof(struct udphdr)); + skb_trim(skb, datalen); +} + + static int rtpengine46(struct sk_buff *oskb, struct rtpengine_table *t, struct re_address *src, struct re_address *dst, uint8_t in_tos, struct net *net) @@ -7039,11 +7047,7 @@ static int rtpengine46(struct sk_buff *oskb, if (!skb) goto out_target; - skb_gso_reset(skb); - - // pull and trim to data - skb_pull(skb, skb->transport_header - skb->network_header + sizeof(*uh)); - skb_trim(skb, datalen); + rtpe_pull_trim(skb, datalen); // all our outputs filled? _r_lock(&g->outputs_lock, flags);