1 // SPDX-License-Identifier: BSD-2-Clause
4 namespace "http://frrouting.org/yang/interface";
11 import ietf-interfaces {
15 import ietf-yang-types {
22 "FRR Users List: <mailto:frog@lists.frrouting.org>
23 FRR Development List: <mailto:dev@lists.frrouting.org>";
25 "This module defines a model for managing FRR interfaces.
27 Copyright 2020 FRRouting
29 Redistribution and use in source and binary forms, with or without
30 modification, are permitted provided that the following conditions
33 1. Redistributions of source code must retain the above copyright notice,
34 this list of conditions and the following disclaimer.
36 2. Redistributions in binary form must reproduce the above copyright
37 notice, this list of conditions and the following disclaimer in the
38 documentation and/or other materials provided with the distribution.
40 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
41 \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
42 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
43 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
44 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
45 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
46 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
47 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
48 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
49 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
50 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.";
54 "Added operational data";
58 "Added interface-ref typedef";
66 base ietf-if:interface-type;
72 base ietf-if:interface-type;
78 base ietf-if:interface-type;
83 identity exper-ethernet {
84 base ietf-if:interface-type;
86 "Experimental Ethernet type";
90 base ietf-if:interface-type;
96 base ietf-if:interface-type;
98 "PIMSM Registration.";
102 base ietf-if:interface-type;
108 base ietf-if:interface-type;
114 base ietf-if:interface-type;
119 typedef interface-ref {
121 path "/frr-interface:lib/frr-interface:interface/frr-interface:name";
122 require-instance false;
125 "Reference to an interface";
128 typedef if-flags-type {
133 "Active and ready to transfer packets.";
138 "Broadcast enabled.";
148 "Loopback interface.";
150 enum "point-to-point" {
153 "Point-to-Point link.";
158 "This flag is unused in Linux, but it exists for BSD compatibility.
159 Avoid use of trailers";
169 "Can't perform address resolution protocol.";
174 "Promiscuous mode. Receive all packets.";
179 "Receive all multicast packets.";
184 "Does not Rx or Tx at the sametime.";
204 "Supports multicast transmission.";
209 "Interface is no transmit mode.";
214 "No routing info exchange.";
219 "Virtual interface.";
234 grouping if-common-operational {
237 range "0..2147483647";
246 "The size of the largest IPV4 packet that the interface
247 will send and receive.";
253 "The size of the largest IPV6 packet that the interface
254 will send and receive.";
277 base ietf-if:interface-type;
280 "The link type of the interface.";
284 type yang:mac-address;
286 "The interface's MAC address.";
302 type frr-vrf:vrf-ref;
304 "VRF this interface is associated with.";
311 "Interface description.";
316 uses if-common-operational;