diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index 860c5fd382..137f0a6b59 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -895,7 +895,10 @@ int bgp_socket(struct bgp *bgp, unsigned short port, const char *address) frr_with_privs(&bgpd_privs) { sock = vrf_socket(ainfo->ai_family, ainfo->ai_socktype, - ainfo->ai_protocol, bgp->vrf_id, + ainfo->ai_protocol, + (bgp->inst_type + != BGP_INSTANCE_TYPE_VIEW + ? bgp->vrf_id : VRF_DEFAULT), (bgp->inst_type == BGP_INSTANCE_TYPE_VRF ? bgp->name : NULL));