diff options
| author | Ameya Dharkar <adharkar@vmware.com> | 2019-05-16 15:53:46 -0700 |
|---|---|---|
| committer | Ameya Dharkar <adharkar@vmware.com> | 2019-06-17 12:05:38 -0700 |
| commit | 21d814eb0bf5918ed8d34de6e8c1c866e6681f09 (patch) | |
| tree | 9ef8d6fddf968ef3b81b5189a5bbf8fb83d15d38 /lib/command.c | |
| parent | a780a738968ffc077a81d108b906cf9a06f3ef4d (diff) | |
Zebra: FPM processing of mac_q and dest_q
- FPM write thread calls "zfpm_build_updates()" to process mac_q and dest_q and
to write update buffer over the FPM socket.
- "zfpm_build_updates()" processes all the update queues one by one in a while
loop. It will break the while loop and return if Queue processing function
returns "FPM_WRITE_STOP" OR FPM write buffer is full OR all the queues are
empty (no more update to process).
- "zfpm_build_route_updates()" dequeues and processes route nodes from "dest_q".
- "zfpm_build_mac_updates()" dequeues and processes MAC nodes from "mac_q"
- These queue processing functions return with "FPM_WRITE_STOP" if the write
buffer is full. Return value is "FPM_GOTO_NEXT_Q" if enough updates are
processed from this queue and we want to move on to the next queue.
- In each call, a queue processing function will process max
"FPM_QUEUE_PROCESS_LIMIT (10000)" updates to avoid starvation of other queues.
Signed-off-by: Ameya Dharkar <adharkar@vmware.com>
Diffstat (limited to 'lib/command.c')
0 files changed, 0 insertions, 0 deletions
