Coverage Report

Created: 2025-07-14 06:48

/src/frr/yang/frr-gmp.yang.c
Line
Count
Source
1
/* autogenerated by embedmodel.py.  DO NOT EDIT */
2
3
#include <zebra.h>
4
#include "yang.h"
5
6
static const char model[] =
7
  "// SPDX-License-Identifier: BSD-2-Clause\n"
8
  "module frr-gmp {\n"
9
  "  yang-version \"1.1\";\n"
10
  "  namespace \"http://frrouting.org/yang/gmp\";\n"
11
  "\n"
12
  "  prefix frr-gmp;\n"
13
  "\n"
14
  "  import frr-routing {\n"
15
  "    prefix \"frr-rt\";\n"
16
  "  }\n"
17
  "\n"
18
  "  import ietf-routing-types {\n"
19
  "    prefix \"rt-types\";\n"
20
  "  }\n"
21
  "\n"
22
  "  import ietf-inet-types {\n"
23
  "    prefix \"inet\";\n"
24
  "  }\n"
25
  "\n"
26
  "  import frr-interface {\n"
27
  "    prefix frr-interface;\n"
28
  "  }\n"
29
  "\n"
30
  "  organization\n"
31
  "    \"FRRouting\";\n"
32
  "\n"
33
  "  contact\n"
34
  "    \"FRR Users List:       <mailto:frog@lists.frrouting.org>\n"
35
  "     FRR Development List: <mailto:dev@lists.frrouting.org>\";\n"
36
  "\n"
37
  "  description\n"
38
  "    \"This module defines a model for managing FRR pimd daemon.\n"
39
  "\n"
40
  "     Copyright 2020 FRRouting\n"
41
  "\n"
42
  "     Redistribution and use in source and binary forms, with or without\n"
43
  "     modification, are permitted provided that the following conditions\n"
44
  "     are met:\n"
45
  "\n"
46
  "     1. Redistributions of source code must retain the above copyright notice,\n"
47
  "     this list of conditions and the following disclaimer.\n"
48
  "\n"
49
  "     2. Redistributions in binary form must reproduce the above copyright\n"
50
  "     notice, this list of conditions and the following disclaimer in the\n"
51
  "     documentation and/or other materials provided with the distribution.\n"
52
  "\n"
53
  "     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n"
54
  "     \\\"AS IS\\\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n"
55
  "     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n"
56
  "     A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n"
57
  "     HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n"
58
  "     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n"
59
  "     LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n"
60
  "     DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n"
61
  "     THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n"
62
  "     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n"
63
  "     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\";\n"
64
  "\n"
65
  "  revision 2021-11-22 {\n"
66
  "    description\n"
67
  "      \"Initial revision.\";\n"
68
  "    reference\n"
69
  "      \"RFC 2236: IGMP v2.\n"
70
  "       RFC 3376: IGMP v3.\n"
71
  "       RFC 2710: MLD.\n"
72
  "       RFC 3810: MLD v2.\";\n"
73
  "  }\n"
74
  "\n"
75
  "  grouping interface-config-attributes {\n"
76
  "    description\n"
77
  "      \"Configuration IGMP/MLD attributes applied to the interface level.\";\n"
78
  "\n"
79
  "    leaf enable {\n"
80
  "      type boolean;\n"
81
  "      default \"false\";\n"
82
  "      description\n"
83
  "        \"Enable IGMP/MLD flag on the interface.\";\n"
84
  "    }\n"
85
  "\n"
86
  "    leaf igmp-version {\n"
87
  "      when \"../frr-gmp:address-family = \'frr-rt:ipv4\'\" {\n"
88
  "        description\n"
89
  "          \"Only applicable to IPv4 address family.\";\n"
90
  "      }\n"
91
  "      type uint8 {\n"
92
  "        range \"2..3\";\n"
93
  "      }\n"
94
  "      description\n"
95
  "        \"IGMP version.\";\n"
96
  "    }\n"
97
  "\n"
98
  "    leaf mld-version {\n"
99
  "      when \"../frr-gmp:address-family = \'frr-rt:ipv6\'\" {\n"
100
  "        description\n"
101
  "          \"Only applicable to IPv6 address family.\";\n"
102
  "      }\n"
103
  "      type uint8 {\n"
104
  "        range \"1..2\";\n"
105
  "      }\n"
106
  "      default \"2\";\n"
107
  "      description\n"
108
  "        \"MLD version.\";\n"
109
  "    }\n"
110
  "\n"
111
  "    leaf query-interval {\n"
112
  "      type uint16 {\n"
113
  "        range \"1..max\";\n"
114
  "      }\n"
115
  "      units seconds;\n"
116
  "      must \". * 10 >= ../query-max-response-time\";\n"
117
  "      default \"125\";\n"
118
  "      description\n"
119
  "        \"The Query Interval is the interval between General Queries\n"
120
  "         sent by the Querier.\";\n"
121
  "    }\n"
122
  "\n"
123
  "    leaf query-max-response-time {\n"
124
  "      type uint16 {\n"
125
  "        range \"1..max\";\n"
126
  "      }\n"
127
  "      units deciseconds;\n"
128
  "      must \". <= ../query-interval * 10\";\n"
129
  "      default \"100\";\n"
130
  "      description\n"
131
  "        \"Query maximum response time specifies the maximum time\n"
132
  "         allowed before sending a responding report.\";\n"
133
  "    }\n"
134
  "\n"
135
  "    leaf last-member-query-interval {\n"
136
  "      type uint16 {\n"
137
  "        range \"1..max\";\n"
138
  "      }\n"
139
  "      units deciseconds;\n"
140
  "      default \"10\";\n"
141
  "      description\n"
142
  "        \"Last Member Query Interval, which may be tuned to modify\n"
143
  "         the leave latency of the network.\";\n"
144
  "    }\n"
145
  "\n"
146
  "    leaf robustness-variable {\n"
147
  "      type uint8 {\n"
148
  "        range \"1..max\";\n"
149
  "      }\n"
150
  "      default \"2\";\n"
151
  "      description\n"
152
  "        \"Querier\'s Robustness Variable allows tuning for the\n"
153
  "         expected packet loss on a network.\";\n"
154
  "    }\n"
155
  "\n"
156
  "    list static-group {\n"
157
  "      key \"group-addr source-addr\";\n"
158
  "      description\n"
159
  "        \"A static multicast route, (*,G) or (S,G).\n"
160
  "         The version of IGMP must be 3 to support (S,G).\";\n"
161
  "\n"
162
  "      leaf group-addr {\n"
163
  "        type rt-types:ip-multicast-group-address;\n"
164
  "        description\n"
165
  "          \"Multicast group address.\";\n"
166
  "      }\n"
167
  "      leaf source-addr {\n"
168
  "        type inet:ip-address;\n"
169
  "        description\n"
170
  "          \"Multicast source address.\";\n"
171
  "      }\n"
172
  "    }\n"
173
  "  } // interface-config-attributes\n"
174
  "\n"
175
  "  /*\n"
176
  "   * Per-interface configuration data\n"
177
  "   */\n"
178
  "  augment \"/frr-interface:lib/frr-interface:interface\" {\n"
179
  "    container gmp {\n"
180
  "      list address-family {\n"
181
  "        key \"address-family\";\n"
182
  "        description\n"
183
  "          \"Each list entry for one address family.\";\n"
184
  "        uses frr-rt:address-family;\n"
185
  "        uses interface-config-attributes;\n"
186
  "      } //address-family\n"
187
  "    }\n"
188
  "  }\n"
189
  "}\n"
190
  "";
191
192
static struct yang_module_embed embed = {
193
  .mod_name = "frr-gmp",
194
  .mod_rev = "2021-11-22",
195
  .sub_mod_name = "",
196
  .sub_mod_rev = "",
197
  .data = model,
198
  .format = LYS_IN_YANG,
199
};
200
201
static void embed_register(void) __attribute__((_CONSTRUCTOR(2000)));
202
static void embed_register(void)
203
2
{
204
2
  yang_module_embed(&embed);
205
2
}