mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-25 12:54:37 +00:00
Merge remote-tracking branch 'origin/stable/3.0'
This commit is contained in:
commit
d476347d5d
@ -3452,6 +3452,9 @@ peer_flag_modify_vty (struct vty *vty, const char *ip_str,
|
|||||||
return CMD_WARNING;
|
return CMD_WARNING;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!set && flag == PEER_FLAG_SHUTDOWN)
|
||||||
|
peer_tx_shutdown_message_unset (peer);
|
||||||
|
|
||||||
if (set)
|
if (set)
|
||||||
ret = peer_flag_set (peer, flag);
|
ret = peer_flag_set (peer, flag);
|
||||||
else
|
else
|
||||||
@ -3510,9 +3513,11 @@ DEFUN (neighbor_shutdown_msg,
|
|||||||
|
|
||||||
if (argc >= 5)
|
if (argc >= 5)
|
||||||
{
|
{
|
||||||
struct peer *peer = peer_lookup_vty (vty, argv[idx_peer]->arg);
|
struct peer *peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
|
||||||
char *message;
|
char *message;
|
||||||
|
|
||||||
|
if (!peer)
|
||||||
|
return CMD_WARNING;
|
||||||
message = argv_concat (argv, argc, 4);
|
message = argv_concat (argv, argc, 4);
|
||||||
peer_tx_shutdown_message_set (peer, message);
|
peer_tx_shutdown_message_set (peer, message);
|
||||||
XFREE (MTYPE_TMP, message);
|
XFREE (MTYPE_TMP, message);
|
||||||
@ -3540,9 +3545,6 @@ DEFUN (no_neighbor_shutdown_msg,
|
|||||||
{
|
{
|
||||||
int idx_peer = 2;
|
int idx_peer = 2;
|
||||||
|
|
||||||
struct peer *peer = peer_lookup_vty (vty, argv[idx_peer]->arg);
|
|
||||||
peer_tx_shutdown_message_unset (peer);
|
|
||||||
|
|
||||||
return peer_flag_unset_vty (vty, argv[idx_peer]->arg, PEER_FLAG_SHUTDOWN);
|
return peer_flag_unset_vty (vty, argv[idx_peer]->arg, PEER_FLAG_SHUTDOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1170,6 +1170,15 @@ ospf6_routemap_init (void)
|
|||||||
route_map_set_metric_hook (generic_set_add);
|
route_map_set_metric_hook (generic_set_add);
|
||||||
route_map_no_set_metric_hook (generic_set_delete);
|
route_map_no_set_metric_hook (generic_set_delete);
|
||||||
|
|
||||||
|
route_map_match_tag_hook (generic_match_add);
|
||||||
|
route_map_no_match_tag_hook (generic_match_delete);
|
||||||
|
|
||||||
|
route_map_match_ipv6_address_prefix_list_hook (generic_match_add);
|
||||||
|
route_map_no_match_ipv6_address_prefix_list_hook (generic_match_delete);
|
||||||
|
|
||||||
|
route_map_match_interface_hook (generic_match_add);
|
||||||
|
route_map_no_match_interface_hook (generic_match_delete);
|
||||||
|
|
||||||
route_map_install_match (&ospf6_routemap_rule_match_address_prefixlist_cmd);
|
route_map_install_match (&ospf6_routemap_rule_match_address_prefixlist_cmd);
|
||||||
route_map_install_match (&ospf6_routemap_rule_match_interface_cmd);
|
route_map_install_match (&ospf6_routemap_rule_match_interface_cmd);
|
||||||
route_map_install_match (&ospf6_routemap_rule_match_tag_cmd);
|
route_map_install_match (&ospf6_routemap_rule_match_tag_cmd);
|
||||||
|
@ -289,7 +289,7 @@ ospf6_zebra_read_ipv6 (int command, struct zclient *zclient,
|
|||||||
snprintf (nexthopstr, sizeof (nexthopstr), "::");
|
snprintf (nexthopstr, sizeof (nexthopstr), "::");
|
||||||
|
|
||||||
zlog_debug ("Zebra Receive route %s: %s %s nexthop %s ifindex %ld tag %"ROUTE_TAG_PRI,
|
zlog_debug ("Zebra Receive route %s: %s %s nexthop %s ifindex %ld tag %"ROUTE_TAG_PRI,
|
||||||
(command == ZEBRA_IPV6_ROUTE_ADD ? "add" : "delete"),
|
(command == ZEBRA_REDISTRIBUTE_IPV6_ADD ? "add" : "delete"),
|
||||||
zebra_route_string(api.type), prefixstr, nexthopstr, ifindex, api.tag);
|
zebra_route_string(api.type), prefixstr, nexthopstr, ifindex, api.tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7161,7 +7161,7 @@ DEFUN (no_ospf_redistribute_source,
|
|||||||
|
|
||||||
DEFUN (ospf_redistribute_instance_source,
|
DEFUN (ospf_redistribute_instance_source,
|
||||||
ospf_redistribute_instance_source_cmd,
|
ospf_redistribute_instance_source_cmd,
|
||||||
"redistribute <ospf|table> (1-65535) {<metric (0-16777214)|metric-type (1-2)|route-map WORD>}",
|
"redistribute <ospf|table> (1-65535) {metric (0-16777214)|metric-type (1-2)|route-map WORD}",
|
||||||
REDIST_STR
|
REDIST_STR
|
||||||
"Open Shortest Path First\n"
|
"Open Shortest Path First\n"
|
||||||
"Non-main Kernel Routing Table\n"
|
"Non-main Kernel Routing Table\n"
|
||||||
@ -7232,7 +7232,7 @@ DEFUN (ospf_redistribute_instance_source,
|
|||||||
|
|
||||||
DEFUN (no_ospf_redistribute_instance_source,
|
DEFUN (no_ospf_redistribute_instance_source,
|
||||||
no_ospf_redistribute_instance_source_cmd,
|
no_ospf_redistribute_instance_source_cmd,
|
||||||
"no redistribute <ospf|table> (1-65535) {<metric (0-16777214)|metric-type (1-2)|route-map WORD>}",
|
"no redistribute <ospf|table> (1-65535) {metric (0-16777214)|metric-type (1-2)|route-map WORD}",
|
||||||
NO_STR
|
NO_STR
|
||||||
REDIST_STR
|
REDIST_STR
|
||||||
"Open Shortest Path First\n"
|
"Open Shortest Path First\n"
|
||||||
|
@ -5109,7 +5109,7 @@ DEFUN (interface_ip_pim_hello,
|
|||||||
|
|
||||||
pim_ifp->pim_hello_period = strtol(argv[idx_time]->arg, NULL, 10);
|
pim_ifp->pim_hello_period = strtol(argv[idx_time]->arg, NULL, 10);
|
||||||
|
|
||||||
if (argc == idx_hold)
|
if (argc == idx_hold + 1)
|
||||||
pim_ifp->pim_default_holdtime = strtol(argv[idx_hold]->arg, NULL, 10);
|
pim_ifp->pim_default_holdtime = strtol(argv[idx_hold]->arg, NULL, 10);
|
||||||
|
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
|
@ -228,6 +228,7 @@ struct label_manager_chunk *assign_label_chunk(u_char proto, u_short instance,
|
|||||||
if (lmc->start > MPLS_MAX_UNRESERVED_LABEL - size + 1) {
|
if (lmc->start > MPLS_MAX_UNRESERVED_LABEL - size + 1) {
|
||||||
zlog_err("Reached max labels. Start: %u, size: %u", lmc->start,
|
zlog_err("Reached max labels. Start: %u, size: %u", lmc->start,
|
||||||
size);
|
size);
|
||||||
|
XFREE(MTYPE_LM_CHUNK, lmc);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
lmc->end = lmc->start + size - 1;
|
lmc->end = lmc->start + size - 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user