Author: arekm                        Date: Fri Jan 18 16:44:54 2008 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- updated for 2.6.24

---- Files affected:
SOURCES:
   kernel-routes-2.6.22-15.diff (1.1.2.2 -> 1.1.2.3) 

---- Diffs:

================================================================
Index: SOURCES/kernel-routes-2.6.22-15.diff
diff -u SOURCES/kernel-routes-2.6.22-15.diff:1.1.2.2 
SOURCES/kernel-routes-2.6.22-15.diff:1.1.2.3
--- SOURCES/kernel-routes-2.6.22-15.diff:1.1.2.2        Tue Oct  9 15:16:17 2007
+++ SOURCES/kernel-routes-2.6.22-15.diff        Fri Jan 18 17:44:49 2008
@@ -104,19 +104,24 @@
 diff -urp v2.6.22/linux/net/ipv4/fib_frontend.c linux/net/ipv4/fib_frontend.c
 --- v2.6.22/linux/net/ipv4/fib_frontend.c      2007-07-10 09:18:43.000000000 
+0300
 +++ linux/net/ipv4/fib_frontend.c      2007-07-12 08:00:54.000000000 +0300
-@@ -57,8 +57,12 @@ struct fib_table *ip_fib_main_table;
+@@ -59,6 +59,8 @@
  #define FIB_TABLE_HASHSZ 1
  static struct hlist_head fib_table_hash[FIB_TABLE_HASHSZ];
  
 +#define FIB_RES_TABLE(r) (RT_TABLE_MAIN)
 +
- #else
- 
-+#define FIB_RES_TABLE(r) (fib_result_table(r))
-+
+ static void __init fib4_rules_init(void)
+ {
+       ip_fib_local_table = fib_hash_init(RT_TABLE_LOCAL);
+@@ -71,6 +73,8 @@
  #define FIB_TABLE_HASHSZ 256
  static struct hlist_head fib_table_hash[FIB_TABLE_HASHSZ];
  
++#define FIB_RES_TABLE(r) (fib_result_table(r))
++
+ struct fib_table *fib_new_table(u32 id)
+ {
+       struct fib_table *tb;
 @@ -189,6 +193,9 @@ int fib_validate_source(__be32 src, __be
                                        .tos = tos } },
                            .iif = oif };
@@ -834,7 +839,7 @@
                return NF_ACCEPT;
  
        mr = targinfo;
--      rt = (struct rtable *)(*pskb)->dst;
+-      rt = (struct rtable *)skb->dst;
 -      newsrc = inet_select_addr(out, rt->rt_gateway, RT_SCOPE_UNIVERSE);
 -      if (!newsrc) {
 -              printk("MASQUERADE: %s ate my IP address\n", out->name);
@@ -842,12 +847,12 @@
 +
 +      {
 +              struct flowi fl = { .nl_u = { .ip4_u =
-+                                            { .daddr = ip_hdr(*pskb)->daddr,
-+                                              .tos = 
(RT_TOS(ip_hdr(*pskb)->tos) |
++                                            { .daddr = ip_hdr(skb)->daddr,
++                                              .tos = 
(RT_TOS(ip_hdr(skb)->tos) |
 +                                                      RTO_CONN),
-+                                              .gw = ((struct rtable *) 
(*pskb)->dst)->rt_gateway,
++                                              .gw = ((struct rtable *) 
(skb)->dst)->rt_gateway,
 +                                            } },
-+                                  .mark = (*pskb)->mark,
++                                  .mark = (skb)->mark,
 +                                  .oif = out->ifindex };
 +              if (ip_route_output_key(&rt, &fl) != 0) {
 +                      /* Funky routing can do this. */
@@ -1075,9 +1080,9 @@
  
 -      err = ip_mkroute_input(skb, &res, &fl, in_dev, daddr, saddr, tos);
 +      err = ip_mkroute_input(skb, &res, &fl, in_dev, daddr, saddr, tos, lsrc);
-       if (err == -ENOBUFS)
-               goto e_nobufs;
-       if (err == -EINVAL)
+ done:
+       in_dev_put(in_dev);
+       if (free_res)
 @@ -1997,6 +2012,8 @@ out:     return err;
  brd_input:
        if (skb->protocol != htons(ETH_P_IP))
@@ -1153,9 +1158,9 @@
                                        .scope = ((tos & RTO_ONLINK) ?
                                                  RT_SCOPE_LINK :
 @@ -2470,6 +2504,7 @@ static int ip_route_output_slow(struct r
-               dev_out = &loopback_dev;
+               dev_out = init_net.loopback_dev;
                dev_hold(dev_out);
-               fl.oif = loopback_dev.ifindex;
+               fl.oif = init_net.loopback_dev->ifindex;
 +              fl.fl4_gw = 0;
                res.type = RTN_LOCAL;
                flags |= RTCF_LOCAL;
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/kernel-routes-2.6.22-15.diff?r1=1.1.2.2&r2=1.1.2.3&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to