diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-06-10 15:05:31 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-24 13:51:39 -0400 |
| commit | 2267994ca9aa4ae69ce808bb8231f1b025fa5fba (patch) | |
| tree | 05f6381da0a3d43ec5383c608a88ee174eb220da /pimd/pim_msdp_socket.c | |
| parent | 7f1d002a040476e675ce7840256c0f3ca65b5194 (diff) | |
pimd: Bind msdp listen socket to vrf
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_msdp_socket.c')
| -rw-r--r-- | pimd/pim_msdp_socket.c | 6 |
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)); |
