IPV4 IPComp : threshold comparison
Subsystems (4)
PATCH 1/1 IPV4 IPComp : threshold comparison
Hello,
I'm not sure how exactly we should check threshold. In IPsec tunnel mode, the original comparison code seems to be including IP header length.
Could you check it?
Regards,
-mk
===== ipcomp.c 1.6 vs edited =====
ipcomp.c renamed from net/ipv4/ipcomp.c +6 -1
@@ -168,6 +168,7 @@struct iphdr iph;char buf[60 ]; } tmp_iph; +int hdr_len =0 ;if (skb->ip_summed ==CHECKSUM_HW &&skb_checksum_help (skb) ==NULL ) { err = -EINVAL ;
@@ -180,7 +181,11 @@ goto error;/* Don't bother compressing */ -if (skb->len < ipcd->threshold) { +if (!x->props.mode) { + iph = skb->nh.iph; + hdr_len = iph->ihl *4 ; + } +if ((skb->len - hdr_len) < ipcd->threshold) {if (x->props.mode) {ipcomp_tunnel_encap (x, skb); iph = skb->nh.iph;
Quoted 1 line · On Sun, 18 May 2003, Mitsuru KANDA / [ISO-2022-JP] $B?@ED(B $B=<(B wrote:
I'm not sure how exactly we should check threshold.
We should check the length of the IP payload, which the current code is only currently doing for tunnel mode.
Quoted 2 lines
In IPsec tunnel mode, the original comparison code seems to be including IP header length.
It is counting the inner IP header, which is correct, as it is part of the final IP payload. The transport mode calculation is incorrect.
Quoted 1 line
Could you check it?
Your patch fixes the calculation for transport mode, and looks correct.
- James
Signature · 2 lines
James Morris <[email protected]>
From: Mitsuru KANDA / 神田 充 <[email protected]>
Date: Sun, 18 May 2003 02:00:01 +0900
===== ipcomp.c 1.6 vs edited =====
--- 1.6/net/ipv4/ipcomp.c Tue May 13 05:58:03 2003
+++ edited/ipcomp.c Sun May 18 01:42:22 2003
I am applying this, but please you USAGI guys start to generate properly rooted patched for me ok?
I want something of the form:
--- a/net/ipv4/ipcomp.c Tue May 13 05:58:03 2003
+++ b/net/ipv4/ipcomp.c Sun May 18 01:42:22 2003
Almost everyone sends me patches like this, USAGI are the one exception. If everyone sends me patches this way, then all of my patch applying scripts know they can simply use "patch -p1" when sitting at top of kernel tree.
Probably all of the USAGI patches look this way because of CVS or something like that.
Thank you.