Commit 72be7260 authored by Alexander Duyck's avatar Alexander Duyck Committed by David S. Miller

fib_trie: Minor cleanups to fib_table_flush_external

This change just does a couple of minor cleanups on
fib_table_flush_external.  Specifically it addresses the fact that resize
was being called even though nothing was being removed from the table, and
it drops an unecessary indent since we could just call continue on the
inverse of the fi && flag check.
Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 20488239
...@@ -1586,13 +1586,8 @@ void fib_table_flush_external(struct fib_table *tb) ...@@ -1586,13 +1586,8 @@ void fib_table_flush_external(struct fib_table *tb)
while (!(cindex--)) { while (!(cindex--)) {
t_key pkey = pn->key; t_key pkey = pn->key;
n = pn;
pn = node_parent(n);
/* resize completed node */
resize(t, n);
/* if we got the root we are done */ /* if we got the root we are done */
pn = node_parent(pn);
if (!pn) if (!pn)
return; return;
...@@ -1607,12 +1602,13 @@ void fib_table_flush_external(struct fib_table *tb) ...@@ -1607,12 +1602,13 @@ void fib_table_flush_external(struct fib_table *tb)
hlist_for_each_entry(fa, &n->leaf, fa_list) { hlist_for_each_entry(fa, &n->leaf, fa_list) {
struct fib_info *fi = fa->fa_info; struct fib_info *fi = fa->fa_info;
if (fi && (fi->fib_flags & RTNH_F_EXTERNAL)) { if (!fi || !(fi->fib_flags & RTNH_F_EXTERNAL))
netdev_switch_fib_ipv4_del(n->key, continue;
KEYLENGTH - fa->fa_slen,
fi, fa->fa_tos, netdev_switch_fib_ipv4_del(n->key,
fa->fa_type, tb->tb_id); KEYLENGTH - fa->fa_slen,
} fi, fa->fa_tos,
fa->fa_type, tb->tb_id);
} }
/* if trie is leaf only loop is completed */ /* if trie is leaf only loop is completed */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment