mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 18:16:43 +00:00
lib: remove the vrf_is_mapped_on_netns() function
Now that all daemons receive the VRF backend from zebra, we can get rid of vrf_is_mapped_on_netns() in favor of using the more convenient vrf_is_backend_netns() function, which doesn't require any argument. This commit also fixes the following problem: debian(config)# ip route 50.0.0.0/8 blackhole vrf FAKE table 2 % table param only available when running on netns-based vrfs Even when zebra was started with the --vrfwnetns, the error above would be displayed since the VRF FAKE didn't exist, which would make vrf_is_mapped_on_netns() return 0 incorrectly. Using vrf_is_backend_netns() this problem doesn't happen anymore. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
This commit is contained in:
parent
bb6b7f79be
commit
81bd033cbb
@ -670,8 +670,7 @@ static int bgp_listener(int sock, struct sockaddr *sa, socklen_t salen,
|
||||
listener->fd = sock;
|
||||
|
||||
/* this socket needs a change of ns. record bgp back pointer */
|
||||
if (bgp->vrf_id != VRF_DEFAULT && vrf_is_mapped_on_netns(
|
||||
vrf_lookup_by_id(bgp->vrf_id)))
|
||||
if (bgp->vrf_id != VRF_DEFAULT && vrf_is_backend_netns())
|
||||
listener->bgp = bgp;
|
||||
|
||||
memcpy(&listener->su, sa, salen);
|
||||
|
@ -716,13 +716,6 @@ int vrf_netns_handler_create(struct vty *vty, struct vrf *vrf, char *pathname,
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
int vrf_is_mapped_on_netns(struct vrf *vrf)
|
||||
{
|
||||
if (!vrf || vrf->data.l.netns_name[0] == '\0')
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* vrf CLI commands */
|
||||
DEFUN_NOSH(vrf_exit,
|
||||
vrf_exit_cmd,
|
||||
@ -953,7 +946,7 @@ int vrf_bind(vrf_id_t vrf_id, int fd, char *name)
|
||||
|
||||
if (fd < 0 || name == NULL)
|
||||
return fd;
|
||||
if (vrf_is_mapped_on_netns(vrf_lookup_by_id(vrf_id)))
|
||||
if (vrf_is_backend_netns())
|
||||
return fd;
|
||||
#ifdef SO_BINDTODEVICE
|
||||
ret = setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, name, strlen(name)+1);
|
||||
|
@ -240,9 +240,6 @@ extern void vrf_set_default_name(const char *default_name, bool force);
|
||||
extern const char *vrf_get_default_name(void);
|
||||
#define VRF_DEFAULT_NAME vrf_get_default_name()
|
||||
|
||||
/* VRF is mapped on netns or not ? */
|
||||
int vrf_is_mapped_on_netns(struct vrf *vrf);
|
||||
|
||||
/* VRF switch from NETNS */
|
||||
extern int vrf_switch_to_netns(vrf_id_t vrf_id);
|
||||
extern int vrf_switchback_to_initial(void);
|
||||
|
@ -775,7 +775,7 @@ DEFPY(ip_route_blackhole,
|
||||
"Table to configure\n"
|
||||
"The table number to configure\n")
|
||||
{
|
||||
if (table_str && vrf && !vrf_is_mapped_on_netns(vrf_lookup_by_name(vrf))) {
|
||||
if (table_str && vrf && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -814,7 +814,7 @@ DEFPY(ip_route_blackhole_vrf,
|
||||
VTY_DECLVAR_CONTEXT(vrf, vrf);
|
||||
struct static_vrf *svrf = vrf->info;
|
||||
|
||||
if (table_str && !vrf_is_mapped_on_netns(vrf)) {
|
||||
if (table_str && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -880,7 +880,7 @@ DEFPY(ip_route_address_interface,
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
}
|
||||
|
||||
if (table_str && vrf && !vrf_is_mapped_on_netns(vrf_lookup_by_name(vrf))) {
|
||||
if (table_str && vrf && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -938,7 +938,7 @@ DEFPY(ip_route_address_interface_vrf,
|
||||
struct static_vrf *svrf = vrf->info;
|
||||
struct static_vrf *nh_svrf;
|
||||
|
||||
if (table_str && !vrf_is_mapped_on_netns(vrf)) {
|
||||
if (table_str && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -999,7 +999,7 @@ DEFPY(ip_route,
|
||||
struct static_vrf *nh_svrf;
|
||||
const char *flag = NULL;
|
||||
|
||||
if (table_str && vrf && !vrf_is_mapped_on_netns(vrf_lookup_by_name(vrf))) {
|
||||
if (table_str && vrf && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -1065,7 +1065,7 @@ DEFPY(ip_route_vrf,
|
||||
struct static_vrf *nh_svrf;
|
||||
const char *flag = NULL;
|
||||
|
||||
if (table_str && !vrf_is_mapped_on_netns(vrf)) {
|
||||
if (table_str && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -1119,7 +1119,7 @@ DEFPY(ipv6_route_blackhole,
|
||||
"Table to configure\n"
|
||||
"The table number to configure\n")
|
||||
{
|
||||
if (table_str && vrf && !vrf_is_mapped_on_netns(vrf_lookup_by_name(vrf))) {
|
||||
if (table_str && vrf && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -1158,7 +1158,7 @@ DEFPY(ipv6_route_blackhole_vrf,
|
||||
VTY_DECLVAR_CONTEXT(vrf, vrf);
|
||||
struct static_vrf *svrf = vrf->info;
|
||||
|
||||
if (table_str && !vrf_is_mapped_on_netns(vrf)) {
|
||||
if (table_str && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -1213,7 +1213,7 @@ DEFPY(ipv6_route_address_interface,
|
||||
struct static_vrf *nh_svrf;
|
||||
const char *flag = NULL;
|
||||
|
||||
if (table_str && vrf && !vrf_is_mapped_on_netns(vrf_lookup_by_name(vrf))) {
|
||||
if (table_str && vrf && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -1282,7 +1282,7 @@ DEFPY(ipv6_route_address_interface_vrf,
|
||||
struct static_vrf *nh_svrf;
|
||||
const char *flag = NULL;
|
||||
|
||||
if (table_str && !vrf_is_mapped_on_netns(vrf)) {
|
||||
if (table_str && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -1343,7 +1343,7 @@ DEFPY(ipv6_route,
|
||||
struct static_vrf *nh_svrf;
|
||||
const char *flag = NULL;
|
||||
|
||||
if (table_str && vrf && !vrf_is_mapped_on_netns(vrf_lookup_by_name(vrf))) {
|
||||
if (table_str && vrf && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
@ -1409,7 +1409,7 @@ DEFPY(ipv6_route_vrf,
|
||||
struct static_vrf *nh_svrf;
|
||||
const char *flag = NULL;
|
||||
|
||||
if (table_str && !vrf_is_mapped_on_netns(vrf)) {
|
||||
if (table_str && !vrf_is_backend_netns()) {
|
||||
vty_out(vty,
|
||||
"%% table param only available when running on netns-based vrfs\n");
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
|
Loading…
Reference in New Issue
Block a user