mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-12 01:42:55 +00:00
Merge pull request #1236 from donaldsharp/interface_startup
zebra: Do not allow same rib_dest_t be queued multiple times to meta …
This commit is contained in:
commit
c00ad29fc4
@ -135,6 +135,8 @@ typedef struct rib_dest_t_ {
|
|||||||
} rib_dest_t;
|
} rib_dest_t;
|
||||||
|
|
||||||
#define RIB_ROUTE_QUEUED(x) (1 << (x))
|
#define RIB_ROUTE_QUEUED(x) (1 << (x))
|
||||||
|
// If MQ_SIZE is modified this value needs to be updated.
|
||||||
|
#define RIB_ROUTE_ANY_QUEUED 0x1F
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The maximum qindex that can be used.
|
* The maximum qindex that can be used.
|
||||||
|
@ -2500,6 +2500,15 @@ static void rib_update_table(struct route_table *table,
|
|||||||
* the trigger event.
|
* the trigger event.
|
||||||
*/
|
*/
|
||||||
for (rn = route_top(table); rn; rn = srcdest_route_next(rn)) {
|
for (rn = route_top(table); rn; rn = srcdest_route_next(rn)) {
|
||||||
|
/*
|
||||||
|
* If we are looking at a route node and the node
|
||||||
|
* has already been queued we don't
|
||||||
|
* need to queue it up again
|
||||||
|
*/
|
||||||
|
if (rn->info
|
||||||
|
&& CHECK_FLAG(rib_dest_from_rnode(rn)->flags,
|
||||||
|
RIB_ROUTE_ANY_QUEUED))
|
||||||
|
continue;
|
||||||
switch (event) {
|
switch (event) {
|
||||||
case RIB_UPDATE_IF_CHANGE:
|
case RIB_UPDATE_IF_CHANGE:
|
||||||
/* Examine all routes that won't get processed by the
|
/* Examine all routes that won't get processed by the
|
||||||
|
Loading…
Reference in New Issue
Block a user