This patch makes the flow cache effective on incoming packets :) Cheers, -- Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ ) Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Index: kernel-source-2.5/net/ipv4/xfrm4_policy.c =================================================================== RCS file: /home/gondolin/herbert/src/CVS/debian/kernel-source-2.5/net/ipv4/xfrm4_policy.c,v retrieving revision 1.1.1.2 diff -u -r1.1.1.2 xfrm4_policy.c --- kernel-source-2.5/net/ipv4/xfrm4_policy.c 4 May 2003 23:53:36 -0000 1.1.1.2 +++ kernel-source-2.5/net/ipv4/xfrm4_policy.c 12 Jun 2003 12:12:24 -0000 @@ -172,6 +172,7 @@ struct iphdr *iph = skb->nh.iph; u8 *xprth = skb->nh.raw + iph->ihl*4; + memset(fl, 0, sizeof(struct flowi)); if (!(iph->frag_off & htons(IP_MF | IP_OFFSET))) { switch (iph->protocol) { case IPPROTO_UDP: @@ -212,8 +213,6 @@ fl->fl_ipsec_spi = 0; break; }; - } else { - memset(fl, 0, sizeof(struct flowi)); } fl->proto = iph->protocol; fl->fl4_dst = iph->daddr; Index: kernel-source-2.5/net/ipv6/xfrm6_policy.c =================================================================== RCS file: /home/gondolin/herbert/src/CVS/debian/kernel-source-2.5/net/ipv6/xfrm6_policy.c,v retrieving revision 1.1.1.3 diff -u -r1.1.1.3 xfrm6_policy.c --- kernel-source-2.5/net/ipv6/xfrm6_policy.c 27 May 2003 08:38:40 -0000 1.1.1.3 +++ kernel-source-2.5/net/ipv6/xfrm6_policy.c 12 Jun 2003 12:15:30 -0000 @@ -177,6 +177,7 @@ struct ipv6_opt_hdr *exthdr = (struct ipv6_opt_hdr*)(skb->nh.raw + offset); u8 nexthdr = skb->nh.ipv6h->nexthdr; + memset(fl, 0, sizeof(struct flowi)); ipv6_addr_copy(&fl->fl6_dst, &hdr->daddr); ipv6_addr_copy(&fl->fl6_src, &hdr->saddr);