packages: kernel/kernel-routes.patch - updated by hand to 3.0-rc6

baggins baggins at pld-linux.org
Mon Jul 11 11:30:07 CEST 2011


Author: baggins                      Date: Mon Jul 11 09:30:07 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- updated by hand to 3.0-rc6

---- Files affected:
packages/kernel:
   kernel-routes.patch (1.14 -> 1.15) 

---- Diffs:

================================================================
Index: packages/kernel/kernel-routes.patch
diff -u packages/kernel/kernel-routes.patch:1.14 packages/kernel/kernel-routes.patch:1.15
--- packages/kernel/kernel-routes.patch:1.14	Mon Jul 11 01:19:00 2011
+++ packages/kernel/kernel-routes.patch	Mon Jul 11 11:30:01 2011
@@ -34,9 +34,9 @@
  
  /* Exported by fib_frontend.c */
 @@ -230,7 +232,8 @@ extern void		ip_fib_init(void);
- extern int fib_validate_source(__be32 src, __be32 dst, u8 tos, int oif,
- 			       struct net_device *dev, __be32 *spec_dst,
- 			       u32 *itag, u32 mark);
+ extern int fib_validate_source(struct sk_buff *skb, __be32 src, __be32 dst,
+ 			       u8 tos, int oif, struct net_device *dev,
+ 			       __be32 *spec_dst, u32 *itag);
 -extern void fib_select_default(struct fib_result *res);
 +extern void fib_select_default(const struct flowi4 *flp,
 +			       struct fib_result *res);
@@ -94,9 +94,9 @@
  }
  
 +extern int		ip_route_input_lookup(struct sk_buff*, __be32 dst, __be32 src, u8 tos, struct net_device *devin, __be32 lsrc);
- extern unsigned short	ip_rt_frag_needed(struct net *net, struct iphdr *iph, unsigned short new_mtu, struct net_device *dev);
+ extern unsigned short	ip_rt_frag_needed(struct net *net, const struct iphdr *iph,
+ 					  unsigned short new_mtu, struct net_device *dev);
  extern void		ip_rt_send_redirect(struct sk_buff *skb);
- 
 diff -urp v2.6.39/linux/net/bridge/br_netfilter.c linux/net/bridge/br_netfilter.c
 --- v2.6.39/linux/net/bridge/br_netfilter.c	2011-05-15 14:05:57.000000000 +0300
 +++ linux/net/bridge/br_netfilter.c	2011-05-15 14:07:59.980246190 +0300
@@ -896,7 +896,7 @@
  		(rt1->rt_mark ^ rt2->rt_mark) |
 +		((__force u32)rt1->rt_key_lsrc ^ (__force u32)rt2->rt_key_lsrc) |
 +		((__force u32)rt1->rt_key_gw ^ (__force u32)rt2->rt_key_gw) |
- 		(rt1->rt_tos ^ rt2->rt_tos) |
+ 		(rt1->rt_key_tos ^ rt2->rt_key_tos) |
  		(rt1->rt_oif ^ rt2->rt_oif) |
  		(rt1->rt_iif ^ rt2->rt_iif)) == 0;
 @@ -1614,6 +1616,8 @@ static int check_peer_redir(struct dst_e
@@ -918,21 +918,21 @@
  		}
  	} else {
 @@ -1887,6 +1893,7 @@ static int ip_route_input_mc(struct sk_b
- 	rth->rt_tos	= tos;
- 	rth->rt_mark    = skb->mark;
+ 
+ 	rth->rt_key_dst	= daddr;
  	rth->rt_key_src	= saddr;
 +	rth->rt_key_lsrc = 0;
- 	rth->rt_src	= saddr;
- #ifdef CONFIG_IP_ROUTE_CLASSID
- 	rth->dst.tclassid = itag;
+ 	rth->rt_genid	= rt_genid(dev_net(dev));
+ 	rth->rt_flags	= RTCF_MULTICAST;
+ 	rth->rt_type	= RTN_MULTICAST;
 @@ -1896,6 +1903,7 @@ static int ip_route_input_mc(struct sk_b
- 	rth->dst.dev	= init_net.loopback_dev;
- 	dev_hold(rth->dst.dev);
+ 	rth->rt_route_iif = dev->ifindex;
+ 	rth->rt_iif	= dev->ifindex;
  	rth->rt_oif	= 0;
 +	rth->rt_key_gw	= daddr;
+ 	rth->rt_mark    = skb->mark;
  	rth->rt_gateway	= daddr;
  	rth->rt_spec_dst= spec_dst;
- 	rth->rt_genid	= rt_genid(dev_net(dev));
 @@ -1962,7 +1970,7 @@ static int __mkroute_input(struct sk_buf
  			   const struct fib_result *res,
  			   struct in_device *in_dev,
@@ -950,17 +950,22 @@
  	    (IN_DEV_SHARED_MEDIA(out_dev) ||
  	     inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res))))
  		flags |= RTCF_DOREDIRECT;
-@@ -2025,8 +2034,10 @@ static int __mkroute_input(struct sk_buf
- 	rth->rt_tos	= tos;
- 	rth->rt_mark    = skb->mark;
+@@ -2025,6 +2034,7 @@ static int __mkroute_input(struct sk_buf
+ 
+ 	rth->rt_key_dst	= daddr;
  	rth->rt_key_src	= saddr;
 +	rth->rt_key_lsrc = lsrc;
- 	rth->rt_src	= saddr;
+ 	rth->rt_genid = rt_genid(dev_net(rth->dst.dev));
+ 	rth->rt_flags = flags;
+ 	rth->rt_type = res->type;
+@@ -2035,6 +2044,7 @@ static int __mkroute_input(struct sk_buf
+ 	rth->rt_oif 	= 0;
+ 	rth->rt_mark    = skb->mark;
  	rth->rt_gateway	= daddr;
 +	rth->rt_key_gw	= 0;
- 	rth->rt_route_iif = in_dev->dev->ifindex;
- 	rth->rt_iif 	= in_dev->dev->ifindex;
- 	rth->dst.dev	= (out_dev)->dev;
+ 	rth->rt_spec_dst= spec_dst;
+ 	rth->rt_peer_genid = 0;
+ 	rth->peer = NULL;
 @@ -2050,21 +2061,23 @@ static int __mkroute_input(struct sk_buf
  
  static int ip_mkroute_input(struct sk_buff *skb,
@@ -1051,12 +1056,12 @@
  		spec_dst = inet_select_addr(dev, 0, RT_SCOPE_LINK);
 @@ -2208,6 +2234,7 @@ local_input:
  	rth->rt_iif	= dev->ifindex;
- 	rth->dst.dev	= net->loopback_dev;
- 	dev_hold(rth->dst.dev);
+ 	rth->rt_oif	= 0;
+ 	rth->rt_mark    = skb->mark;
 +	rth->rt_key_gw	= 0;
  	rth->rt_gateway	= daddr;
  	rth->rt_spec_dst= spec_dst;
- 	rth->dst.input= ip_local_deliver;
+ 	rth->rt_peer_genid = 0;
 @@ -2263,8 +2290,9 @@ martian_source_keep_err:
  	goto out;
  }
@@ -1105,53 +1110,47 @@
  static struct rtable *__mkroute_output(const struct fib_result *res,
  				       const struct flowi4 *fl4,
 @@ -2401,6 +2443,7 @@ static struct rtable *__mkroute_output(c
- 	rth->rt_tos	= tos;
- 	rth->rt_key_src	= oldflp4->saddr;
- 	rth->rt_oif	= oldflp4->flowi4_oif;
-+	rth->rt_key_gw	= oldflp4->fl4_gw;
- 	rth->rt_mark    = oldflp4->flowi4_mark;
+ 	rth->rt_key_tos	= tos;
  	rth->rt_dst	= fl4->daddr;
  	rth->rt_src	= fl4->saddr;
-@@ -2471,6 +2514,7 @@ static struct rtable *ip_route_output_sl
- 	fl4.flowi4_mark = oldflp4->flowi4_mark;
- 	fl4.daddr = oldflp4->daddr;
- 	fl4.saddr = oldflp4->saddr;
-+	fl4.fl4_gw = oldflp4->fl4_gw;
- 	fl4.flowi4_tos = tos & IPTOS_RT_MASK;
- 	fl4.flowi4_scope = ((tos & RTO_ONLINK) ?
- 			RT_SCOPE_LINK : RT_SCOPE_UNIVERSE);
++	rth->rt_key_gw	= fl4->fl4_gw;
+ 	rth->rt_route_iif = 0;
+ 	rth->rt_iif	= orig_oif ? : dev_out->ifindex;
+ 	rth->rt_oif	= orig_oif;
 @@ -2560,6 +2604,7 @@ static struct rtable *ip_route_output_sl
- 			fl4.daddr = fl4.saddr = htonl(INADDR_LOOPBACK);
+ 			fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK);
  		dev_out = net->loopback_dev;
- 		fl4.flowi4_oif = net->loopback_dev->ifindex;
-+		fl4.fl4_gw = 0;
+ 		fl4->flowi4_oif = net->loopback_dev->ifindex;
++		fl4->fl4_gw = 0;
  		res.type = RTN_LOCAL;
  		flags |= RTCF_LOCAL;
  		goto make_route;
-@@ -2605,18 +2650,18 @@ static struct rtable *ip_route_output_sl
+@@ -2605,20 +2650,18 @@ static struct rtable *ip_route_output_sl
  		}
  		dev_out = net->loopback_dev;
- 		fl4.flowi4_oif = dev_out->ifindex;
-+		fl4.fl4_gw = 0;
+ 		fl4->flowi4_oif = dev_out->ifindex;
++		fl4->fl4_gw = 0;
  		res.fi = NULL;
  		flags |= RTCF_LOCAL;
  		goto make_route;
  	}
  
 +	if (res.type == RTN_UNICAST)
-+		fib_select_default(&fl4, &res);
++		fib_select_default(fl4, &res);
  #ifdef CONFIG_IP_ROUTE_MULTIPATH
--	if (res.fi->fib_nhs > 1 && fl4.flowi4_oif == 0)
+-	if (res.fi->fib_nhs > 1 && fl4->flowi4_oif == 0)
 -		fib_select_multipath(&res);
 -	else
 +	if (res.fi->fib_nhs > 1)
-+		fib_select_multipath(&fl4, &res);
++		fib_select_multipath(fl4, &res);
  #endif
--	if (!res.prefixlen && res.type == RTN_UNICAST && !fl4.flowi4_oif)
+-	if (!res.prefixlen &&
+-	    res.table->tb_num_default > 1 &&
+-	    res.type == RTN_UNICAST && !fl4->flowi4_oif)
 -		fib_select_default(&res);
  
- 	if (!fl4.saddr)
- 		fl4.saddr = FIB_RES_PREFSRC(net, res);
+ 	if (!fl4->saddr)
+ 		fl4->saddr = FIB_RES_PREFSRC(net, res);
 @@ -2657,6 +2702,7 @@ struct rtable *__ip_route_output_key(str
  		    rth->rt_key_src == flp4->saddr &&
  		    rt_is_output_route(rth) &&
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-routes.patch?r1=1.14&r2=1.15&f=u



More information about the pld-cvs-commit mailing list