diff options
author | Jan Moskyto Matejka <mq@ucw.cz> | 2017-02-22 14:02:03 +0100 |
---|---|---|
committer | Jan Moskyto Matejka <mq@ucw.cz> | 2017-02-22 14:11:01 +0100 |
commit | 93f50ca31757fc8e416093e0c73681e070294a3d (patch) | |
tree | 5265962f65be6a85d8743b75572344b6e35390bc /nest/rt-table.c | |
parent | b2b84359abd382c1ec5a266b211276fbae7da0fc (diff) |
Nest: names for nhu_state values
It took too much time to analyze what's the meaning of nhu_state values
so I spent less than the same amount of time documenting it.
Diffstat (limited to 'nest/rt-table.c')
-rw-r--r-- | nest/rt-table.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c index a33b7909..1e1dde25 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -1561,11 +1561,14 @@ rt_schedule_hcu(rtable *tab) static inline void rt_schedule_nhu(rtable *tab) { - if (tab->nhu_state == 0) + if (tab->nhu_state == NHU_CLEAN) ev_schedule(tab->rt_event); - /* state change 0->1, 2->3 */ - tab->nhu_state |= 1; + /* state change: + * NHU_CLEAN -> NHU_SCHEDULED + * NHU_RUNNING -> NHU_DIRTY + */ + tab->nhu_state |= NHU_SCHEDULED; } void @@ -1897,13 +1900,13 @@ rt_next_hop_update(rtable *tab) struct fib_iterator *fit = &tab->nhu_fit; int max_feed = 32; - if (tab->nhu_state == 0) + if (tab->nhu_state == NHU_CLEAN) return; - if (tab->nhu_state == 1) + if (tab->nhu_state == NHU_SCHEDULED) { FIB_ITERATE_INIT(fit, &tab->fib); - tab->nhu_state = 2; + tab->nhu_state = NHU_RUNNING; } FIB_ITERATE_START(&tab->fib, fit, net, n) @@ -1918,10 +1921,13 @@ rt_next_hop_update(rtable *tab) } FIB_ITERATE_END; - /* state change 2->0, 3->1 */ + /* State change: + * NHU_DIRTY -> NHU_SCHEDULED + * NHU_RUNNING -> NHU_CLEAN + */ tab->nhu_state &= 1; - if (tab->nhu_state > 0) + if (tab->nhu_state != NHU_CLEAN) ev_schedule(tab->rt_event); } |