mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-06 07:51:29 +00:00
Merge pull request #1299 from opensourcerouting/small_fixes
Small fixes
This commit is contained in:
commit
bdef880d9c
@ -3102,11 +3102,11 @@ DEFUN (bgp_evpn_vni_rt,
|
|||||||
if (!bgp || !vpn)
|
if (!bgp || !vpn)
|
||||||
return CMD_WARNING;
|
return CMD_WARNING;
|
||||||
|
|
||||||
if (!strcmp(argv[1]->arg, "import"))
|
if (!strcmp(argv[1]->text, "import"))
|
||||||
rt_type = RT_TYPE_IMPORT;
|
rt_type = RT_TYPE_IMPORT;
|
||||||
else if (!strcmp(argv[1]->arg, "export"))
|
else if (!strcmp(argv[1]->text, "export"))
|
||||||
rt_type = RT_TYPE_EXPORT;
|
rt_type = RT_TYPE_EXPORT;
|
||||||
else if (!strcmp(argv[1]->arg, "both"))
|
else if (!strcmp(argv[1]->text, "both"))
|
||||||
rt_type = RT_TYPE_BOTH;
|
rt_type = RT_TYPE_BOTH;
|
||||||
else {
|
else {
|
||||||
vty_out(vty, "%% Invalid Route Target type\n");
|
vty_out(vty, "%% Invalid Route Target type\n");
|
||||||
@ -3164,11 +3164,11 @@ DEFUN (no_bgp_evpn_vni_rt,
|
|||||||
if (!bgp || !vpn)
|
if (!bgp || !vpn)
|
||||||
return CMD_WARNING;
|
return CMD_WARNING;
|
||||||
|
|
||||||
if (!strcmp(argv[2]->arg, "import"))
|
if (!strcmp(argv[2]->text, "import"))
|
||||||
rt_type = RT_TYPE_IMPORT;
|
rt_type = RT_TYPE_IMPORT;
|
||||||
else if (!strcmp(argv[2]->arg, "export"))
|
else if (!strcmp(argv[2]->text, "export"))
|
||||||
rt_type = RT_TYPE_EXPORT;
|
rt_type = RT_TYPE_EXPORT;
|
||||||
else if (!strcmp(argv[2]->arg, "both"))
|
else if (!strcmp(argv[2]->text, "both"))
|
||||||
rt_type = RT_TYPE_BOTH;
|
rt_type = RT_TYPE_BOTH;
|
||||||
else {
|
else {
|
||||||
vty_out(vty, "%% Invalid Route Target type\n");
|
vty_out(vty, "%% Invalid Route Target type\n");
|
||||||
@ -3257,9 +3257,9 @@ DEFUN (no_bgp_evpn_vni_rt_without_val,
|
|||||||
if (!bgp || !vpn)
|
if (!bgp || !vpn)
|
||||||
return CMD_WARNING;
|
return CMD_WARNING;
|
||||||
|
|
||||||
if (!strcmp(argv[2]->arg, "import")) {
|
if (!strcmp(argv[2]->text, "import")) {
|
||||||
rt_type = RT_TYPE_IMPORT;
|
rt_type = RT_TYPE_IMPORT;
|
||||||
} else if (!strcmp(argv[2]->arg, "export")) {
|
} else if (!strcmp(argv[2]->text, "export")) {
|
||||||
rt_type = RT_TYPE_EXPORT;
|
rt_type = RT_TYPE_EXPORT;
|
||||||
} else {
|
} else {
|
||||||
vty_out(vty, "%% Invalid Route Target type\n");
|
vty_out(vty, "%% Invalid Route Target type\n");
|
||||||
|
13
ldpd/ldpd.c
13
ldpd/ldpd.c
@ -450,10 +450,15 @@ start_child(enum ldpd_process p, char *argv0, int fd_async, int fd_sync)
|
|||||||
}
|
}
|
||||||
|
|
||||||
nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
|
nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
|
||||||
dup2(nullfd, 0);
|
if (nullfd == -1) {
|
||||||
dup2(nullfd, 1);
|
zlog_err("%s: failed to open /dev/null: %s", __func__,
|
||||||
dup2(nullfd, 2);
|
safe_strerror(errno));
|
||||||
close(nullfd);
|
} else {
|
||||||
|
dup2(nullfd, 0);
|
||||||
|
dup2(nullfd, 1);
|
||||||
|
dup2(nullfd, 2);
|
||||||
|
close(nullfd);
|
||||||
|
}
|
||||||
|
|
||||||
if (dup2(fd_async, LDPD_FD_ASYNC) == -1)
|
if (dup2(fd_async, LDPD_FD_ASYNC) == -1)
|
||||||
fatal("cannot setup imsg async fd");
|
fatal("cannot setup imsg async fd");
|
||||||
|
30
lib/libfrr.c
30
lib/libfrr.c
@ -768,6 +768,8 @@ void frr_vty_serv(void)
|
|||||||
|
|
||||||
static void frr_terminal_close(int isexit)
|
static void frr_terminal_close(int isexit)
|
||||||
{
|
{
|
||||||
|
int nullfd;
|
||||||
|
|
||||||
if (daemon_ctl_sock != -1) {
|
if (daemon_ctl_sock != -1) {
|
||||||
close(daemon_ctl_sock);
|
close(daemon_ctl_sock);
|
||||||
daemon_ctl_sock = -1;
|
daemon_ctl_sock = -1;
|
||||||
@ -783,11 +785,16 @@ static void frr_terminal_close(int isexit)
|
|||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
int nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
|
nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
|
||||||
dup2(nullfd, 0);
|
if (nullfd == -1) {
|
||||||
dup2(nullfd, 1);
|
zlog_err("%s: failed to open /dev/null: %s", __func__,
|
||||||
dup2(nullfd, 2);
|
safe_strerror(errno));
|
||||||
close(nullfd);
|
} else {
|
||||||
|
dup2(nullfd, 0);
|
||||||
|
dup2(nullfd, 1);
|
||||||
|
dup2(nullfd, 2);
|
||||||
|
close(nullfd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct thread *daemon_ctl_thread = NULL;
|
static struct thread *daemon_ctl_thread = NULL;
|
||||||
@ -849,10 +856,15 @@ void frr_run(struct thread_master *master)
|
|||||||
}
|
}
|
||||||
} else if (di->daemon_mode) {
|
} else if (di->daemon_mode) {
|
||||||
int nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
|
int nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
|
||||||
dup2(nullfd, 0);
|
if (nullfd == -1) {
|
||||||
dup2(nullfd, 1);
|
zlog_err("%s: failed to open /dev/null: %s", __func__,
|
||||||
dup2(nullfd, 2);
|
safe_strerror(errno));
|
||||||
close(nullfd);
|
} else {
|
||||||
|
dup2(nullfd, 0);
|
||||||
|
dup2(nullfd, 1);
|
||||||
|
dup2(nullfd, 2);
|
||||||
|
close(nullfd);
|
||||||
|
}
|
||||||
|
|
||||||
if (daemon_ctl_sock != -1)
|
if (daemon_ctl_sock != -1)
|
||||||
close(daemon_ctl_sock);
|
close(daemon_ctl_sock);
|
||||||
|
@ -1469,13 +1469,13 @@ DEFUN (debug_ospf6_route,
|
|||||||
int idx_type = 3;
|
int idx_type = 3;
|
||||||
unsigned char level = 0;
|
unsigned char level = 0;
|
||||||
|
|
||||||
if (!strncmp(argv[idx_type]->arg, "table", 5))
|
if (!strcmp(argv[idx_type]->text, "table"))
|
||||||
level = OSPF6_DEBUG_ROUTE_TABLE;
|
level = OSPF6_DEBUG_ROUTE_TABLE;
|
||||||
else if (!strncmp(argv[idx_type]->arg, "intra", 5))
|
else if (!strcmp(argv[idx_type]->text, "intra-area"))
|
||||||
level = OSPF6_DEBUG_ROUTE_INTRA;
|
level = OSPF6_DEBUG_ROUTE_INTRA;
|
||||||
else if (!strncmp(argv[idx_type]->arg, "inter", 5))
|
else if (!strcmp(argv[idx_type]->text, "inter-area"))
|
||||||
level = OSPF6_DEBUG_ROUTE_INTER;
|
level = OSPF6_DEBUG_ROUTE_INTER;
|
||||||
else if (!strncmp(argv[idx_type]->arg, "memor", 5))
|
else if (!strcmp(argv[idx_type]->text, "memory"))
|
||||||
level = OSPF6_DEBUG_ROUTE_MEMORY;
|
level = OSPF6_DEBUG_ROUTE_MEMORY;
|
||||||
OSPF6_DEBUG_ROUTE_ON(level);
|
OSPF6_DEBUG_ROUTE_ON(level);
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
@ -1496,13 +1496,13 @@ DEFUN (no_debug_ospf6_route,
|
|||||||
int idx_type = 4;
|
int idx_type = 4;
|
||||||
unsigned char level = 0;
|
unsigned char level = 0;
|
||||||
|
|
||||||
if (!strncmp(argv[idx_type]->arg, "table", 5))
|
if (!strcmp(argv[idx_type]->text, "table"))
|
||||||
level = OSPF6_DEBUG_ROUTE_TABLE;
|
level = OSPF6_DEBUG_ROUTE_TABLE;
|
||||||
else if (!strncmp(argv[idx_type]->arg, "intra", 5))
|
else if (!strcmp(argv[idx_type]->text, "intra-area"))
|
||||||
level = OSPF6_DEBUG_ROUTE_INTRA;
|
level = OSPF6_DEBUG_ROUTE_INTRA;
|
||||||
else if (!strncmp(argv[idx_type]->arg, "inter", 5))
|
else if (!strcmp(argv[idx_type]->text, "inter-area"))
|
||||||
level = OSPF6_DEBUG_ROUTE_INTER;
|
level = OSPF6_DEBUG_ROUTE_INTER;
|
||||||
else if (!strncmp(argv[idx_type]->arg, "memor", 5))
|
else if (!strcmp(argv[idx_type]->text, "memory"))
|
||||||
level = OSPF6_DEBUG_ROUTE_MEMORY;
|
level = OSPF6_DEBUG_ROUTE_MEMORY;
|
||||||
OSPF6_DEBUG_ROUTE_OFF(level);
|
OSPF6_DEBUG_ROUTE_OFF(level);
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
|
@ -93,13 +93,9 @@ DEFUN (debug_rip_packet_direct,
|
|||||||
{
|
{
|
||||||
int idx_recv_send = 3;
|
int idx_recv_send = 3;
|
||||||
rip_debug_packet |= RIP_DEBUG_PACKET;
|
rip_debug_packet |= RIP_DEBUG_PACKET;
|
||||||
if (strncmp("send", argv[idx_recv_send]->arg,
|
if (strcmp("send", argv[idx_recv_send]->text) == 0)
|
||||||
strlen(argv[idx_recv_send]->arg))
|
|
||||||
== 0)
|
|
||||||
rip_debug_packet |= RIP_DEBUG_SEND;
|
rip_debug_packet |= RIP_DEBUG_SEND;
|
||||||
if (strncmp("recv", argv[idx_recv_send]->arg,
|
if (strcmp("recv", argv[idx_recv_send]->text) == 0)
|
||||||
strlen(argv[idx_recv_send]->arg))
|
|
||||||
== 0)
|
|
||||||
rip_debug_packet |= RIP_DEBUG_RECV;
|
rip_debug_packet |= RIP_DEBUG_RECV;
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
}
|
}
|
||||||
@ -150,16 +146,12 @@ DEFUN (no_debug_rip_packet_direct,
|
|||||||
"RIP option set for send packet\n")
|
"RIP option set for send packet\n")
|
||||||
{
|
{
|
||||||
int idx_recv_send = 4;
|
int idx_recv_send = 4;
|
||||||
if (strncmp("send", argv[idx_recv_send]->arg,
|
if (strcmp("send", argv[idx_recv_send]->text) == 0) {
|
||||||
strlen(argv[idx_recv_send]->arg))
|
|
||||||
== 0) {
|
|
||||||
if (IS_RIP_DEBUG_RECV)
|
if (IS_RIP_DEBUG_RECV)
|
||||||
rip_debug_packet &= ~RIP_DEBUG_SEND;
|
rip_debug_packet &= ~RIP_DEBUG_SEND;
|
||||||
else
|
else
|
||||||
rip_debug_packet = 0;
|
rip_debug_packet = 0;
|
||||||
} else if (strncmp("recv", argv[idx_recv_send]->arg,
|
} else if (strcmp("recv", argv[idx_recv_send]->text) == 0) {
|
||||||
strlen(argv[idx_recv_send]->arg))
|
|
||||||
== 0) {
|
|
||||||
if (IS_RIP_DEBUG_SEND)
|
if (IS_RIP_DEBUG_SEND)
|
||||||
rip_debug_packet &= ~RIP_DEBUG_RECV;
|
rip_debug_packet &= ~RIP_DEBUG_RECV;
|
||||||
else
|
else
|
||||||
|
@ -94,13 +94,9 @@ DEFUN (debug_ripng_packet_direct,
|
|||||||
{
|
{
|
||||||
int idx_recv_send = 3;
|
int idx_recv_send = 3;
|
||||||
ripng_debug_packet |= RIPNG_DEBUG_PACKET;
|
ripng_debug_packet |= RIPNG_DEBUG_PACKET;
|
||||||
if (strncmp("send", argv[idx_recv_send]->arg,
|
if (strcmp("send", argv[idx_recv_send]->text) == 0)
|
||||||
strlen(argv[idx_recv_send]->arg))
|
|
||||||
== 0)
|
|
||||||
ripng_debug_packet |= RIPNG_DEBUG_SEND;
|
ripng_debug_packet |= RIPNG_DEBUG_SEND;
|
||||||
if (strncmp("recv", argv[idx_recv_send]->arg,
|
if (strcmp("recv", argv[idx_recv_send]->text) == 0)
|
||||||
strlen(argv[idx_recv_send]->arg))
|
|
||||||
== 0)
|
|
||||||
ripng_debug_packet |= RIPNG_DEBUG_RECV;
|
ripng_debug_packet |= RIPNG_DEBUG_RECV;
|
||||||
|
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
@ -152,16 +148,12 @@ DEFUN (no_debug_ripng_packet_direct,
|
|||||||
"Debug option set for send packet\n")
|
"Debug option set for send packet\n")
|
||||||
{
|
{
|
||||||
int idx_recv_send = 4;
|
int idx_recv_send = 4;
|
||||||
if (strncmp("send", argv[idx_recv_send]->arg,
|
if (strcmp("send", argv[idx_recv_send]->text) == 0) {
|
||||||
strlen(argv[idx_recv_send]->arg))
|
|
||||||
== 0) {
|
|
||||||
if (IS_RIPNG_DEBUG_RECV)
|
if (IS_RIPNG_DEBUG_RECV)
|
||||||
ripng_debug_packet &= ~RIPNG_DEBUG_SEND;
|
ripng_debug_packet &= ~RIPNG_DEBUG_SEND;
|
||||||
else
|
else
|
||||||
ripng_debug_packet = 0;
|
ripng_debug_packet = 0;
|
||||||
} else if (strncmp("recv", argv[idx_recv_send]->arg,
|
} else if (strcmp("recv", argv[idx_recv_send]->text) == 0) {
|
||||||
strlen(argv[idx_recv_send]->arg))
|
|
||||||
== 0) {
|
|
||||||
if (IS_RIPNG_DEBUG_SEND)
|
if (IS_RIPNG_DEBUG_SEND)
|
||||||
ripng_debug_packet &= ~RIPNG_DEBUG_RECV;
|
ripng_debug_packet &= ~RIPNG_DEBUG_RECV;
|
||||||
else
|
else
|
||||||
|
@ -455,7 +455,7 @@ static void vty_show_ip_route_detail(struct vty *vty, struct route_node *rn,
|
|||||||
vty_out(vty, ", distance %u, metric %u", re->distance,
|
vty_out(vty, ", distance %u, metric %u", re->distance,
|
||||||
re->metric);
|
re->metric);
|
||||||
if (re->tag)
|
if (re->tag)
|
||||||
vty_out(vty, ", tag %d", re->tag);
|
vty_out(vty, ", tag %u", re->tag);
|
||||||
if (re->mtu)
|
if (re->mtu)
|
||||||
vty_out(vty, ", mtu %u", re->mtu);
|
vty_out(vty, ", mtu %u", re->mtu);
|
||||||
if (re->vrf_id != VRF_DEFAULT) {
|
if (re->vrf_id != VRF_DEFAULT) {
|
||||||
@ -829,7 +829,7 @@ static void vty_show_ip_route(struct vty *vty, struct route_node *rn,
|
|||||||
|
|
||||||
/* Distance and metric display. */
|
/* Distance and metric display. */
|
||||||
if (re->type != ZEBRA_ROUTE_CONNECT)
|
if (re->type != ZEBRA_ROUTE_CONNECT)
|
||||||
len += vty_out(vty, " [%d/%d]", re->distance,
|
len += vty_out(vty, " [%u/%u]", re->distance,
|
||||||
re->metric);
|
re->metric);
|
||||||
} else {
|
} else {
|
||||||
vty_out(vty, " %c%*c",
|
vty_out(vty, " %c%*c",
|
||||||
|
Loading…
Reference in New Issue
Block a user