]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Bind msdp listen socket to vrf
authorDonald Sharp <sharpd@cumulusnetworks.com>
Sat, 10 Jun 2017 19:05:31 +0000 (15:05 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 24 Jul 2017 17:51:39 +0000 (13:51 -0400)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_msdp_socket.c

index ee3cc9698085bb69c0fcd210d8070ff99420aa24..b8c103fe276a8c452b680e92d7af1f117d187312 100644 (file)
@@ -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));