]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_vty.c
Merge pull request #12176 from sworleys/BGP-InQ
[mirror_frr.git] / bgpd / bgp_vty.c
index ec0fcd8f11985709fa57412e3f8c8a34de3bd8be..e856529fc693f4ebedd258df8429d2f1e79569fc 100644 (file)
@@ -17733,6 +17733,10 @@ int bgp_config_write(struct vty *vty)
        if (bm->tcp_dscp != IPTOS_PREC_INTERNETCONTROL)
                vty_out(vty, "bgp session-dscp %u\n", bm->tcp_dscp >> 2);
 
+       /* BGP InQ limit */
+       if (bm->inq_limit != BM_DEFAULT_INQ_LIMIT)
+               vty_out(vty, "bgp input-queue-limit %u\n", bm->inq_limit);
+
        /* BGP configuration. */
        for (ALL_LIST_ELEMENTS(bm->bgp, mnode, mnnode, bgp)) {
 
@@ -18445,6 +18449,31 @@ DEFPY(mpls_bgp_forwarding, mpls_bgp_forwarding_cmd,
        return CMD_SUCCESS;
 }
 
+DEFPY (bgp_inq_limit,
+       bgp_inq_limit_cmd,
+       "bgp input-queue-limit (1-4294967295)$limit",
+       BGP_STR
+       "Set the BGP Input Queue limit for all peers when message parsing\n"
+       "Input-Queue limit\n")
+{
+       bm->inq_limit = limit;
+
+       return CMD_SUCCESS;
+}
+
+DEFPY (no_bgp_inq_limit,
+       no_bgp_inq_limit_cmd,
+       "no bgp input-queue-limit [(1-4294967295)$limit]",
+       NO_STR
+       BGP_STR
+       "Set the BGP Input Queue limit for all peers when message parsing\n"
+       "Input-Queue limit\n")
+{
+       bm->inq_limit = BM_DEFAULT_INQ_LIMIT;
+
+       return CMD_SUCCESS;
+}
+
 /* Initialization of BGP interface. */
 static void bgp_vty_if_init(void)
 {
@@ -18494,6 +18523,10 @@ void bgp_vty_init(void)
        install_default(BGP_EVPN_VNI_NODE);
        install_default(BGP_SRV6_NODE);
 
+       /* "global bgp inq-limit command */
+       install_element(CONFIG_NODE, &bgp_inq_limit_cmd);
+       install_element(CONFIG_NODE, &no_bgp_inq_limit_cmd);
+
        /* "bgp local-mac" hidden commands. */
        install_element(CONFIG_NODE, &bgp_local_mac_cmd);
        install_element(CONFIG_NODE, &no_bgp_local_mac_cmd);
@@ -18689,6 +18722,10 @@ void bgp_vty_init(void)
        install_element(BGP_NODE, &bgp_graceful_restart_rib_stale_time_cmd);
        install_element(BGP_NODE, &no_bgp_graceful_restart_rib_stale_time_cmd);
 
+       /* "bgp inq-limit command */
+       install_element(BGP_NODE, &bgp_inq_limit_cmd);
+       install_element(BGP_NODE, &no_bgp_inq_limit_cmd);
+
        /* "bgp graceful-shutdown" commands */
        install_element(BGP_NODE, &bgp_graceful_shutdown_cmd);
        install_element(BGP_NODE, &no_bgp_graceful_shutdown_cmd);