]> git.puffer.fish Git - matthieu/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, 1 May 2018 19:43:18 +0000 (21:43 +0200)
commit1cbba8cece7beca7cbdf2f8e72d0c1df97d80b02
treec60e0365d25de27f1dbcdfa7923554e14b232384
parent5dffb0e9aaafd7543ae22c48f26d3ca9efd77b66
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