]> git.puffer.fish Git - mirror/frr.git/commit
zebra: Fix label manager proxy mode.
authorFredi Raspall <fredi@voltanet.io>
Fri, 27 Apr 2018 16:47:51 +0000 (18:47 +0200)
committerFredi Raspall <fredi@voltanet.io>
Tue, 29 May 2018 09:24:20 +0000 (11:24 +0200)
commitcb721084fd83394050624061027ae9cefa6bd7e9
tree214e64583b80a2d81ccb596b1620e2ea5781254d
parent9c1b21b81c9fbc0d1271a473dc68f3b6093042b5
zebra: Fix label manager proxy mode.

The current implementation did not consider multiple clients to
a label-manager acting as proxy, i.e. relaying messages to another
label manager. Specifically, upon a client's request, it checked
the socket & buffer from the actual label manager for pending
responses and directly copìed them to the client --currently--
being served. As a result, if two clients (e.g. ldpd and bgpd)
sent requests, it could happen that responses being 'on the wire'
from the real label manager towards the proxy, where relayed to
the wrong client. This patch, which requires all msgs to include
a a proto & instance pair, lookups up the zserv client that a
message (response) is to be relayed to.

Signed-off-by: Fredi Raspall <fredi@voltanet.io>
zebra/label_manager.c