: nf_queue: handle GSO packets
Subsystems (3)
[NETFILTER]: nf_queue: handle GSO packets
Handle GSO packets in nf_queue by segmenting them before queueing to avoid breaking GSO in case they get mangled.
Signed-off-by Patrick McHardy <[email protected]>
---
commit 25b15e13491e9904b4fdf60b67a3c5d933e35fca
tree 68eab97a1634bebdd0d8431b5487df0b8f88bcf3
parent d4bf859dbf0158d8ac0dc7d9d88d68c6882233df
author Patrick McHardy <[email protected]> Sat, 05 Aug 2006 09:16:37 +0200 committer Patrick McHardy <[email protected]> Sat, 05 Aug 2006 09:16:37 +0200
net/netfilter/core.c | 2 + net/netfilter/nf_internals.h | 2 + net/netfilter/nf_queue.c | 80 ++++++++++++++++++++++++++++++++---------- 3 files changed, 62 insertions(+), 22 deletions(-)
net/netfilter/core.c +1 -1
@@ -182,7 +182,7 @@ next_hook: ret = -EPERM ; }else if ((verdict &NF_VERDICT_MASK ) ==NF_QUEUE ) {NFDEBUG ("nf_hook: Verdict = QUEUE.\n" ); -if (!nf_queue (pskb, elem, pf, hook, indev, outdev, okfn, +if (!nf_queue (*pskb, elem, pf, hook, indev, outdev, okfn, verdict >>NF_VERDICT_BITS )) goto next_hook; }
net/netfilter/nf_internals.h +1 -1
@@ -23,7 +23,7 @@ extern unsigned int nf_iterate(struct li int hook_thresh);/* nf_queue.c */ -extern int nf_queue(struct sk_buff **skb, +extern int nf_queue(struct sk_buff *skb, struct list_head *elem, int pf, unsigned int hook, struct net_device *indev,
net/netfilter/nf_queue.c +60 -20
133 lines not on this page · raw message