]> git.proxmox.com Git - mirror_frr.git/commit
zebra: Synchronous client queues accumulate messages from zebra.
authorKaren Schoener <karen@volta.io>
Fri, 6 Mar 2020 15:33:40 +0000 (10:33 -0500)
committerKaren Schoener <karen@volta.io>
Mon, 23 Mar 2020 13:17:17 +0000 (09:17 -0400)
commit17da84a49dd665edf50d646d86e52cdf2c4c19b7
tree011923776c9c4bf65c50e8296ce51de8434cf9cf
parent5d2724ec2564b648bf93dc7b164a1398cde3c214
zebra: Synchronous client queues accumulate messages from zebra.

Zebra is currently sending messages on interface add/delete/update,
VRF add/delete, and interface address change - regardless of whether
its clients had requested them.  This is problematic for lde and isis,
which only listens to label chunk messages, and only when it is
waiting for one (synchronous client). The effect is the that messages
accumulate on the lde synchronous message queue.

With this change:
  - Zebra does not send unsolicited messages to synchronous clients.
  - Synchronous clients send a ZEBRA_HELLO to zebra.
    The ZEBRA_HELLO contains a new boolean field: sychronous.
  - LDP and PIM have been updated to send a ZEBRA_HELLO for their
    synchronous clients.

Signed-off-by: Karen Schoener <karen@voltanet.io>
ldpd/lde.c
lib/zclient.c
lib/zclient.h
pimd/pim_zlookup.c
zebra/redistribute.c
zebra/zapi_msg.c
zebra/zebra_vrf.c
zebra/zserv.h