Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+8 −12
Original line number Diff line number Diff line
@@ -1586,13 +1586,8 @@ void fib_table_flush_external(struct fib_table *tb)
			while (!(cindex--)) {
				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 */
				pn = node_parent(pn);
				if (!pn)
					return;

@@ -1607,13 +1602,14 @@ void fib_table_flush_external(struct fib_table *tb)
	hlist_for_each_entry(fa, &n->leaf, fa_list) {
		struct fib_info *fi = fa->fa_info;

		if (fi && (fi->fib_flags & RTNH_F_EXTERNAL)) {
		if (!fi || !(fi->fib_flags & RTNH_F_EXTERNAL))
			continue;

		netdev_switch_fib_ipv4_del(n->key,
					   KEYLENGTH - fa->fa_slen,
					   fi, fa->fa_tos,
					   fa->fa_type, tb->tb_id);
	}
	}

	/* if trie is leaf only loop is completed */
	if (pn)