mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-04 19:31:44 +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)
|
||||
return CMD_WARNING;
|
||||
|
||||
if (!strcmp(argv[1]->arg, "import"))
|
||||
if (!strcmp(argv[1]->text, "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;
|
||||
else if (!strcmp(argv[1]->arg, "both"))
|
||||
else if (!strcmp(argv[1]->text, "both"))
|
||||
rt_type = RT_TYPE_BOTH;
|
||||
else {
|
||||
vty_out(vty, "%% Invalid Route Target type\n");
|
||||
@ -3164,11 +3164,11 @@ DEFUN (no_bgp_evpn_vni_rt,
|
||||
if (!bgp || !vpn)
|
||||
return CMD_WARNING;
|
||||
|
||||
if (!strcmp(argv[2]->arg, "import"))
|
||||
if (!strcmp(argv[2]->text, "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;
|
||||
else if (!strcmp(argv[2]->arg, "both"))
|
||||
else if (!strcmp(argv[2]->text, "both"))
|
||||
rt_type = RT_TYPE_BOTH;
|
||||
else {
|
||||
vty_out(vty, "%% Invalid Route Target type\n");
|
||||
@ -3257,9 +3257,9 @@ DEFUN (no_bgp_evpn_vni_rt_without_val,
|
||||
if (!bgp || !vpn)
|
||||
return CMD_WARNING;
|
||||
|
||||
if (!strcmp(argv[2]->arg, "import")) {
|
||||
if (!strcmp(argv[2]->text, "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;
|
||||
} else {
|
||||
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);
|
||||
dup2(nullfd, 0);
|
||||
dup2(nullfd, 1);
|
||||
dup2(nullfd, 2);
|
||||
close(nullfd);
|
||||
if (nullfd == -1) {
|
||||
zlog_err("%s: failed to open /dev/null: %s", __func__,
|
||||
safe_strerror(errno));
|
||||
} else {
|
||||
dup2(nullfd, 0);
|
||||
dup2(nullfd, 1);
|
||||
dup2(nullfd, 2);
|
||||
close(nullfd);
|
||||
}
|
||||
|
||||
if (dup2(fd_async, LDPD_FD_ASYNC) == -1)
|
||||
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)
|
||||
{
|
||||
int nullfd;
|
||||
|
||||
if (daemon_ctl_sock != -1) {
|
||||
close(daemon_ctl_sock);
|
||||
daemon_ctl_sock = -1;
|
||||
@ -783,11 +785,16 @@ static void frr_terminal_close(int isexit)
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
int nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
|
||||
dup2(nullfd, 0);
|
||||
dup2(nullfd, 1);
|
||||
dup2(nullfd, 2);
|
||||
close(nullfd);
|
||||
nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
|
||||
if (nullfd == -1) {
|
||||
zlog_err("%s: failed to open /dev/null: %s", __func__,
|
||||
safe_strerror(errno));
|
||||
} else {
|
||||
dup2(nullfd, 0);
|
||||
dup2(nullfd, 1);
|
||||
dup2(nullfd, 2);
|
||||
close(nullfd);
|
||||
}
|
||||
}
|
||||
|
||||
static struct thread *daemon_ctl_thread = NULL;
|
||||
@ -849,10 +856,15 @@ void frr_run(struct thread_master *master)
|
||||
}
|
||||
} else if (di->daemon_mode) {
|
||||
int nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
|
||||
dup2(nullfd, 0);
|
||||
dup2(nullfd, 1);
|
||||
dup2(nullfd, 2);
|
||||
close(nullfd);
|
||||
if (nullfd == -1) {
|
||||
zlog_err("%s: failed to open /dev/null: %s", __func__,
|
||||
safe_strerror(errno));
|
||||
} else {
|
||||
dup2(nullfd, 0);
|
||||
dup2(nullfd, 1);
|
||||
dup2(nullfd, 2);
|
||||
close(nullfd);
|
||||
}
|
||||
|
||||
if (daemon_ctl_sock != -1)
|
||||
close(daemon_ctl_sock);
|
||||
|
@ -1469,13 +1469,13 @@ DEFUN (debug_ospf6_route,
|
||||
int idx_type = 3;
|
||||
unsigned char level = 0;
|
||||
|
||||
if (!strncmp(argv[idx_type]->arg, "table", 5))
|
||||
if (!strcmp(argv[idx_type]->text, "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;
|
||||
else if (!strncmp(argv[idx_type]->arg, "inter", 5))
|
||||
else if (!strcmp(argv[idx_type]->text, "inter-area"))
|
||||
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;
|
||||
OSPF6_DEBUG_ROUTE_ON(level);
|
||||
return CMD_SUCCESS;
|
||||
@ -1496,13 +1496,13 @@ DEFUN (no_debug_ospf6_route,
|
||||
int idx_type = 4;
|
||||
unsigned char level = 0;
|
||||
|
||||
if (!strncmp(argv[idx_type]->arg, "table", 5))
|
||||
if (!strcmp(argv[idx_type]->text, "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;
|
||||
else if (!strncmp(argv[idx_type]->arg, "inter", 5))
|
||||
else if (!strcmp(argv[idx_type]->text, "inter-area"))
|
||||
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;
|
||||
OSPF6_DEBUG_ROUTE_OFF(level);
|
||||
return CMD_SUCCESS;
|
||||
|
@ -93,13 +93,9 @@ DEFUN (debug_rip_packet_direct,
|
||||
{
|
||||
int idx_recv_send = 3;
|
||||
rip_debug_packet |= RIP_DEBUG_PACKET;
|
||||
if (strncmp("send", argv[idx_recv_send]->arg,
|
||||
strlen(argv[idx_recv_send]->arg))
|
||||
== 0)
|
||||
if (strcmp("send", argv[idx_recv_send]->text) == 0)
|
||||
rip_debug_packet |= RIP_DEBUG_SEND;
|
||||
if (strncmp("recv", argv[idx_recv_send]->arg,
|
||||
strlen(argv[idx_recv_send]->arg))
|
||||
== 0)
|
||||
if (strcmp("recv", argv[idx_recv_send]->text) == 0)
|
||||
rip_debug_packet |= RIP_DEBUG_RECV;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
@ -150,16 +146,12 @@ DEFUN (no_debug_rip_packet_direct,
|
||||
"RIP option set for send packet\n")
|
||||
{
|
||||
int idx_recv_send = 4;
|
||||
if (strncmp("send", argv[idx_recv_send]->arg,
|
||||
strlen(argv[idx_recv_send]->arg))
|
||||
== 0) {
|
||||
if (strcmp("send", argv[idx_recv_send]->text) == 0) {
|
||||
if (IS_RIP_DEBUG_RECV)
|
||||
rip_debug_packet &= ~RIP_DEBUG_SEND;
|
||||
else
|
||||
rip_debug_packet = 0;
|
||||
} else if (strncmp("recv", argv[idx_recv_send]->arg,
|
||||
strlen(argv[idx_recv_send]->arg))
|
||||
== 0) {
|
||||
} else if (strcmp("recv", argv[idx_recv_send]->text) == 0) {
|
||||
if (IS_RIP_DEBUG_SEND)
|
||||
rip_debug_packet &= ~RIP_DEBUG_RECV;
|
||||
else
|
||||
|
@ -94,13 +94,9 @@ DEFUN (debug_ripng_packet_direct,
|
||||
{
|
||||
int idx_recv_send = 3;
|
||||
ripng_debug_packet |= RIPNG_DEBUG_PACKET;
|
||||
if (strncmp("send", argv[idx_recv_send]->arg,
|
||||
strlen(argv[idx_recv_send]->arg))
|
||||
== 0)
|
||||
if (strcmp("send", argv[idx_recv_send]->text) == 0)
|
||||
ripng_debug_packet |= RIPNG_DEBUG_SEND;
|
||||
if (strncmp("recv", argv[idx_recv_send]->arg,
|
||||
strlen(argv[idx_recv_send]->arg))
|
||||
== 0)
|
||||
if (strcmp("recv", argv[idx_recv_send]->text) == 0)
|
||||
ripng_debug_packet |= RIPNG_DEBUG_RECV;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
@ -152,16 +148,12 @@ DEFUN (no_debug_ripng_packet_direct,
|
||||
"Debug option set for send packet\n")
|
||||
{
|
||||
int idx_recv_send = 4;
|
||||
if (strncmp("send", argv[idx_recv_send]->arg,
|
||||
strlen(argv[idx_recv_send]->arg))
|
||||
== 0) {
|
||||
if (strcmp("send", argv[idx_recv_send]->text) == 0) {
|
||||
if (IS_RIPNG_DEBUG_RECV)
|
||||
ripng_debug_packet &= ~RIPNG_DEBUG_SEND;
|
||||
else
|
||||
ripng_debug_packet = 0;
|
||||
} else if (strncmp("recv", argv[idx_recv_send]->arg,
|
||||
strlen(argv[idx_recv_send]->arg))
|
||||
== 0) {
|
||||
} else if (strcmp("recv", argv[idx_recv_send]->text) == 0) {
|
||||
if (IS_RIPNG_DEBUG_SEND)
|
||||
ripng_debug_packet &= ~RIPNG_DEBUG_RECV;
|
||||
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,
|
||||
re->metric);
|
||||
if (re->tag)
|
||||
vty_out(vty, ", tag %d", re->tag);
|
||||
vty_out(vty, ", tag %u", re->tag);
|
||||
if (re->mtu)
|
||||
vty_out(vty, ", mtu %u", re->mtu);
|
||||
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. */
|
||||
if (re->type != ZEBRA_ROUTE_CONNECT)
|
||||
len += vty_out(vty, " [%d/%d]", re->distance,
|
||||
len += vty_out(vty, " [%u/%u]", re->distance,
|
||||
re->metric);
|
||||
} else {
|
||||
vty_out(vty, " %c%*c",
|
||||
|
Loading…
Reference in New Issue
Block a user