From: Donald Sharp Date: Wed, 7 Jun 2017 20:24:07 +0000 (-0400) Subject: pimd: For non-default vrf's bind the msdp socket to the vrf X-Git-Tag: frr-4.0-dev~468^2~58 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=62fde40935d0493644e5c847d852e86f684f3380;p=mirror%2Ffrr.git pimd: For non-default vrf's bind the msdp socket to the vrf Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_msdp_socket.c b/pimd/pim_msdp_socket.c index 897a1b3d04..ee3cc96980 100644 --- a/pimd/pim_msdp_socket.c +++ b/pimd/pim_msdp_socket.c @@ -24,8 +24,11 @@ #include #include #include +#include +#include #include "pimd.h" +#include "pim_sock.h" #include "pim_msdp.h" #include "pim_msdp_socket.h" @@ -214,6 +217,12 @@ int pim_msdp_sock_connect(struct pim_msdp_peer *mp) return -1; } + if (mp->pim->vrf_id != VRF_DEFAULT) { + struct interface *ifp = + if_lookup_by_name(mp->pim->vrf->name, mp->pim->vrf_id); + pim_socket_bind(mp->fd, ifp); + } + set_nonblocking(mp->fd); /* Set socket send buffer size */