summaryrefslogtreecommitdiff
path: root/pimd/pim_msdp_socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_msdp_socket.c')
-rw-r--r--pimd/pim_msdp_socket.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/pimd/pim_msdp_socket.c b/pimd/pim_msdp_socket.c
index ee3cc96980..b8c103fe27 100644
--- a/pimd/pim_msdp_socket.c
+++ b/pimd/pim_msdp_socket.c
@@ -150,6 +150,12 @@ int pim_msdp_sock_listen(struct pim_instance *pim)
sockopt_reuseaddr(sock);
sockopt_reuseport(sock);
+ if (pim->vrf_id != VRF_DEFAULT) {
+ struct interface *ifp =
+ if_lookup_by_name(pim->vrf->name, pim->vrf_id);
+ pim_socket_bind(sock, ifp);
+ }
+
if (pimd_privs.change(ZPRIVS_RAISE)) {
zlog_err("pim_msdp_socket: could not raise privs, %s",
safe_strerror(errno));