Loading include/net/ip6_fib.h +1 −1 Original line number Diff line number Diff line Loading @@ -124,7 +124,7 @@ static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) } struct fib6_walker_t { struct fib6_walker_t *prev, *next; struct list_head lh; struct fib6_node *root, *node; struct rt6_info *leaf; unsigned char state; Loading net/ipv6/ip6_fib.c +4 −13 Original line number Diff line number Diff line Loading @@ -93,29 +93,20 @@ static __u32 rt_sernum; static void fib6_gc_timer_cb(unsigned long arg); static struct fib6_walker_t fib6_walker_list = { .prev = &fib6_walker_list, .next = &fib6_walker_list, }; #define FOR_WALKERS(w) for ((w)=fib6_walker_list.next; (w) != &fib6_walker_list; (w)=(w)->next) static LIST_HEAD(fib6_walkers); #define FOR_WALKERS(w) list_for_each_entry(w, &fib6_walkers, lh) static inline void fib6_walker_link(struct fib6_walker_t *w) { write_lock_bh(&fib6_walker_lock); w->next = fib6_walker_list.next; w->prev = &fib6_walker_list; w->next->prev = w; w->prev->next = w; list_add(&w->lh, &fib6_walkers); write_unlock_bh(&fib6_walker_lock); } static inline void fib6_walker_unlink(struct fib6_walker_t *w) { write_lock_bh(&fib6_walker_lock); w->next->prev = w->prev; w->prev->next = w->next; w->prev = w->next = w; list_del(&w->lh); write_unlock_bh(&fib6_walker_lock); } static __inline__ u32 fib6_new_sernum(void) Loading Loading
include/net/ip6_fib.h +1 −1 Original line number Diff line number Diff line Loading @@ -124,7 +124,7 @@ static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) } struct fib6_walker_t { struct fib6_walker_t *prev, *next; struct list_head lh; struct fib6_node *root, *node; struct rt6_info *leaf; unsigned char state; Loading
net/ipv6/ip6_fib.c +4 −13 Original line number Diff line number Diff line Loading @@ -93,29 +93,20 @@ static __u32 rt_sernum; static void fib6_gc_timer_cb(unsigned long arg); static struct fib6_walker_t fib6_walker_list = { .prev = &fib6_walker_list, .next = &fib6_walker_list, }; #define FOR_WALKERS(w) for ((w)=fib6_walker_list.next; (w) != &fib6_walker_list; (w)=(w)->next) static LIST_HEAD(fib6_walkers); #define FOR_WALKERS(w) list_for_each_entry(w, &fib6_walkers, lh) static inline void fib6_walker_link(struct fib6_walker_t *w) { write_lock_bh(&fib6_walker_lock); w->next = fib6_walker_list.next; w->prev = &fib6_walker_list; w->next->prev = w; w->prev->next = w; list_add(&w->lh, &fib6_walkers); write_unlock_bh(&fib6_walker_lock); } static inline void fib6_walker_unlink(struct fib6_walker_t *w) { write_lock_bh(&fib6_walker_lock); w->next->prev = w->prev; w->prev->next = w->next; w->prev = w->next = w; list_del(&w->lh); write_unlock_bh(&fib6_walker_lock); } static __inline__ u32 fib6_new_sernum(void) Loading