Can we add a zclient_read_header() wrapper function that mirrors the
zserv_create_header()

Other places that I am not seeing the vrfid being read:
pim - (ZEBRA_IPV4_NEXTHOP_LOOKUP_MRIB)
zlookup_read_ipv6()

If in the future we need to modify the header it will only have to be in
one spot.

donald

On Fri, Sep 4, 2015 at 11:40 AM, Nicolas Dichtel <[email protected]>
wrote:

> Commit c99f3481a598 has changed the API. Now, the vrfid has been added in
> the header, thus we must read it before parsing the rest of the message.
>
> Fixes: c99f3481a598 ("*: add VRF ID in the API message header")
> Signed-off-by: Nicolas Dichtel <[email protected]>
> ---
>
> Martin, could you test this patch? At least it fixes the ebgp multihop bug.
> I will check if some other places need this.
>
>  bgpd/bgp_nexthop.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/bgpd/bgp_nexthop.c b/bgpd/bgp_nexthop.c
> index 7336793e01e6..8043a3e27419 100644
> --- a/bgpd/bgp_nexthop.c
> +++ b/bgpd/bgp_nexthop.c
> @@ -808,6 +808,8 @@ zlookup_read (void)
>    nbytes = stream_read (s, zlookup->sock, length - 2);
>    marker = stream_getc (s);
>    version = stream_getc (s);
> +  /* Skip vrfid */
> +  stream_forward_getp(s, 2);
>
>    if (version != ZSERV_VERSION || marker != ZEBRA_HEADER_MARKER)
>      {
> --
> 2.4.2
>
>
> _______________________________________________
> Quagga-dev mailing list
> [email protected]
> https://lists.quagga.net/mailman/listinfo/quagga-dev
>
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to