diff mbox

xfrm bugs with mark logic

Message ID 20100702162403.GA10809@myhost
State Superseded, archived
Delegated to: David Miller
Headers show

Commit Message

Peter Kosyh July 2, 2010, 4:24 p.m. UTC
> 
> Hi Peter
> 
> XFRMA_MARK part already in net-2.6 tree :
> 
> http://git.kernel.org/?p=linux/kernel/git/davem/net-2.6.git;a=commit;h=4efd7e833591721bec21cc4730a7f6261417840f
> 
> Please submit another patch the second problem you spotted ?
> 

Yes, i see. Here it is, but i am little unsure about ipv6 fix.

Comments

Eric Dumazet July 2, 2010, 4:59 p.m. UTC | #1
Le vendredi 02 juillet 2010 à 20:24 +0400, Peter Kosyh a écrit :
> > 
> > Hi Peter
> > 
> > XFRMA_MARK part already in net-2.6 tree :
> > 
> > http://git.kernel.org/?p=linux/kernel/git/davem/net-2.6.git;a=commit;h=4efd7e833591721bec21cc4730a7f6261417840f
> > 
> > Please submit another patch the second problem you spotted ?
> > 
> 
> Yes, i see. Here it is, but i am little unsure about ipv6 fix.
> 

Seems fine, but please read Documentation/SubmittingPatches to submit an
official patch.

Thanks !


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff -Nur linux-2.6.35-rc3.orig/net/ipv4/xfrm4_policy.c linux-2.6.35-rc3/net/ipv4/xfrm4_policy.c
--- linux-2.6.35-rc3.orig/net/ipv4/xfrm4_policy.c	2010-06-12 06:14:04.000000000 +0400
+++ linux-2.6.35-rc3/net/ipv4/xfrm4_policy.c	2010-07-02 20:20:49.000000000 +0400
@@ -108,6 +108,8 @@ 
 	u8 *xprth = skb_network_header(skb) + iph->ihl * 4;
 
 	memset(fl, 0, sizeof(struct flowi));
+	fl->mark = skb->mark;
+
 	if (!(iph->frag_off & htons(IP_MF | IP_OFFSET))) {
 		switch (iph->protocol) {
 		case IPPROTO_UDP:
diff -Nur linux-2.6.35-rc3.orig/net/ipv6/xfrm6_policy.c linux-2.6.35-rc3/net/ipv6/xfrm6_policy.c
--- linux-2.6.35-rc3.orig/net/ipv6/xfrm6_policy.c	2010-06-12 06:14:04.000000000 +0400
+++ linux-2.6.35-rc3/net/ipv6/xfrm6_policy.c	2010-07-02 20:20:22.000000000 +0400
@@ -124,6 +124,8 @@ 
 	u8 nexthdr = nh[IP6CB(skb)->nhoff];
 
 	memset(fl, 0, sizeof(struct flowi));
+	fl->mark = skb->mark;
+
 	ipv6_addr_copy(&fl->fl6_dst, reverse ? &hdr->saddr : &hdr->daddr);
 	ipv6_addr_copy(&fl->fl6_src, reverse ? &hdr->daddr : &hdr->saddr);