pimd: For non-default vrf's bind the msdp socket to the vrf

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-06-07 16:24:07 -04:00
parent 56243c3a4a
commit 62fde40935

View File

@ -24,8 +24,11 @@
#include <lib/sockunion.h>
#include <lib/thread.h>
#include <lib/vty.h>
#include <lib/if.h>
#include <lib/vrf.h>
#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 */