diff options
Diffstat (limited to 'net/ipv4/fib_trie.c')
| -rw-r--r-- | net/ipv4/fib_trie.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index 15d32612e3c6..b0c6258ffb79 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c | |||
| @@ -1171,6 +1171,7 @@ int fib_table_insert(struct fib_table *tb, struct fib_config *cfg) | |||
| 1171 | new_fa->fa_state = state & ~FA_S_ACCESSED; | 1171 | new_fa->fa_state = state & ~FA_S_ACCESSED; |
| 1172 | new_fa->fa_slen = fa->fa_slen; | 1172 | new_fa->fa_slen = fa->fa_slen; |
| 1173 | new_fa->tb_id = tb->tb_id; | 1173 | new_fa->tb_id = tb->tb_id; |
| 1174 | new_fa->fa_default = -1; | ||
| 1174 | 1175 | ||
| 1175 | err = switchdev_fib_ipv4_add(key, plen, fi, | 1176 | err = switchdev_fib_ipv4_add(key, plen, fi, |
| 1176 | new_fa->fa_tos, | 1177 | new_fa->fa_tos, |
| @@ -1222,6 +1223,7 @@ int fib_table_insert(struct fib_table *tb, struct fib_config *cfg) | |||
| 1222 | new_fa->fa_state = 0; | 1223 | new_fa->fa_state = 0; |
| 1223 | new_fa->fa_slen = slen; | 1224 | new_fa->fa_slen = slen; |
| 1224 | new_fa->tb_id = tb->tb_id; | 1225 | new_fa->tb_id = tb->tb_id; |
| 1226 | new_fa->fa_default = -1; | ||
| 1225 | 1227 | ||
| 1226 | /* (Optionally) offload fib entry to switch hardware. */ | 1228 | /* (Optionally) offload fib entry to switch hardware. */ |
| 1227 | err = switchdev_fib_ipv4_add(key, plen, fi, tos, cfg->fc_type, | 1229 | err = switchdev_fib_ipv4_add(key, plen, fi, tos, cfg->fc_type, |
| @@ -1791,8 +1793,6 @@ void fib_table_flush_external(struct fib_table *tb) | |||
| 1791 | if (hlist_empty(&n->leaf)) { | 1793 | if (hlist_empty(&n->leaf)) { |
| 1792 | put_child_root(pn, n->key, NULL); | 1794 | put_child_root(pn, n->key, NULL); |
| 1793 | node_free(n); | 1795 | node_free(n); |
| 1794 | } else { | ||
| 1795 | leaf_pull_suffix(pn, n); | ||
| 1796 | } | 1796 | } |
| 1797 | } | 1797 | } |
| 1798 | } | 1798 | } |
| @@ -1862,8 +1862,6 @@ int fib_table_flush(struct fib_table *tb) | |||
| 1862 | if (hlist_empty(&n->leaf)) { | 1862 | if (hlist_empty(&n->leaf)) { |
| 1863 | put_child_root(pn, n->key, NULL); | 1863 | put_child_root(pn, n->key, NULL); |
| 1864 | node_free(n); | 1864 | node_free(n); |
| 1865 | } else { | ||
| 1866 | leaf_pull_suffix(pn, n); | ||
| 1867 | } | 1865 | } |
| 1868 | } | 1866 | } |
| 1869 | 1867 | ||
| @@ -1990,7 +1988,6 @@ struct fib_table *fib_trie_table(u32 id, struct fib_table *alias) | |||
| 1990 | return NULL; | 1988 | return NULL; |
| 1991 | 1989 | ||
| 1992 | tb->tb_id = id; | 1990 | tb->tb_id = id; |
| 1993 | tb->tb_default = -1; | ||
| 1994 | tb->tb_num_default = 0; | 1991 | tb->tb_num_default = 0; |
| 1995 | tb->tb_data = (alias ? alias->__data : tb->__data); | 1992 | tb->tb_data = (alias ? alias->__data : tb->__data); |
| 1996 | 1993 | ||
| @@ -2468,7 +2465,7 @@ static struct key_vector *fib_route_get_idx(struct fib_route_iter *iter, | |||
| 2468 | key = l->key + 1; | 2465 | key = l->key + 1; |
| 2469 | iter->pos++; | 2466 | iter->pos++; |
| 2470 | 2467 | ||
| 2471 | if (pos-- <= 0) | 2468 | if (--pos <= 0) |
| 2472 | break; | 2469 | break; |
| 2473 | 2470 | ||
| 2474 | l = NULL; | 2471 | l = NULL; |
