/* autogenerated by embedmodel.py.  DO NOT EDIT */

#include <zebra.h>
#include "yang.h"

static const char model[] =
	"// SPDX-License-Identifier: BSD-2-Clause\n"
	"submodule frr-bgp-bmp {\n"
	"  yang-version 1.1;\n"
	"\n"
	"  belongs-to frr-bgp {\n"
	"    prefix \"bgp\";\n"
	"  }\n"
	"\n"
	"  import ietf-inet-types {\n"
	"    prefix inet;\n"
	"  }\n"
	"\n"
	"  import frr-bgp-types {\n"
	"    prefix frr-bt;\n"
	"  }\n"
	"\n"
	"  include \"frr-bgp-common-multiprotocol\";\n"
	"\n"
	"  organization\n"
	"    \"FRRouting\";\n"
	"  contact\n"
	"    \"FRR Users List: <mailto:frog@lists.frrouting.org> FRR Development\n"
	"     List: <mailto:dev@lists.frrouting.org>\";\n"
	"  description\n"
	"    \"This submodule defines a model for managing FRR BGP BMP.\n"
	"\n"
	"     Copyright 2020 FRRouting\n"
	"\n"
	"     Redistribution and use in source and binary forms, with or without\n"
	"     modification, are permitted provided that the following conditions\n"
	"     are met:\n"
	"\n"
	"     1. Redistributions of source code must retain the above copyright notice,\n"
	"     this list of conditions and the following disclaimer.\n"
	"\n"
	"     2. Redistributions in binary form must reproduce the above copyright\n"
	"     notice, this list of conditions and the following disclaimer in the\n"
	"     documentation and/or other materials provided with the distribution.\n"
	"\n"
	"     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n"
	"     \\\"AS IS\\\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n"
	"     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n"
	"     A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n"
	"     HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n"
	"     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n"
	"     LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n"
	"     DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n"
	"     THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n"
	"     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n"
	"     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\";\n"
	"\n"
	"  revision 2019-12-03 {\n"
	"    description\n"
	"      \"Initial revision.\";\n"
	"  }\n"
	"\n"
	"  grouping bmp-incoming-session {\n"
	"    container incoming-session {\n"
	"      list session-list {\n"
	"        key \"address tcp-port\";\n"
	"        leaf address {\n"
	"          type inet:ip-address;\n"
	"          description\n"
	"            \"IPv4 address to listen on.\";\n"
	"        }\n"
	"\n"
	"        leaf tcp-port {\n"
	"          type uint32;\n"
	"        }\n"
	"      }\n"
	"    }\n"
	"  }\n"
	"\n"
	"  grouping bmp-outgoing-session {\n"
	"    container outgoing-session {\n"
	"      list session-list {\n"
	"        key \"hostname tcp-port\";\n"
	"        leaf hostname {\n"
	"          type string;\n"
	"        }\n"
	"\n"
	"        leaf tcp-port {\n"
	"          type uint32;\n"
	"        }\n"
	"\n"
	"        leaf min-retry-time {\n"
	"          type uint32 {\n"
	"            range \"100..86400000\";\n"
	"          }\n"
	"          units \"milliseconds\";\n"
	"          default \"30000\";\n"
	"          description\n"
	"            \"Minimum connection retry interval.\";\n"
	"        }\n"
	"\n"
	"        leaf max-retry-time {\n"
	"          type uint32 {\n"
	"            range \"100..86400000\";\n"
	"          }\n"
	"          units \"milliseconds\";\n"
	"          default \"720000\";\n"
	"          description\n"
	"            \"Maximum connection retry interval.\";\n"
	"        }\n"
	"      }\n"
	"    }\n"
	"  }\n"
	"\n"
	"  grouping bmp-afi-safis {\n"
	"    container afi-safis {\n"
	"      description\n"
	"        \"List of address-families associated with the BGP\n"
	"         instance.\";\n"
	"      list afi-safi {\n"
	"        key \"afi-safi-name\";\n"
	"        description\n"
	"          \"AFI, SAFI configuration available for the\n"
	"           neighbour or group.\";\n"
	"        uses mp-afi-safi-config;\n"
	"\n"
	"        uses mp-all-afi-safi-list-contents;\n"
	"      }\n"
	"    }\n"
	"  }\n"
	"\n"
	"  grouping bmp-afi-safi-common-config {\n"
	"    container common-config {\n"
	"      leaf pre-policy {\n"
	"        type boolean;\n"
	"        default \"false\";\n"
	"        description\n"
	"          \"Send state before policy and filter processing.\";\n"
	"      }\n"
	"\n"
	"      leaf post-policy {\n"
	"        type boolean;\n"
	"        default \"false\";\n"
	"        description\n"
	"          \"Send state after policy and filter processing.\";\n"
	"      }\n"
	"    }\n"
	"  }\n"
	"\n"
	"  grouping global-bmp-config {\n"
	"    description\n"
	"      \"Structural grouping used to include filter\n"
	"       configuration for BMP.\";\n"
	"    container bmp-config {\n"
	"      description\n"
	"        \"BMP related parameters.\";\n"
	"      list target-list {\n"
	"        key \"target-name\";\n"
	"        leaf target-name {\n"
	"          type string;\n"
	"          description\n"
	"            \"Targets group name.\";\n"
	"        }\n"
	"\n"
	"        uses bmp-incoming-session;\n"
	"\n"
	"        uses bmp-outgoing-session;\n"
	"\n"
	"        leaf mirror {\n"
	"          type boolean;\n"
	"          default \"false\";\n"
	"          description\n"
	"            \"When set to \'TRUE\' it send BMP route mirroring messages.\";\n"
	"        }\n"
	"\n"
	"        leaf stats-time {\n"
	"          type uint32 {\n"
	"            range \"100..86400000\";\n"
	"          }\n"
	"          units \"milliseconds\";\n"
	"          description\n"
	"            \"Interval to send BMP Stats.\";\n"
	"        }\n"
	"\n"
	"        leaf ipv4-access-list {\n"
	"          type frr-bt:access-list-ref;\n"
	"          description\n"
	"            \"Access list to restrict BMP sessions.\";\n"
	"        }\n"
	"\n"
	"        leaf ipv6-access-list {\n"
	"          type frr-bt:access-list-ref;\n"
	"          description\n"
	"            \"Access list to restrict BMP sessions.\";\n"
	"        }\n"
	"\n"
	"        uses bmp-afi-safis;\n"
	"      }\n"
	"\n"
	"      leaf mirror-buffer-limit {\n"
	"        type uint32 {\n"
	"          range \"0..4294967294\";\n"
	"        }\n"
	"        units \"bytes\";\n"
	"        description\n"
	"          \"Maximum memory used for buffered mirroring messages.\";\n"
	"      }\n"
	"    }\n"
	"  }\n"
	"}\n"
	"";

static struct yang_module_embed embed = {
	.mod_name = "frr-bgp",
	.mod_rev = "",
	.sub_mod_name = "frr-bgp-bmp",
	.sub_mod_rev = "2019-12-03",
	.data = model,
	.format = LYS_IN_YANG,
};

static void embed_register(void) __attribute__((_CONSTRUCTOR(2000)));
static void embed_register(void)
{
	yang_module_embed(&embed);
}
