summaryrefslogtreecommitdiff
path: root/zebra/kernel_socket.c
diff options
context:
space:
mode:
authorAmeya Dharkar <adharkar@vmware.com>2019-05-16 15:53:46 -0700
committerAmeya Dharkar <adharkar@vmware.com>2019-06-17 12:05:38 -0700
commit21d814eb0bf5918ed8d34de6e8c1c866e6681f09 (patch)
tree9ef8d6fddf968ef3b81b5189a5bbf8fb83d15d38 /zebra/kernel_socket.c
parenta780a738968ffc077a81d108b906cf9a06f3ef4d (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 'zebra/kernel_socket.c')
0 files changed, 0 insertions, 0 deletions