Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.25-rc7 /net/ipv4/fib_lookup.h

Filename:/net/ipv4/fib_lookup.h
Lines Added:14
Lines Deleted:2
Also changed in: (Previous) 2.6.25-rc6  2.6.25-rc5  2.6.25-rc4  2.6.25-rc3  2.6.25-rc2  2.6.25-rc1 
(Following) 2.6.25-rc8  2.6.25-rc9  2.6.25 

Location
[  2.6.25-rc7
  [  net
    [  ipv4
       o  fib_lookup.h

Patch

diff --git a/net/ipv4/fib_lookup.h b/net/ipv4/fib_lookup.h
index eef9eec..2c1623d 100644
--- a/net/ipv4/fib_lookup.h
+++ b/net/ipv4/fib_lookup.h
@@ -7,12 +7,14 @@
 
 struct fib_alias {
    struct list_head   fa_list;
-   struct rcu_head rcu;
    struct fib_info      *fa_info;
    u8         fa_tos;
    u8         fa_type;
    u8         fa_scope;
    u8         fa_state;
+#ifdef CONFIG_IP_FIB_TRIE
+   struct rcu_head      rcu;
+#endif
 };
 
 #define FA_S_ACCESSED   0x01
@@ -36,6 +38,16 @@ extern struct fib_alias *fib_find_alias(struct list_head *fah,
                u8 tos, u32 prio);
 extern int fib_detect_death(struct fib_info *fi, int order,
              struct fib_info **last_resort,
-             int *last_idx, int *dflt);
+             int *last_idx, int dflt);
+
+static inline void fib_result_assign(struct fib_result *res,
+                 struct fib_info *fi)
+{
+   if (res->fi != NULL)
+      fib_info_put(res->fi);
+   res->fi = fi;
+   if (fi != NULL)
+      atomic_inc(&fi->fib_clntref);
+}
 
 #endif /* _FIB_LOOKUP_H */


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.