12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- From: Alexander Duyck <alexander.h.duyck@redhat.com>
- Date: Thu, 22 Jan 2015 15:51:39 -0800
- Subject: [PATCH] fib_trie: Move fib_find_alias to file where it is used
- The function fib_find_alias is only accessed by functions in fib_trie.c as
- such it makes sense to relocate it and cast it as static so that the
- compiler can take advantage of optimizations it can do to it as a local
- function.
- Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
- Signed-off-by: David S. Miller <davem@davemloft.net>
- ---
- --- a/net/ipv4/fib_lookup.h
- +++ b/net/ipv4/fib_lookup.h
- @@ -32,7 +32,6 @@ int fib_dump_info(struct sk_buff *skb, u
- unsigned int);
- void rtmsg_fib(int event, __be32 key, struct fib_alias *fa, int dst_len,
- u32 tb_id, const struct nl_info *info, unsigned int nlm_flags);
- -struct fib_alias *fib_find_alias(struct list_head *fah, u8 tos, u32 prio);
-
- static inline void fib_result_assign(struct fib_result *res,
- struct fib_info *fi)
- --- a/net/ipv4/fib_semantics.c
- +++ b/net/ipv4/fib_semantics.c
- @@ -410,24 +410,6 @@ errout:
- rtnl_set_sk_err(info->nl_net, RTNLGRP_IPV4_ROUTE, err);
- }
-
- -/* Return the first fib alias matching TOS with
- - * priority less than or equal to PRIO.
- - */
- -struct fib_alias *fib_find_alias(struct list_head *fah, u8 tos, u32 prio)
- -{
- - if (fah) {
- - struct fib_alias *fa;
- - list_for_each_entry(fa, fah, fa_list) {
- - if (fa->fa_tos > tos)
- - continue;
- - if (fa->fa_info->fib_priority >= prio ||
- - fa->fa_tos < tos)
- - return fa;
- - }
- - }
- - return NULL;
- -}
- -
- static int fib_detect_death(struct fib_info *fi, int order,
- struct fib_info **last_resort, int *last_idx,
- int dflt)
- --- a/net/ipv4/fib_trie.c
- +++ b/net/ipv4/fib_trie.c
- @@ -998,6 +998,26 @@ static struct tnode *fib_find_node(struc
- return n;
- }
-
- +/* Return the first fib alias matching TOS with
- + * priority less than or equal to PRIO.
- + */
- +static struct fib_alias *fib_find_alias(struct list_head *fah, u8 tos, u32 prio)
- +{
- + struct fib_alias *fa;
- +
- + if (!fah)
- + return NULL;
- +
- + list_for_each_entry(fa, fah, fa_list) {
- + if (fa->fa_tos > tos)
- + continue;
- + if (fa->fa_info->fib_priority >= prio || fa->fa_tos < tos)
- + return fa;
- + }
- +
- + return NULL;
- +}
- +
- static void trie_rebalance(struct trie *t, struct tnode *tn)
- {
- struct tnode *tp;
|