terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.2 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.mdsal</groupId>
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.driver.XrDriverBuilder;
import org.opendaylight.unimgr.mef.nrp.common.NrpDao;
import org.opendaylight.unimgr.mef.nrp.common.TapiUtils;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfigurationKey;
+ /*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfigurationKey;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.LayerProtocolName;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.PortDirection;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.PortRole;
import java.util.Locale;
import java.util.Optional;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.PolicyManager;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.PolicyManagerBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.RateUnits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.ThresholdUnits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.manager.PolicyMapsBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.manager.policy.maps.PolicyMap;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.manager.policy.maps.PolicyMapBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.PolicyMapRule;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.PolicyMapRuleBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.policy.map.rule.Police;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.policy.map.rule.PoliceBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.policy.map.rule.police.BurstBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.policy.map.rule.police.ConformActionBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.policy.map.rule.police.ExceedActionBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.policy.map.rule.police.PeakBurstBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.policy.map.rule.police.PeakRateBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.policy.map.rule.police.RateBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.policy.map.rule.policy.map.rule.police.ViolateActionBuilder;
+/*
+ * Cisco IOS XR 6.4.1, rev171212
+ * Cisco IOS XR 6.2.1, rev161215
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.PolicyManager;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.PolicyManagerBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.RateUnits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.ThresholdUnits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.manager.PolicyMapsBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.manager.policy.maps.PolicyMap;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.manager.policy.maps.PolicyMapBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.PolicyMapRule;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.PolicyMapRuleBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.policy.map.rule.Police;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.policy.map.rule.PoliceBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.policy.map.rule.police.BurstBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.policy.map.rule.police.ConformActionBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.policy.map.rule.police.ExceedActionBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.policy.map.rule.police.PeakBurstBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.policy.map.rule.police.PeakRateBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.policy.map.rule.police.RateBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.policy.map.rule.policy.map.rule.police.ViolateActionBuilder;
import org.opendaylight.yang.gen.v1.urn.mef.yang.mef.common.rev180321.BwpFlow;
import org.opendaylight.yangtools.yang.common.Empty;
import org.opendaylight.yangtools.yang.common.Uint32;
import java.util.List;
import java.util.Optional;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceActive;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurationsBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceModeEnum;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfigurationBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.Mtus;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.cfg.rev151109.InterfaceConfiguration2;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.cfg.rev151109.InterfaceConfiguration2Builder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.cfg.rev151109._interface.configurations._interface.configuration.EthernetServiceBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.cfg.rev151109._interface.configurations._interface.configuration.ethernet.service.Encapsulation;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.cfg.rev151109._interface.configurations._interface.configuration.ethernet.service.EncapsulationBuilder;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceActive;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurationsBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceModeEnum;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfigurationBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.Mtus;
+/*
+ * Cisco IOS XR 6.4.1, rev170501
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.cfg.rev170501.InterfaceConfiguration2;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.cfg.rev170501.InterfaceConfiguration2Builder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.cfg.rev170501._interface.configurations._interface.configuration.EthernetServiceBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.cfg.rev170501._interface.configurations._interface.configuration.ethernet.service.Encapsulation;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.cfg.rev170501._interface.configurations._interface.configuration.ethernet.service.EncapsulationBuilder;
+/*
+ * Cisco IOS XR 6.4.1, rev151109
+ * Cisco IOS XR 6.2.1, rev151109
+ */
import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.datatypes.rev151109.Match;
import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2.eth.infra.datatypes.rev151109.VlanTagOrAny;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.InterfaceConfiguration3;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.InterfaceConfiguration3Builder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109._interface.configurations._interface.configuration.L2Transport;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109._interface.configurations._interface.configuration.L2TransportBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.InterfaceName;
+/*
+ * Cisco IOS XR 6.4.1, rev170626.InterfaceConfiguration4
+ * Cisco IOS XR 6.2.1, rev151109.InterfaceConfiguration3
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.InterfaceConfiguration4;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.InterfaceConfiguration4Builder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626._interface.configurations._interface.configuration.L2Transport;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626._interface.configurations._interface.configuration.L2TransportBuilder;
+/*
+ * Cisco IOS XR 6.4.1, rev171201
+ * Cisco IOS XR 6.2.1, rev150629
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.InterfaceName;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.Empty;
import org.opendaylight.yangtools.yang.common.Uint32;
.setEnabled(Empty.getInstance())
.build();
- InterfaceConfiguration3 augmentation = new InterfaceConfiguration3Builder()
+ InterfaceConfiguration4 augmentation = new InterfaceConfiguration4Builder()
.setL2Transport(l2transport)
.build();
- configurationBuilder.addAugmentation(InterfaceConfiguration3.class, augmentation);
+ configurationBuilder.addAugmentation(InterfaceConfiguration4.class, augmentation);
}
}
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.Mtus;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.MtusBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.mtus.Mtu;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.mtus.MtuBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.CiscoIosXrString;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.Mtus;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.MtusBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.mtus.Mtu;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.mtus.MtuBuilder;
+/*
+ * Cisco IOS XR 6.4.1, rev171201
+ * Cisco IOS XR 6.2.1, rev150629
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.CiscoIosXrString;
import org.opendaylight.yangtools.yang.common.Uint32;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
import org.opendaylight.unimgr.mef.nrp.common.ResourceActivator;
import org.opendaylight.unimgr.utils.NetconfConstants;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.PolicyManager;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.Database;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.XconnectGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroupKey;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.P2pXconnects;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnectKey;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.CiscoIosXrString;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+/*
+ * Cisco IOS XR 6.4.1, rev171212
+ * Cisco IOS XR 6.2.1, rev161215
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.PolicyManager;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.Database;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.XconnectGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroupKey;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.P2pXconnects;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnectKey;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
+/*
+ * Cisco IOS XR 6.4.1, rev171201
+ * Cisco IOS XR 6.2.1, rev150629
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.CiscoIosXrString;
import org.opendaylight.yang.gen.v1.urn.mef.yang.nrp._interface.rev180321.nrp.connectivity.service.end.point.attrs.NrpCarrierEthConnectivityEndPointResource;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.ServiceType;
import org.opendaylight.unimgr.mef.nrp.common.ResourceActivator;
import org.opendaylight.unimgr.mef.nrp.common.ResourceActivatorException;
import org.opendaylight.unimgr.utils.NetconfConstants;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.PolicyManager;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.Database;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.BridgeDomainGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.BridgeDomainGroupKey;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.BridgeDomains;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomain;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomainKey;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.CiscoIosXrString;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+/*
+ * Cisco IOS XR 6.4.1, rev171212
+ * Cisco IOS XR 6.2.1, rev161215
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.PolicyManager;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.Database;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.BridgeDomainGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.BridgeDomainGroupKey;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.BridgeDomains;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomain;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomainKey;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
+/*
+ * Cisco IOS XR 6.4.1, rev171201
+ * Cisco IOS XR 6.2.1, rev150629
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.CiscoIosXrString;
import org.opendaylight.yang.gen.v1.urn.mef.yang.nrp._interface.rev180321.nrp.connectivity.service.end.point.attrs.NrpCarrierEthConnectivityEndPointResource;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.PortRole;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.helper.InterfaceHelper;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.util.MtuUtils;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceActive;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfigurationKey;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.Mtus;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.CiscoIosXrString;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceActive;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfigurationKey;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.Mtus;
+/*
+ * Cisco IOS XR 6.4.1, rev171201
+ * Cisco IOS XR 6.2.1, rev150629
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.CiscoIosXrString;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
public class InterfaceActivator {
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.BridgeDomainHelper;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.BridgeDomainPseudowireHelper;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.L2vpnHelper;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.PolicyManager;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.BridgeDomainGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomain;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+/*
+ * Cisco IOS XR 6.4.1, rev171212
+ * Cisco IOS XR 6.2.1, rev161215
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.PolicyManager;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.BridgeDomainGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomain;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.BridgeDomainHelper;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.BridgeDomainPseudowireHelper;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.L2vpnHelper;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.PolicyManager;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.BridgeDomainGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomain;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+/*
+ * Cisco IOS XR 6.4.1, rev171212
+ * Cisco IOS XR 6.2.1, rev161215
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.PolicyManager;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.BridgeDomainGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomain;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.L2vpnHelper;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.PseudowireHelper;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.XConnectHelper;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.PolicyManager;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.XconnectGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+/*
+ * Cisco IOS XR 6.4.1, rev171212
+ * Cisco IOS XR 6.2.1, rev161215
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.PolicyManager;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.XconnectGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.L2vpnHelper;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.PseudowireHelper;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.XConnectHelper;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.PolicyManager;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.XconnectGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+/*
+ * Cisco IOS XR 6.4.1, rev171212
+ * Cisco IOS XR 6.2.1, rev161215
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.PolicyManager;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.XconnectGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.helper.InterfaceHelper;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.L2vpnHelper;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215.PolicyManager;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+/*
+ * Cisco IOS XR 6.4.1, rev171212
+ * Cisco IOS XR 6.2.1, rev161215
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev171212.PolicyManager;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
WriteTransaction transaction = optional.get().newWriteOnlyTransaction();
if (ids.getTargetType().equals(
- org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109
- .l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect.class)) {
+ org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626
+ .l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect.class)) {
if (!ServicePort.isSameDevice(endpoint, dvls)) {
transaction.delete(LogicalDatastoreType.CONFIGURATION, ids);
import java.util.List;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.helper.InterfaceHelper;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuitsBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuit;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuitBuilder;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuitsBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuit;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuitBuilder;
import org.opendaylight.yangtools.yang.common.Empty;
import java.util.List;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.helper.InterfaceHelper;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuitsBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.bd.attachment.circuits.BdAttachmentCircuit;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.bd.attachment.circuits.BdAttachmentCircuitBuilder;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuitsBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.bd.attachment.circuits.BdAttachmentCircuit;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.bd.attachment.circuits.BdAttachmentCircuitBuilder;
/*
* @author arif.hussain@xoriant.com
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.BridgeDomainGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.BridgeDomainGroupsBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.BridgeDomainGroupBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.BridgeDomainGroupKey;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.BridgeDomains;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.BridgeDomainsBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomain;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomainBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.CiscoIosXrString;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.BridgeDomainGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.BridgeDomainGroupsBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.BridgeDomainGroupBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.BridgeDomainGroupKey;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.BridgeDomains;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.BridgeDomainsBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomain;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomainBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
+/*
+ * Cisco IOS XR 6.4.1, rev171201
+ * Cisco IOS XR 6.2.1, rev150629
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.CiscoIosXrString;
/*
* @author arif.hussain@xoriant.com
import java.util.LinkedList;
import java.util.List;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.PseudowireIdRange;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowiresBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.bd.pseudowires.BdPseudowire;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.bd.pseudowires.BdPseudowireBuilder;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.PseudowireIdRange;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowiresBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.bd.pseudowires.BdPseudowire;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.bd.pseudowires.BdPseudowireBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
/*
*/
package org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpnBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.Database;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.DatabaseBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.BridgeDomainGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.XconnectGroups;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpnBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.Database;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.DatabaseBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.BridgeDomainGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.XconnectGroups;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.PseudowireIdRange;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.PseudowiresBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.Pseudowire;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.PseudowireBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.Neighbor;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.NeighborBuilder;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.PseudowireIdRange;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.PseudowiresBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.Pseudowire;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.PseudowireBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.Neighbor;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.NeighborBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
/*
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.XconnectGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.XconnectGroupsBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroupBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroupKey;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.P2pXconnects;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.P2pXconnectsBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnectBuilder;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.CiscoIosXrString;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.XconnectGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.XconnectGroupsBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroupBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroupKey;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.P2pXconnects;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.P2pXconnectsBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnectBuilder;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
+/*
+ * Cisco IOS XR 6.4.1, rev171201
+ * Cisco IOS XR 6.2.1, rev150629
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.CiscoIosXrString;
/*
public interface NetconfConstants {
+ /*
+ * The YANG models identified by these constants must match those
+ * supported by the XR devices to which unimgr connects.
+ */
+
+ String NETCONF_TOPOLODY_NAME = "topology-netconf";
+
+ /*
+ * Cisco IOS XR 6.2.1
+
String CAPABILITY_IOX_L2VPN =
"(http://cisco.com/ns/yang/Cisco-IOS-XR-l2vpn-cfg?revision=2015-11-09)Cisco-IOS-XR-l2vpn-cfg";
String CAPABILITY_IOX_INFRA_POLICYMGR =
"(http://cisco.com/ns/yang/Cisco-IOS-XR-infra-policymgr-cfg?revision=2016-12-15)Cisco-IOS-XR-infra-policymgr-cfg";
+ */
- String NETCONF_TOPOLODY_NAME = "topology-netconf";
+ /*
+ * Cisco IOS XR 6.4.1
+ */
+ String CAPABILITY_IOX_L2VPN =
+ "(http://cisco.com/ns/yang/Cisco-IOS-XR-l2vpn-cfg?revision=2017-06-26)Cisco-IOS-XR-l2vpn-cfg";
+
+ String CAPABILITY_IOX_IFMGR =
+ "(http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-cfg?revision=2017-09-07)Cisco-IOS-XR-ifmgr-cfg";
+
+ String CAPABILITY_IOX_INFRA_POLICYMGR =
+ "(http://cisco.com/ns/yang/Cisco-IOS-XR-infra-policymgr-cfg?revision=2017-12-12)Cisco-IOS-XR-infra-policymgr-cfg";
+
+ /*
+ * Cisco IOS XR 6.5.3
+
+ String CAPABILITY_IOX_L2VPN =
+ "(http://cisco.com/ns/yang/Cisco-IOS-XR-l2vpn-cfg?revision=2017-06-26)Cisco-IOS-XR-l2vpn-cfg";
+
+ String CAPABILITY_IOX_IFMGR =
+ "(http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-cfg?revision=2017-09-07)Cisco-IOS-XR-ifmgr-cfg";
+
+ String CAPABILITY_IOX_INFRA_POLICYMGR =
+ "(http://cisco.com/ns/yang/Cisco-IOS-XR-infra-policymgr-cfg?revision=2018-09-30)Cisco-IOS-XR-infra-policymgr-cfg";
+ */
}
import org.mockito.Mockito;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.util.MtuUtils;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.Mtus;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.mtus.Mtu;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.InterfaceConfiguration3;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.CiscoIosXrString;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.InterfaceName;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.Mtus;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.mtus.Mtu;
+/*
+ * Cisco IOS XR 6.4.1, rev170626.InterfaceConfiguration3
+ * Cisco IOS XR 6.2.1, rev151109.InterfaceConfiguration4
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.InterfaceConfiguration4;
+/*
+ * Cisco IOS XR 6.4.1, rev171201
+ * Cisco IOS XR 6.2.1, rev150629
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.CiscoIosXrString;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.InterfaceName;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TpId;
assertNotNull(actualInterfaceConfiguration);
assertEquals(interfaceName, actualInterfaceConfiguration.getInterfaceName());
assertNull(actualInterfaceConfiguration.getMtus());
- assertNull(actualInterfaceConfiguration.augmentation(InterfaceConfiguration3.class));
+ assertNull(actualInterfaceConfiguration.augmentation(InterfaceConfiguration4.class));
}
@Test
assertEquals(mtuValue, actualMtu.getMtu().longValue());
assertEquals(owner, actualMtu.getOwner());
- InterfaceConfiguration3 l2Configuration =
- actualInterfaceConfiguration.augmentation(InterfaceConfiguration3.class);
+ InterfaceConfiguration4 l2Configuration =
+ actualInterfaceConfiguration.augmentation(InterfaceConfiguration4.class);
assertNotNull(l2Configuration);
assertNotNull(l2Configuration.getL2Transport());
assertNotNull(l2Configuration.getL2Transport().getEnabled());
assertNotNull(actualInterfaceConfiguration);
assertEquals(interfaceName1, actualInterfaceConfiguration.getInterfaceName());
assertNull(actualInterfaceConfiguration.getMtus());
- assertNull(actualInterfaceConfiguration.augmentation(InterfaceConfiguration3.class));
+ assertNull(actualInterfaceConfiguration.augmentation(InterfaceConfiguration4.class));
actualInterfaceConfiguration = actualInterfaceConfigurationList.get(1);
assertNotNull(actualInterfaceConfiguration);
assertEquals(interfaceName2, actualInterfaceConfiguration.getInterfaceName());
assertNull(actualInterfaceConfiguration.getMtus());
- assertNull(actualInterfaceConfiguration.augmentation(InterfaceConfiguration3.class));
+ assertNull(actualInterfaceConfiguration.augmentation(InterfaceConfiguration4.class));
}
}
import java.util.LinkedList;
import java.util.List;
import org.junit.Test;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.Mtus;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.mtus.Mtu;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.CiscoIosXrString;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.Mtus;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.mtus.Mtu;
+/*
+ * Cisco IOS XR 6.4.1, rev171201
+ * Cisco IOS XR 6.2.1, rev150629
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.CiscoIosXrString;
import org.opendaylight.yangtools.yang.common.Uint32;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.MountPointHelper;
import org.opendaylight.unimgr.mef.nrp.common.ResourceActivatorException;
import org.opendaylight.unimgr.mef.nrp.common.TapiUtils;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.PortDirection;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.PortRole;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.unimgr.mef.nrp.api.EndPoint;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
import org.opendaylight.unimgr.mef.nrp.common.TapiUtils;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.BridgeDomainGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.BridgeDomains;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomain;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.bd.attachment.circuits.BdAttachmentCircuit;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.BridgeDomainGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.BridgeDomains;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.BridgeDomain;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.bd.attachment.circuits.BdAttachmentCircuit;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.PortDirection;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.ConnectivityServiceEndPoint;
import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.unimgr.mef.nrp.api.EndPoint;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuit;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuit;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.ServiceType;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.unimgr.mef.nrp.api.EndPoint;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.helper.PseudowireHelper;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.mtus.Mtu;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuit;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.Pseudowire;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.Neighbor;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.mtus.Mtu;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuit;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.Pseudowire;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.Neighbor;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.ServiceType;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.unimgr.mef.nrp.api.EndPoint;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
import org.opendaylight.unimgr.mef.nrp.common.TapiUtils;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730.InterfaceConfigurations;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations.InterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev150730._interface.configurations._interface.configuration.mtus.Mtu;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuit;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.Pseudowire;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.Neighbor;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.pseudowire.content.MplsStaticLabels;
+/*
+ * Cisco IOS XR 6.4.1, rev170907
+ * Cisco IOS XR 6.2.1, rev150730
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907.InterfaceConfigurations;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations.InterfaceConfiguration;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.ifmgr.cfg.rev170907._interface.configurations._interface.configuration.mtus.Mtu;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuit;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.Pseudowire;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.Neighbor;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.pseudowire.content.MplsStaticLabels;
import org.opendaylight.yang.gen.v1.urn.mef.yang.nrp._interface.rev180321.NrpConnectivityServiceEndPointAttrs;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.ConnectivityServiceEndPoint;
import org.mockito.Mockito;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.helper.InterfaceHelper;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuit;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.InterfaceName;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.attachment.circuits.AttachmentCircuit;
+/*
+ * Cisco IOS XR 6.4.1, rev171201
+ * Cisco IOS XR 6.2.1, rev150629
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev171201.InterfaceName;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.opendaylight.unimgr.mef.nrp.api.EndPoint;
import org.opendaylight.unimgr.mef.nrp.cisco.xr.common.ServicePort;
import org.opendaylight.unimgr.mef.nrp.common.TapiUtils;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.PortDirection;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.ConnectivityServiceEndPoint;
import junit.framework.Assert;
import org.junit.Before;
import org.junit.Test;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.BridgeDomainGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.BridgeDomainGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.BridgeDomainGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdAttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.bridge.domain.groups.bridge.domain.group.bridge.domains.bridge.domain.BdPseudowires;
import org.powermock.api.mockito.PowerMockito;
/*
import org.junit.Test;
import org.mockito.Mockito;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.L2vpn;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.Database;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.XconnectGroups;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.L2vpn;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.Database;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.XconnectGroups;
/*
import java.util.List;
import org.junit.Test;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.Pseudowire;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.Neighbor;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.Pseudowire;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.Neighbor;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
import org.opendaylight.yangtools.yang.common.Uint32;
import java.util.List;
import org.junit.Test;
import org.mockito.Mockito;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.XconnectGroups;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.XconnectGroup;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.P2pXconnects;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
-import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
+/*
+ * Cisco IOS XR 6.4.1, rev170626
+ * Cisco IOS XR 6.2.1, rev151109
+ */
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.XconnectGroups;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.XconnectGroup;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.P2pXconnects;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.P2pXconnect;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.AttachmentCircuits;
+import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev170626.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.Pseudowires;
/*
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.2 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>binding-parent</artifactId>
+++ /dev/null
-package org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215;
-import java.lang.String;
-import java.lang.UnsupportedOperationException;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class IdleTimeoutBuilder {
- private IdleTimeoutBuilder() {
- //Exists only to defeat instantiation.
- }
-
- public static IdleTimeout getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.infra.policymgr.cfg.rev161215;
-import java.lang.String;
-import java.lang.UnsupportedOperationException;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class PrecedenceBuilder {
- private PrecedenceBuilder() {
- //Exists only to defeat instantiation.
- }
-
- public static Precedence getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.snmp.agent.cfg.rev151027;
-import java.lang.String;
-import java.lang.UnsupportedOperationException;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class SnmpDscpValueBuilder {
- private SnmpDscpValueBuilder() {
- //Exists only to defeat instantiation.
- }
-
- public static SnmpDscpValue getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.snmp.agent.cfg.rev151027;
-import java.lang.String;
-import java.lang.UnsupportedOperationException;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class SnmpPrecedenceValue1Builder {
- private SnmpPrecedenceValue1Builder() {
- //Exists only to defeat instantiation.
- }
-
- public static SnmpPrecedenceValue1 getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629;
-import java.lang.String;
-import java.lang.UnsupportedOperationException;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class CharNumBuilder {
- private CharNumBuilder() {
- //Exists only to defeat instantiation.
- }
-
- public static CharNum getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629;
-import java.lang.String;
-import java.lang.UnsupportedOperationException;
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class TtyEscapeCharNumBuilder {
- private TtyEscapeCharNumBuilder() {
- //Exists only to defeat instantiation.
- }
-
- public static TtyEscapeCharNum getDefaultInstance(String defaultValue) {
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-module Cisco-IOS-XR-ifmgr-cfg {
-
- /*** NAMESPACE / PREFIX DEFINITION ***/
-
- namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-cfg";
-
-
- prefix "ifmgr-cfg";
-
- /*** LINKAGE (IMPORTS / INCLUDES) ***/
-
- import Cisco-IOS-XR-types { prefix "xr"; }
-
- /*** META INFORMATION ***/
-
- organization "Cisco Systems, Inc.";
-
- contact
- "Cisco Systems, Inc.
- Customer Service
-
- Postal: 170 West Tasman Drive
- San Jose, CA 95134
-
- Tel: +1 800 553-NETS
-
- E-mail: cs-yang@cisco.com";
-
- description
- "This module contains a collection of YANG definitions
- for Cisco IOS-XR ifmgr package configuration.
-
- This module contains definitions
- for the following management objects:
- global-interface-configuration: Global scoped configuration
- for interfaces
- interface-configurations: interface configurations
-
- Copyright (c) 2013-2015 by Cisco Systems, Inc.
- All rights reserved.";
-
- revision "2015-07-30" {
- description
- "Descriptions updated.";
- }
-
- revision "2015-01-07" {
- description
- "IOS XR 5.3.1 revision.";
- }
-
- typedef Interface-mode-enum {
- type enumeration {
- enum default {
- value 0;
- description "Default Interface Mode";
- }
- enum point-to-point {
- value 1;
- description "Point-to-Point Interface Mode";
- }
- enum multipoint {
- value 2;
- description "Multipoint Interface Mode";
- }
- enum l2-transport {
- value 3;
- description "L2 Transport Interface Mode";
- }
- }
- description "Interface mode enum";
- }
- typedef Interface-active {
- type string {
- pattern "(act)|(pre)";
- }
- description "act:The interface is active, pre:Preconfiguration";
- }
- typedef Secondary-admin-state-enum {
- type enumeration {
- enum maintenance {
- value 1;
- description "Maintenance Mode";
- }
- }
- description "Secondary admin state enum";
- }
- typedef Link-status-enum {
- type enumeration {
- enum default {
- value 0;
- description
- "Display link status messages for physical links";
- }
- enum disable {
- value 1;
- description "Disable link status messages";
- }
- enum software-interfaces {
- value 2;
- description
- "Display link status messages for all interfaces";
- }
- }
- description "Link status enum";
- }
-
- container global-interface-configuration {
- xr:xr-xml-map "ifmgr_cfg:GlobalInterfaceConfiguration";
- description "Global scoped configuration for interfaces";
- leaf link-status {
- xr:xr-xml-map "ifmgr_cfg:LinkStatus";
- xr:xr-cli-map "link-status (disable)|(software-interfaces)|(p"+
- "hysical)|(logical) ";
- type Link-status-enum;
- default "default";
- description "Enable or disable link-status messages";
- }
- }
-
- container interface-configurations {
- xr:xr-xml-map "ifmgr_cfg:InterfaceConfigurationTable";
- description "interface configurations";
-
- list interface-configuration {
- xr:xr-xml-map "ifmgr_cfg:InterfaceConfiguration";
- key "active interface-name";
- description "The configuration for an interface";
-
- container dampening {
- xr:xr-xml-map "ifmgr_cfg:Dampening";
- description
- "Whether this interface's state changes are
- dampened or not";
- leaf args {
- xr:xr-xml-map "ifmgr_cfg:Args";
- type enumeration {
- enum default-values {
- value 0;
- description "Default values";
- }
- enum specify-half-life {
- value 1;
- description "Half Life Specified";
- }
- enum specify-all {
- value 4;
- description
- "All Arguments except Restart Penalty
- Specified";
- }
- enum specify-rp {
- value 5;
- description "All Arguments Specified";
- }
- }
- description "Dampening Arguments";
- }
- leaf half-life {
- xr:xr-xml-map "ifmgr_cfg:HalfLife";
- when "../args = 'specify-half-life' or ../args ="+
- " 'specify-all' or ../args = 'specify-rp'" {
- description
- "../Args = 1 or ../Args = 4 or ../Args = 5";
- }
- type uint32 {
- range "1..45";
- }
- units "minute";
- description "Decay half life (in minutes)";
- }
- leaf reuse-threshold {
- xr:xr-xml-map "ifmgr_cfg:ReuseThreshold";
- when "../args = 'specify-all' or ../args = 'specify-rp'" {
- description "../Args = 4 or ../Args = 5";
- }
- type uint32 {
- range "1..20000";
- }
- description "Reuse threshold";
- }
- leaf suppress-threshold {
- xr:xr-xml-map "ifmgr_cfg:SuppressThreshold";
- when "../args = 'specify-all' or ../args = 'specify-rp'" {
- description "../Args = 4 or ../Args = 5";
- }
- type uint32 {
- range "1..20000";
- }
- description "Suppress threshold";
- }
- leaf suppress-time {
- xr:xr-xml-map "ifmgr_cfg:SuppressTime";
- when "../args = 'specify-all' or ../args = 'specify-rp'" {
- description "../Args = 4 or ../Args = 5";
- }
- type uint32 {
- range "1..255";
- }
- units "minute";
- description "Max suppress time (in minutes)";
- }
- leaf restart-penalty {
- xr:xr-xml-map "ifmgr_cfg:RestartPenalty";
- when "../args = 'specify-rp'" {
- description "../Args = 5";
- }
- type uint32 {
- range "0..20000";
- }
- description "Restart penalty";
- }
- }
-
- container mtus {
- xr:xr-xml-map "ifmgr_cfg:MTUConfiguration";
- description "The MTU configuration for the interface";
-
- list mtu {
- xr:xr-xml-map "ifmgr_cfg:MTU";
- xr:xr-cli-map "interface <interface> (point-to-point)|(l2"+
- "transport) mtu <number> ";
- key "owner";
- description "The MTU for the interface";
- leaf owner {
- xr:xr-xml-map "ifmgr_cfg:Owner";
- type xr:Cisco-ios-xr-string;
- description
- "The Owner of the interface - eg. for
- 'LoopbackX' main interface this is 'loopback'";
- }
- leaf mtu {
- xr:xr-xml-map "ifmgr_cfg:MTU";
- type uint32 {
- range "64..65535";
- }
- mandatory true;
- description "The MTU value";
- }
- }
- }
-
- container encapsulation {
- xr:xr-xml-map "ifmgr_cfg:Encapsulation";
- description "The encapsulation on the interface";
- leaf encapsulation {
- xr:xr-xml-map "ifmgr_cfg:Encapsulation";
- type string;
- description "The encapsulation - e.g. hdlc, ppp";
- }
- leaf capsulation-options {
- xr:xr-xml-map "ifmgr_cfg:CapsulationOptions";
- type int32;
- description
- "The options for this capsulation, usually '0'";
- }
- }
- leaf shutdown {
- xr:xr-xml-map "ifmgr_cfg:Shutdown";
- xr:xr-cli-map "interface <interface> (point-to-point)|(l2tr"+
- "ansport) shutdown ";
- type empty;
- description
- "The existence of this configuration indicates
- the interface is shut down";
- }
- leaf interface-virtual {
- xr:xr-xml-map "ifmgr_cfg:InterfaceVirtual";
- type empty;
- description
- "The mode in which an interface is running. The
- existence of this object causes the creation of
- the software virtual/subinterface.";
- }
- leaf secondary-admin-state {
- xr:xr-xml-map "ifmgr_cfg:SecondaryAdminState";
- type Secondary-admin-state-enum;
- description "The secondary admin state of the interface";
- }
- leaf interface-mode-non-physical {
- xr:xr-xml-map "ifmgr_cfg:InterfaceModeNonPhysical";
- type Interface-mode-enum;
- default "default";
- description
- "The mode in which an interface is running. The
- existence of this object causes the creation of
- the software subinterface.";
- }
- leaf bandwidth {
- xr:xr-xml-map "ifmgr_cfg:Bandwidth";
- xr:xr-cli-map "interface <interface> (point-to-point)|(l2tr"+
- "ansport) bandwidth <number> ";
- type int32;
- units "kbit/s";
- description "The bandwidth of the interface in kbps";
- }
- leaf link-status {
- xr:xr-xml-map "ifmgr_cfg:LinkStatus";
- xr:xr-cli-map "interface <interface> (point-to-point)|(l2tr"+
- "ansport) logging events link-status ";
- type empty;
- description
- "Enable interface and line-protocol state change
- alarms";
- }
- leaf description {
- xr:xr-xml-map "ifmgr_cfg:Description";
- type string;
- description "The description of this interface";
- }
- leaf active {
- xr:xr-xml-map "ifmgr_cfg:Active";
- type Interface-active;
- description
- "Whether the interface is active or
- preconfigured";
- }
- leaf interface-name {
- xr:xr-xml-map "ifmgr_cfg:InterfaceName";
- type xr:Interface-name;
- description "The name of the interface";
- }
- }
- }
-}
\ No newline at end of file
--- /dev/null
+module Cisco-IOS-XR-ifmgr-cfg {
+ namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-cfg";
+ prefix ifmgr-cfg;
+
+ import Cisco-IOS-XR-types {
+ prefix xr;
+ }
+
+ organization
+ "Cisco Systems, Inc.";
+ contact
+ "Cisco Systems, Inc.
+ Customer Service
+
+ Postal: 170 West Tasman Drive
+ San Jose, CA 95134
+
+ Tel: +1 800 553-NETS
+
+ E-mail: cs-yang@cisco.com";
+ description
+ "This module contains a collection of YANG definitions
+ for Cisco IOS-XR ifmgr package configuration.
+
+ This module contains definitions
+ for the following management objects:
+ global-interface-configuration: Global scoped configuration
+ for interfaces
+ interface-configurations: interface configurations
+
+ Copyright (c) 2013-2017 by Cisco Systems, Inc.
+ All rights reserved.";
+
+ revision 2017-09-07 {
+ description
+ "Fixed type translation error.";
+ }
+ revision 2015-07-30 {
+ description
+ "Descriptions updated.";
+ }
+ revision 2015-01-07 {
+ description
+ "IOS XR 5.3.1 revision.";
+ }
+
+ typedef Interface-mode-enum {
+ type enumeration {
+ enum "default" {
+ value 0;
+ description
+ "Default Interface Mode";
+ }
+ enum "point-to-point" {
+ value 1;
+ description
+ "Point-to-Point Interface Mode";
+ }
+ enum "multipoint" {
+ value 2;
+ description
+ "Multipoint Interface Mode";
+ }
+ enum "l2-transport" {
+ value 3;
+ description
+ "L2 Transport Interface Mode";
+ }
+ }
+ description
+ "Interface mode enum";
+ }
+
+ typedef Interface-active {
+ type string {
+ pattern "(act)|(pre)";
+ }
+ description
+ "act:The interface is active, pre:Preconfiguration";
+ }
+
+ typedef Secondary-admin-state-enum {
+ type enumeration {
+ enum "normal" {
+ value 0;
+ description
+ "Normal Mode";
+ }
+ enum "maintenance" {
+ value 1;
+ description
+ "Maintenance Mode";
+ }
+ }
+ description
+ "Secondary admin state enum";
+ }
+
+ typedef Link-status-enum {
+ type enumeration {
+ enum "default" {
+ value 0;
+ description
+ "Display link status messages for physical links";
+ }
+ enum "disable" {
+ value 1;
+ description
+ "Disable link status messages";
+ }
+ enum "software-interfaces" {
+ value 2;
+ description
+ "Display link status messages for all interfaces";
+ }
+ }
+ description
+ "Link status enum";
+ }
+
+ container global-interface-configuration {
+ description
+ "Global scoped configuration for interfaces";
+ leaf link-status {
+ type Link-status-enum;
+ default "default";
+ description
+ "Enable or disable link-status messages";
+ }
+ }
+ container interface-configurations {
+ description
+ "interface configurations";
+ list interface-configuration {
+ key "active interface-name";
+ description
+ "The configuration for an interface";
+ container dampening {
+ description
+ "Whether this interface's state changes are
+ dampened or not";
+ leaf args {
+ type enumeration {
+ enum "default-values" {
+ value 0;
+ description
+ "Default values";
+ }
+ enum "specify-half-life" {
+ value 1;
+ description
+ "Half Life Specified";
+ }
+ enum "specify-all" {
+ value 4;
+ description
+ "All Arguments except Restart Penalty
+ Specified";
+ }
+ enum "specify-rp" {
+ value 5;
+ description
+ "All Arguments Specified";
+ }
+ }
+ description
+ "Dampening Arguments";
+ }
+ leaf half-life {
+ when "../args = 'specify-half-life' or ../args = 'specify-all' or ../args = 'specify-rp'" {
+ description
+ "../Args = SpecifyHalfLife or ../Args =
+ SpecifyAll or ../Args = SpecifyRP";
+ }
+ type uint32 {
+ range "1..45";
+ }
+ units "minute";
+ description
+ "Decay half life (in minutes)";
+ }
+ leaf reuse-threshold {
+ when "../args = 'specify-all' or ../args = 'specify-rp'" {
+ description
+ "../Args = SpecifyAll or ../Args = SpecifyRP";
+ }
+ type uint32 {
+ range "1..20000";
+ }
+ description
+ "Reuse threshold";
+ }
+ leaf suppress-threshold {
+ when "../args = 'specify-all' or ../args = 'specify-rp'" {
+ description
+ "../Args = SpecifyAll or ../Args = SpecifyRP";
+ }
+ type uint32 {
+ range "1..20000";
+ }
+ description
+ "Suppress threshold";
+ }
+ leaf suppress-time {
+ when "../args = 'specify-all' or ../args = 'specify-rp'" {
+ description
+ "../Args = SpecifyAll or ../Args = SpecifyRP";
+ }
+ type uint32 {
+ range "1..255";
+ }
+ units "minute";
+ description
+ "Max suppress time (in minutes)";
+ }
+ leaf restart-penalty {
+ when "../args = 'specify-rp'" {
+ description
+ "../Args = SpecifyRP";
+ }
+ type uint32 {
+ range "0..20000";
+ }
+ description
+ "Restart penalty";
+ }
+ }
+ container mtus {
+ description
+ "The MTU configuration for the interface";
+ list mtu {
+ key "owner";
+ description
+ "The MTU for the interface";
+ leaf owner {
+ type xr:Cisco-ios-xr-string;
+ description
+ "The Owner of the interface - eg. for
+ 'LoopbackX' main interface this is 'loopback'";
+ }
+ leaf mtu {
+ type uint32 {
+ range "64..65535";
+ }
+ mandatory true;
+ description
+ "The MTU value";
+ }
+ }
+ }
+ container encapsulation {
+ description
+ "The encapsulation on the interface";
+ leaf encapsulation {
+ type string;
+ description
+ "The encapsulation - e.g. hdlc, ppp";
+ }
+ leaf capsulation-options {
+ type uint32;
+ description
+ "The options for this capsulation, usually '0'";
+ }
+ }
+ leaf shutdown {
+ type empty;
+ description
+ "The existence of this configuration indicates
+ the interface is shut down";
+ }
+ leaf interface-virtual {
+ type empty;
+ description
+ "The mode in which an interface is running. The
+ existence of this object causes the creation of
+ the software virtual/subinterface.";
+ }
+ leaf secondary-admin-state {
+ type Secondary-admin-state-enum;
+ description
+ "The secondary admin state of the interface";
+ }
+ leaf interface-mode-non-physical {
+ type Interface-mode-enum;
+ default "default";
+ description
+ "The mode in which an interface is running. The
+ existence of this object causes the creation of
+ the software subinterface.";
+ }
+ leaf bandwidth {
+ type uint32 {
+ range "0..4294967295";
+ }
+ units "kbit/s";
+ description
+ "The bandwidth of the interface in kbps";
+ }
+ leaf link-status {
+ type empty;
+ description
+ "Enable interface and line-protocol state change
+ alarms";
+ }
+ leaf description {
+ type string;
+ description
+ "The description of this interface";
+ }
+ leaf active {
+ type Interface-active;
+ description
+ "Whether the interface is active or
+ preconfigured";
+ }
+ leaf interface-name {
+ type xr:Interface-name;
+ description
+ "The name of the interface";
+ }
+ }
+ }
+}
+++ /dev/null
-module Cisco-IOS-XR-infra-policymgr-cfg {
-
- namespace
- "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-policymgr-cfg";
-
- prefix "infra-policymgr-cfg";
-
- import ietf-inet-types {
- prefix inet;
- }
-
- organization "Cisco Systems, Inc.";
-
-
- contact
- "Cisco Systems, Inc.
- Customer Service
-
- Postal: 170 West Tasman Drive
- San Jose, CA 95134
-
- Tel: +1 800 553-NETS
-
- E-mail: cs-yang@cisco.com";
-
- description
- "This module contains a collection of YANG definitions
- for Cisco IOS-XR ASR9k policy manager configuration.
-
- Copyright (c) 2013, 2015-2016 by Cisco Systems, Inc.
- All rights reserved.";
-
- revision "2016-12-15" {
- description
- "IOS XR 6.1.3 revision.";
- }
-
- revision "2015-05-18" {
- description
- "IOS XR 5.3.2 revision.";
- }
-
- revision "2013-07-22" {
- description
- "Initial revision.";
- }
- typedef mac-address {
- type string {
- pattern '[0-9a-fA-F]{4}(\.[0-9a-fA-F]{4}){2}';
- }
- description
- "The mac-address type represents a MAC address.
- The canonical representation uses lowercase characters.
- It is made of three groups of four hexadecimal digits
- separated by dots (.)";
- }
- typedef Class-map-type {
- type enumeration {
- enum qos {
- value 1;
- description "QoS Classmap.";
- }
- enum traffic {
- value 3;
- description "TRAFFIC Classmap.";
- }
- enum control {
- value 4;
- description "Control Subscriber Classmap.";
- }
- }
- description "Policy manager class-map type.";
- }
-
- typedef Alarm-severity {
- type string {
- pattern "(informational)|(notification)|(warning)|(error)|"+
- "(critical)|(alert)|(emergency)";
- }
- description "Alaram severity types.";
- }
-
- typedef Policy-map-type {
- type enumeration {
- enum qos {
- value 1;
- description "QoS Policymap";
- }
- enum pbr {
- value 2;
- description "PBR Policymap";
- }
- enum traffic {
- value 3;
- description "TRAFFIC Policymap";
- }
- enum subscriber-control {
- value 4;
- description "SUBSCRIBER-CONTROL Policymap";
- }
- enum redirect {
- value 6;
- description "REDIRECT Policy map";
- }
- enum flow-monitor {
- value 7;
- description "FLOWMONITOR Policy map";
- }
- }
- description "Policy manager policy-map type.";
- }
-
- typedef Service-policy-type {
- type string {
- pattern "(PBR)|(QOS)|(REDIRECT)|(TRAFFIC)|"+
- "(pbr)|(qos)|(redirect)|(traffic)";
- }
- description "Policy manager service-policy type.";
- }
-
- typedef Pmap-class-map-type {
- type enumeration {
- enum qos {
- value 1;
- description "QoS Classmap.";
- }
- enum traffic {
- value 2;
- description "TRAFFIC Classmap.";
- }
- enum subscriber-control {
- value 3;
- description "Subscriber Control Classmap.";
- }
- }
- description "Policy manager class-map type.";
- }
-
- typedef Bandwidth-units {
- type string {
- pattern "(bps)|(kbps)|(mbps)|(gbps)|(percent)|(per-million)|"+
- "(per-thousand)";
- }
- description "Supported units for bandwidth.
- bps - units in Bits/Sec
- kbps - units in KiloBits/Sec
- mbps - units in MegaBits/Sec
- gbps - units in GigaBits/Sec
- percent - units in Percentage
- per-million - parts per-million bandwidth value
- per-thousand - Parts per-thousand bandwidth value";
- }
-
- typedef Bandwidth-remaining-units {
- type string {
- pattern "(percent)|(ratio)";
- }
- description "Supported units for bandwidth remaining.
- percent - units in Percentage
- ratio - units in Ratio";
- }
-
- typedef Rate-units {
- type string {
- pattern "(bps)|(kbps)|(mbps)|(gbps)|(pps)|(percent)|(cellsps)";
- }
- description "Supported units for police rate or peak-rate.
- bps - units in Bits/Sec
- kbps - units in KiloBits/Sec
- mbps - units in MegaBits/Sec
- gbps - units in GigaBits/Sec
- pps - units in Packets/Sec
- percent - units in Percentage
- cellsps - units in Cells/Sec";
- }
-
- typedef Cac-rate-units {
- type string {
- pattern "(bps)|(kbps)|(mbps)|(gbps)|(cellsps)";
- }
- description "Supported units for CAC rate or flow-rate.
- bps - units in Bits/Sec
- kbps - units in KiloBits/Sec
- mbps - units in MegaBits/Sec
- gbps - units in GigaBits/Sec
- cellsps - units in Cells/Sec";
- }
-
- typedef Queue-units {
- type string {
- pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|"+
- "(packets)|(cells)|(percent)";
- }
- description "Supported units for queue.
- bytes - units in Bytes
- kbytes - units in KiloBytes
- mbytes - units in MegaBytes
- gbytes - units in Gigabytes
- us - units in Microseconds
- ms - units in Milliseconds
- packets - units in Packets
- cells - units in Cells
- percent - units in Percent";
- }
-
- typedef Threshold-units {
- type string {
- pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|"+
- "(packets)|(cells)";
- }
- description "Supported units for RED threshold.
- bytes - units in Bytes
- kbytes - units in KiloBytes
- mbytes - units in MegaBytes
- gbytes - units in GigaBytes
- us - units in Microseconds
- ms - units in Milliseconds
- packets - units in Packets
- cells - units in Cells";
- }
-
- typedef Pfc-units {
- type string {
- pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|"+
- "(packets)|(cells)";
- }
- description "Supported units for pfc.
- bytes - units in Bytes
- kbytes - units in KiloBytes
- mbytes - units in MegaBytes
- gbytes - units in Gigabytes
- us - units in Microseconds
- ms - units in Milliseconds
- packets - units in Packets
- cells - units in Cells";
- }
- typedef Float-str {
- type string {
- pattern "[0-9]+(\.[0-9]+)?";
- }
- description "Floating point number string representation.";
- }
-
- typedef Dscp {
- type string {
- pattern "([0-9]|[1-5][0-9]|6[0-3])|"+
- "(af11)|(af12)|(af13)|(af21)|(af22)|(af23)|(af31)|"+
- "(af32)|(af33)|(af41)|(af42)|(af43)|(ef)|(default)|"+
- "(cs1)|(cs2)|(cs3)|(cs4)|(cs5)|(cs6)|(cs7)";
- }
- description "DSCP value string representation.
- Should be single value 0..63 or predefined string.";
- }
-
- typedef Dscp-range {
- type string {
- pattern "([0-9]|[1-5][0-9]|6[0-3])|"+
- "(([0-9]|[1-5][0-9]|6[0-3])-"+
- "([0-9]|[1-5][0-9]|6[0-3]))|"+
- "(af11)|(af12)|(af13)|(af21)|(af22)|(af23)|(af31)|"+
- "(af32)|(af33)|(af41)|(af42)|(af43)|(ef)|(default)|"+
- "(cs1)|(cs2)|(cs3)|(cs4)|(cs5)|(cs6)|(cs7)";
- }
- description "DSCP value or range string representation.
- Should be single value 0..63 or predefined string
- or range <min>-<max>.";
- }
-
- typedef Num-range {
- type string {
- pattern "(\d+)|(\d+\-\d+)";
- }
- description "Numeric value or range string representation.
- Should be single value or range <min>-<max>.";
- }
-
- typedef Protocol {
- type string {
- pattern
- "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|"+
- "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\-"+
- "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|"+
- "((ahp)|(dhcpv4)|(dhcpv6)|(eigrp)|(esp)|(gre)|(icmp)|"+
- "(igmp)|(igrp)|(ipinip)|(ipv4)|(ipv6)|(ipv6icmp)|(mpls)|"+
- "(nos)|(ospf)|(pcp)|(pim)|(ppp)|(sctp)|(tcp)|(udp))";
- }
- description "Numeric value or range or string representation.
- Should be single value or range 0..255.";
- }
-
- typedef Ethertype {
- type string {
- pattern
- "((153[6-9]|15[4-9][0-9]|1[6-9][0-9][0-9]|[2-9][0-9][0-9][0-9])|"+
- "([1-5][0-9][0-9][0-9][0-9]|6[0-4][0-9][0-9][0-9])|"+
- "(65[0-4][0-9][0-9]|655[0-2][0-9]|6553[0-5]))|"+
- "((arp)|(ipv4)|(ipv6))";
- }
- description "Numeric value or string representation.
- Should be single value 1536..65535 or predefined string.";
- }
-
- typedef Precedence {
- type union {
- type uint8 {
- range "0..7";
- }
- type string {
- pattern "(critical)|(flash)|(flash-override)|(immediate)|"+
- "(internet)|(network)|(priority)|(routine)";
- }
- }
- description "Precedence value.
- critical Critical precedence (5)
- flash Flash precedence (3)
- flash-override Flash override precedence (4)
- immediate Immediate precedence (2)
- internet Internetwork control precedence (6)
- network Network control precedence (7)
- priority Priority precedence (1)
- routine Routine precedence (0)";
- }
-
- typedef Cos {
- type uint8 {
- range "0..7";
- }
- description "Cos value.";
- }
-
- typedef Idle-timeout-number {
- type uint16 {
- range "10..2550";
- }
- units "seconds";
- description "String that idle-timeout can take.";
- }
-
- typedef Idle-timeout-string {
- type string {
- pattern "(None)|(none)";
- }
- description "This flow does not expire.";
- }
-
- typedef Idle-timeout {
- type union {
- type Idle-timeout-number;
- type Idle-timeout-string;
- }
- description "Idle timeout.";
- }
-
- typedef Event-type {
- type enumeration {
- enum account-logoff {
- description "Account logoff event.";
- }
- enum account-logon {
- description "Account logon event.";
- }
- enum authentication-failure {
- description "Authentication failure event.";
- }
- enum authentication-no-response {
- description "Authentication no response event.";
- }
- enum authorization-failure {
- description "Authorization failure event.";
- }
- enum authorization-no-response {
- description "Authorization no response event.";
- }
- enum credit-exhausted {
- description "Credit exhaustion event.";
- }
- enum exception {
- description "Exception event.";
- }
- enum idle-timeout {
- description "Idle timeout event.";
- }
- enum quota-depleted {
- description "Quota depletion event.";
- }
- enum service-start {
- description "Service start event.";
- }
- enum service-stop {
- description "Service stop event.";
- }
- enum session-activate {
- description "Session activate event.";
- }
- enum session-start {
- description "Session start event.";
- }
- enum session-stop {
- description "Session stop event.";
- }
- enum timer-expiry {
- description "Timer expiry event.";
- }
- }
- description "Event type.";
- }
-
- typedef Execution-strategy {
- type enumeration {
- enum do-all {
- description "Do all actions.";
- }
- enum do-until-failure {
- description "Do all actions until failure.";
- }
- enum do-until-success {
- description "Do all actions until success.";
- }
- }
- description "Executuion strategy.";
- }
-
- typedef Authorize-identifier {
- type enumeration {
- enum circuit-id {
- description "Authorize circuit ID.";
- }
- enum dhcp-client-id {
- description "Authorize dhcp client ID.";
- }
- enum remote-id {
- description "Authorize remote ID.";
- }
- enum source-address-ipv4 {
- description "Authorize source IPv4 address.";
- }
- enum source-address-ipv6 {
- description "Authorize source IPv6 address.";
- }
- enum source-address-mac {
- description "Authorize source MAC address.";
- }
- enum username {
- description "Authorize username.";
- }
- }
- description "Authorize identifier.";
- }
-
-
- grouping MATCH {
- description "Supported 'match' or 'match-not' actions.";
- leaf-list ipv4-dscp {
- type Dscp-range;
- max-elements 8;
- description "Match IPv4 DSCP.";
- }
- leaf-list ipv6-dscp {
- type Dscp-range;
- max-elements 8;
- description "Match IPv6 DSCP.";
- }
- leaf-list dscp {
- type Dscp-range;
- max-elements 8;
- description "Match DSCP.";
- }
- leaf-list ipv4-precedence {
- type Precedence;
- max-elements 8;
- description "Match IPv4 precedence.";
- }
- leaf-list ipv6-precedence {
- type Precedence;
- max-elements 8;
- description "Match IPv6 precedence.";
- }
- leaf-list precedence {
- type Precedence;
- max-elements 8;
- description "Match precedence.";
- }
- leaf-list qos-group {
- type Num-range;
- max-elements 8;
- description "Match QoS group.
- Should be value 0..512 or range.";
- }
- leaf-list traffic-class {
- type Num-range;
- max-elements 8;
- description "Match Traffic Class.
- Should be value 0..7 or range.";
- }
- leaf-list cos {
- type Cos;
- max-elements 8;
- description "Match CoS.";
- }
- leaf-list inner-cos {
- type Cos;
- max-elements 8;
- description "Match inner CoS.";
- }
- leaf dei {
- type uint8 {
- range "0..1";
- }
- description "Match DEI bit.";
- }
- leaf dei-inner {
- type uint8 {
- range "0..1";
- }
- description "Match DEI INNER bit.";
- }
- leaf-list protocol {
- type Protocol;
- max-elements 7;
- description "Match protocol.";
- }
- leaf ipv4-acl {
- type string {
- length "1..64";
- }
- description "Match IPv4 ACL.";
- }
- leaf ipv6-acl {
- type string {
- length "1..64";
- }
- description "Match IPv6 ACL.";
- }
- leaf ethernet-services-acl {
- type string {
- length "1..64";
- }
- description "Match Ethernet Services";
- }
- leaf-list mpls-experimental-topmost {
- type Cos;
- max-elements 8;
- description "Match MPLS experimental topmost label.";
- }
- leaf-list mpls-experimental-imposition {
- type Cos;
- max-elements 8;
- description "Match MPLS experimental imposition label.";
- }
- leaf-list discard-class {
- type Cos;
- max-elements 8;
- description "Match discard class.";
- }
- leaf-list ipv4-packet-length {
- type Num-range;
- max-elements 8;
- description "Match IPv4 packet length.
- Should be value 0..65535 or range.";
- }
- leaf-list ipv6-packet-length {
- type Num-range;
- max-elements 8;
- description "Match IPv6 packet length.
- Should be value 0..65535 or range.";
- }
- leaf-list packet-length {
- type Num-range;
- max-elements 8;
- description "Match packet length.
- Should be value 0..65535 or range.";
- }
- leaf mpls-disposition-ipv4-access-list {
- type string {
- length "1..32";
- }
- description "Match MPLS Label Disposition IPv4 access list.";
- }
- leaf mpls-disposition-ipv6-access-list {
- type string {
- length "1..32";
- }
- description "Match MPLS Label Disposition IPv6 access list.";
- }
- leaf-list vlan {
- type Num-range;
- max-elements 8;
- description "Match VLAN ID.";
- }
- leaf-list inner-vlan {
- type Num-range;
- max-elements 8;
- description "Match inner VLAN ID.";
- }
- leaf-list flow-tag {
- type Num-range;
- max-elements 8;
- description "Match flow-tag. Should be value 1..63 or range.";
- }
- leaf-list ethertype {
- type Ethertype;
- max-elements 8;
- description "Match Ethertype.";
- }
- list destination-address-ipv4 {
- key "address netmask";
- max-elements 8;
- description "Match destination IPv4 address.";
- leaf address {
- type inet:ipv4-address-no-zone;
- description "IPv4 address.";
- }
- leaf netmask {
- type inet:ipv4-address-no-zone;
- description "IPv4 netmask.";
- }
- }
- list destination-address-ipv6 {
- key "address prefix-length";
- max-elements 8;
- description "Match destination IPv6 address.";
- leaf address {
- type inet:ipv6-address-no-zone;
- description "IPv6 address.";
- }
- leaf prefix-length {
- type uint8 {
- range "0..128";
- }
- description "IPv6 prefix length.";
- }
- }
- leaf-list destination-port {
- type Num-range;
- max-elements 8;
- description "Match destination port.
- Should be value 0..65535 or range.";
- }
- leaf-list fragment-type {
- type string {
- pattern "(first-fragment)|(is-fragment)|(last-fragment)";
- }
- max-elements 3;
- description "Match fragment type for a packet.";
- }
- leaf-list frame-relay-dlci {
- type Num-range;
- max-elements 8;
- description "Match frame-relay DLCI value.
- Should be value 16..1007 or range.";
- }
- leaf fr-de {
- type uint8 {
- range "0..1";
- }
- description "Set FrameRelay DE bit.";
- }
- leaf-list icmpv4-code {
- type Num-range;
- max-elements 8;
- description "Match IPv4 ICMP code.
- Should be value 0..255 or range.";
- }
- leaf-list icmpv4-type {
- type Num-range;
- max-elements 8;
- description "Match IPv4 ICMP type.
- Should be value 0..255 or range.";
- }
- leaf-list icmpv6-code {
- type Num-range;
- max-elements 8;
- description "Match IPv6 ICMP code.
- Should be value 0..255 or range.";
- }
- leaf-list icmpv6-type {
- type Num-range;
- max-elements 8;
- description "Match IPv6 ICMP type.
- Should be value 0..255 or range.";
- }
- list source-address-ipv4 {
- key "address netmask";
- max-elements 8;
- description "Match source IPv4 address.";
- leaf address {
- type inet:ipv4-address-no-zone;
- description "IPv4 address.";
- }
- leaf netmask {
- type inet:ipv4-address-no-zone;
- description "IPv4 netmask.";
- }
- }
- list source-address-ipv6 {
- key "address prefix-length";
- max-elements 8;
- description "Match source IPv6 address.";
- leaf address {
- type inet:ipv6-address-no-zone;
- description "IPv6 address.";
- }
- leaf prefix-length {
- type uint8 {
- range "0..128";
- }
- description "IPv6 prefix length.";
- }
- }
- leaf-list source-port {
- type Num-range;
- max-elements 8;
- description "Match source port.
- Should be value 0..65535 or range.";
- }
- leaf tcp-flag {
- type uint16 {
- range "0..4095";
- }
- description "Match TCP flags.";
- }
- leaf authen-status {
- type string {
- pattern "(authenticated)|(unauthenticated)";
- }
- description "Match authentication status.";
- }
- leaf-list circuit-id {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match Circuit ID.";
- }
- leaf-list circuit-id-regex {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match Circuit id regex.";
- }
- leaf-list dhcp-client-id {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match dhcp client ID.";
- }
- leaf-list dhcp-client-id-regex {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match dhcp client id regex.";
- }
- list domain-name {
- key "name format";
- max-elements 8;
- description "Match domain name.";
- leaf name {
- type string {
- length "1..32";
- }
- description "Domain name or regular expression.";
- }
- leaf format {
- type string {
- length "1..32";
- }
- description "Domain-format name.";
- }
- }
- list domain-name-regex {
- key "regex format";
- max-elements 8;
- description "Match domain name.";
- leaf regex {
- type string {
- length "1..32";
- }
- description "Domain name or regular expression.";
- }
- leaf format {
- type string {
- length "1..32";
- }
- description "Domain-format name.";
- }
- }
- leaf-list remote-id {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match remote ID.";
- }
- leaf-list remote-id-regex {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match remote id regex.";
- }
- leaf-list service-name {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match servicve name.";
- }
- leaf-list service-name-regex {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match servicve name regular expression.";
- }
- leaf-list timer {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match timer.";
- }
- leaf-list timer-regex {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match timer regular expression.";
- }
- leaf-list user-name {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match user name.";
- }
- leaf-list user-name-regex {
- type string {
- length "1..32";
- }
- max-elements 8;
- description "Match user name regular expression.";
- }
- leaf-list source-mac {
- type string;
- max-elements 8;
- description "Match source MAC address.";
- }
- leaf-list destination-mac {
- type string;
- max-elements 8;
- description "Match destination MAC address.";
- }
- leaf vpls-control {
- type empty;
- description "Match VPLS control";
- }
- leaf vpls-broadcast{
- type empty;
- description "Match VPLS Broadcast";
- }
- leaf vpls-multicast {
- type empty;
- description "Match VPLS Multicast";
- }
- leaf vpls-known {
- type empty;
- description "Match VPLS Known";
- }
- leaf vpls-unknown {
- type empty;
- description "Match VPLS Unknown";
- }
- }
-
- grouping MATCH-MATCHNOT {
- description "match or match-not containers.";
- container match {
- description "Match rules.";
- uses MATCH;
-
- leaf atm-clp {
- type uint8 {
- range "0..1";
- }
- description "Match ATM CLP bit.";
- }
- leaf atm-oam {
- type empty;
- description "Match ATM OAM.";
- }
- leaf cac-admit {
- type empty;
- description "Match CAC admitted.";
- }
- leaf cac-unadmit {
- type empty;
- description "Match CAC unadmitted.";
- }
- container flow {
- description "Match flow.";
- leaf-list flow-key {
- type string {
- pattern "(SourceIP)|(DestinationIP)|(5Tuple)";
- }
- max-elements 2;
- description "Configure the flow-key parameters.";
- }
- container flow-cache {
- description "Configure the flow-cache parameters";
- leaf idle-timeout {
- type Idle-timeout;
- description "Maximum time of inactivity for a flow.";
- }
- }
- }
- }
- container match-not {
- description "Match not rules.";
- uses MATCH;
- container flow {
- description "Match flow.";
- leaf-list flow-tag {
- type uint16 {
- range "1..63";
- }
- max-elements 2;
- description "Configure the flow-tag parameters.";
- }
- }
- }
- }
- grouping CLASS-MAP-RULE {
- description "Class-map rule";
- leaf class-map-mode-match-any {
- when "count(../class-map-mode-match-all) = 0" {
- description "Class MUST have only one mode.";
- }
- type empty;
- description "Match all match criteria";
- }
- leaf class-map-mode-match-all {
- when "count(../class-map-mode-match-any) = 0" {
- description "Class MUST have only one mode.";
- }
- type empty;
- description "Match any match criteria.";
- }
- uses MATCH-MATCHNOT;
- leaf description {
- type string;
- description "Description for this policy-map.";
- }
- }
-
- grouping POLICY-MARK {
- description "Policy packet marking actions.";
- leaf dscp {
- type Dscp;
- description
- "Marks a packet by setting the DSCP in the ToS byte.";
- }
- leaf qos-group {
- type uint16 {
- range "0..512";
- }
- description
- "Sets the QoS group identifiers on IPv4 or MPLS packets.
- The set qos-group is supported only on an ingress policy.";
- }
- leaf traffic-class {
- type uint8 {
- range "0..7";
- }
- description
- "Sets the Traffic class identifiers on IPv4 or MPLS packets.";
- }
- leaf discard-class {
- type uint8 {
- range "0..7";
- }
- description
- "Sets the discard class on IPv4 or MPLS packets.
- The discard-class can be used only in service policies
- that are attached in the ingress policy.";
- }
- leaf forward-class {
- type uint8 {
- range "0..7";
- }
- description
- "Sets the discard class.";
- }
- leaf df {
- type uint8 {
- range "0..1";
- }
- description "Set DF bit.";
- }
- leaf cos {
- type uint8 {
- range "0..7";
- }
- description
- "Sets the specific IEEE 802.1Q Layer 2 CoS value of an
- outgoing packet.
- This command should be used by a router if a user wants
- to mark a packet that is being sent to a switch.
- Switches can leverage Layer 2 header information,
- including a CoS value marking. Packets entering an
- interface cannot be set with a CoS value.";
- }
- leaf inner-cos {
- type uint8 {
- range "0..7";
- }
- description "Set inner cos.";
- }
- leaf precedence {
- type Precedence;
- description "Sets the precedence value in the IP header.";
- }
- leaf precedence-tunnel {
- type Precedence;
- description "Sets the precedence tunnel value for ipsec.";
- }
- leaf mpls-experimental-top-most {
- type uint8 {
- range "0..7";
- }
- description
- "Sets the experimental value of the MPLS packet top-most
- labels.";
- }
- leaf mpls-experimental-imposition {
- type uint8 {
- range "0..7";
- }
- description
- "Sets the experimental value of the MPLS packet
- imposition labels.
- Imposition can be used only in service policies that
- are attached in the ingress policy";
- }
- leaf srp-priority {
- type uint8 {
- range "0..7";
- }
- description
- "Sets the spatial reuse protocol priority value of an
- outgoing packet.";
- }
- leaf fr-de {
- type uint8 {
- range "0..1";
- }
- description "Set FrameRelay DE bit.";
- }
- leaf dei {
- type uint8 {
- range "0..1";
- }
- description "Set DEI bit.";
- }
- leaf dei-imposition {
- type uint8 {
- range "0..1";
- }
- description "Set DEI imposition bit.";
- }
- leaf source-address {
- type inet:ipv4-address-no-zone;
- description "Source IPv4 address.";
- }
- leaf destination-address {
- type inet:ipv4-address-no-zone;
- description "Destination IPv4 address.";
- }
- }
-
- grouping CAC-RATE-VALUE {
- description "CAC rate value.";
- leaf value {
- type uint32 {
- range "1..4294967295";
- }
- must "../units" {
- description "units must be set.";
- }
- description "Rate value.";
- }
- leaf units {
- type Cac-rate-units;
- description "Rate units.";
- }
- }
-
- grouping POLICE-ACTION {
- description "Police action.";
- leaf Transmit {
- type empty;
- description "Police action transmit.";
- }
- leaf drop {
- type empty;
- description "Police action drop.";
- }
- container set {
- description "Police action packet marking.";
- uses POLICY-MARK;
- }
- }
-
- grouping POLICY-MAP-RULE {
- description "Class-map rule.";
- list event {
- key "event-type";
- description "Policy event.";
- leaf event-type {
- type Event-type;
- description "Event type.";
- }
- leaf event-mode-match-all {
- when "count(../event-mode-match-first) = 0" {
- description "Event MUST have only one mode.";
- }
- type empty;
- description "Execute all the matched classes.";
- }
- leaf event-mode-match-first {
- when "count(../event-mode-match-all) = 0" {
- description "Event MUST have only one mode.";
- }
- type empty;
- description "Execute only the first matched class.";
- }
- list class {
- key "class-name class-type";
- description "Class-map rule.";
- leaf class-name {
- type string {
- pattern "[a-zA-Z0-9][a-zA-Z0-9\._@$%+#:=<>\-]{0,62}";
- }
- description "Name of class.";
- }
- leaf class-type {
- type Pmap-class-map-type;
- description "Type of class.";
- }
- leaf class-execution-strategy {
- type Execution-strategy;
- description "Class execution strategy.";
- }
- list action-rule {
- key "action-sequence-number";
- description "Action rule.";
- leaf action-sequence-number {
- type uint16 {
- range "1..65535";
- }
- description "Sequence number for this action.";
- }
- container activate-dynamic-template {
- presence "This container is present only if actions is
- related to dynamic templates.";
- description "Activate dynamic templates.";
- leaf name {
- type string;
- mandatory true;
- description "Dynamic template name.";
- }
- leaf aaa-list {
- type string;
- description "Name of the AAA method list.";
- }
- }
- container authenticate {
- description "Authentication related configuration.";
- leaf aaa-list {
- type string;
- description "Name of the AAA method list.";
- }
- }
- container authorize {
- must "format or identifier" {
- description "format or identifier must be set.";
- }
- presence "This container is present only if actions is
- related to authorization.";
- description "Authorize.";
- leaf aaa-list {
- type string;
- mandatory true;
- description "Name of the AAA method list.";
- }
- leaf format {
- type string;
- description "Specify an Authorize format name.";
- }
- leaf identifier {
- type Authorize-identifier;
- description "Specify an Authorize format name.";
- }
- leaf password {
- type string;
- mandatory true;
- description "Specify a password to be used for AAA
- request.";
- }
- }
- container deactivate-dynamic-template {
- presence "This container is present only if actions is
- related to dynamic templates.";
- description "Deactivate dynamic templates.";
- leaf name {
- type string;
- mandatory true;
- description "Dynamic template name.";
- }
- leaf aaa-list {
- type string;
- description "Name of the AAA method list.";
- }
- }
- leaf disconnect {
- type empty;
- description "Disconnect session.";
- }
- leaf monitor {
- type empty;
- description "Monitor session.";
- }
- container set-timer {
- presence "This container is present only if actions is
- related to timer.";
- description "Set a timer to execute a rule on its
- expiry";
- leaf timer-name {
- type string;
- mandatory true;
- description "Name of the timer.";
- }
- leaf timer-value {
- type uint32;
- units "minutes";
- mandatory true;
- description "Timer value in minutes.";
- }
- }
- container stop-timer {
- description "Disable timer before it expires.";
- leaf timer-name {
- type string;
- description "Name of the timer.";
- }
- }
- }
- }
- }
- list policy-map-rule {
- key "class-name class-type";
- description "Class-map rule.";
- leaf class-name {
- type string {
- pattern "[a-zA-Z0-9][a-zA-Z0-9\._@$%+#:=<>\-]{0,62}";
- }
- description "Name of class-map.";
- }
- leaf class-type {
- type Pmap-class-map-type;
- description "Type of class-map.";
- }
- container shape {
- must "rate" {
- description "rate container must be present.";
- }
- description "Policy action shape.";
- container rate {
- description "Rate configuration.";
- leaf value {
- type uint32;
- must "../unit" {
- description "unit must be set.";
- }
- description "Shape bandwidth value.";
- }
- leaf unit {
- type Bandwidth-units;
- description "Shape bandwidth units.";
- }
- }
- container burst {
- description "Burst size configuration.";
- leaf value {
- type uint32;
- must "../units" {
- description "units must be set.";
- }
- description "Burst size value.";
- }
- leaf units {
- type Threshold-units;
- description "Burst size units.";
- }
- }
- }
- container min-bandwidth {
- description "Policy action minimum bandwidth queue.";
- leaf value {
- type uint32;
- must "../unit" {
- description "unit must be set.";
- }
- description "Minimum bandwidth value.";
- }
- leaf unit {
- type Bandwidth-units;
- description "Minimum bandwidth units.";
- }
- }
- container bandwidth-remaining {
- description "Policy action bandwidth remaining queue.";
- leaf value {
- type uint32;
- must "../unit" {
- description "unit must be set.";
- }
- description "Remaining bandwidth value.";
- }
- leaf unit {
- type Bandwidth-remaining-units;
- description "Remaining bandwidth units.";
- }
- }
- container queue-limit {
- description "Policy action queue limit.";
- leaf value {
- type uint32;
- must "../unit" {
- description "unit must be set.";
- }
- description "Remaining bandwidth value.";
- }
- leaf unit {
- type Queue-units;
- description "Remaining bandwidth units.";
- }
- }
- container pfc {
- description "Policy action pfc.";
- leaf pfc-pause-set {
- type empty;
- description "Pfc Pause set value.";
- }
- container pfc-buffer-size {
- leaf value {
- type uint32;
- must "../unit" {
- description "unit must be set.";
- }
- description "Pfc buffer size value.";
- }
- leaf unit {
- type Pfc-units;
- description "Pfc buffer size units.";
- }
- }
- container pfc-pause-threshold {
- leaf value {
- type uint32;
- must "../unit" {
- description "unit must be set.";
- }
- description "Pfc pause threshold value.";
- }
- leaf unit {
- type Pfc-units;
- description "Pfc pause threshold units.";
- }
- }
- container pfc-resume-threshold {
- leaf value {
- type uint32;
- must "../unit" {
- description "unit must be set.";
- }
- description "Pfc resume threshold value.";
- }
- leaf unit {
- type Pfc-units;
- description "Pfc resume threshold units.";
- }
- }
- }
- leaf priority-level {
- type uint8 {
- range "1..7";
- }
- description "Priority level.";
- }
- leaf default-red {
- type empty;
- description "Default random early detection";
- }
- leaf ecn-red {
- type empty;
- description "ECN based random early detection";
- }
- list random-detect {
- key "threshold-min-value threshold-min-units "+
- "threshold-max-value threshold-max-units";
- description "Random early detection.
- All RED profiles in a class must be based
- on the same field.";
- leaf threshold-min-value {
- type uint32;
- description "Minimum RED threshold value.";
- }
- leaf threshold-min-units {
- type Threshold-units;
- description "Minimum RED threshold units.";
- }
- leaf threshold-max-value {
- type uint32;
- description "Maximum RED threshold value.";
- }
- leaf threshold-max-units {
- type Threshold-units;
- description "Maximum RED threshold units.";
- }
- leaf-list cos {
- type Dscp-range;
- max-elements 8;
- description "WRED based on CoS.";
- }
- leaf-list discard-class {
- type Cos;
- max-elements 8;
- description "WRED based on discard class.";
- }
- leaf-list dscp {
- type Dscp-range;
- max-elements 8;
- description "WRED based on DSCP.";
- }
- leaf-list mpls-exp {
- type Cos;
- max-elements 8;
- description "MPLS Experimental value based WRED.";
- }
- leaf-list precedence {
- type Precedence;
- max-elements 8;
- description "WRED based on precedence.";
- }
- leaf dei {
- type uint8 {
- range "0..1";
- }
- description "DEI based WRED.";
- }
- leaf ecn {
- type empty;
- description "ECN based WRED.";
- }
- }
- container set {
- description "Policy action packet marking.";
- uses POLICY-MARK;
- }
- container police {
- must "rate" {
- description "rate container must be present.";
- }
- description "Configures traffic policing action.";
- container rate {
- description "Rate configuration.";
- leaf value {
- type uint32;
- must "../units" {
- description "units must be set.";
- }
- description "Rate value.";
- }
- leaf units {
- type Rate-units;
- description "Rate units.";
- }
- }
- container peak-rate {
- description "Peak rate configuration.";
- leaf value {
- type uint32;
- must "../units" {
- description "units must be set.";
- }
- description "Peak rate value.";
- }
- leaf units {
- type Rate-units;
- description "Peak rate units.";
- }
- }
- container burst {
- description "Burst configuration.";
- leaf value {
- type uint32;
- must "../units" {
- description "units must be set.";
- }
- description "Burst value.";
- }
- leaf units {
- type Threshold-units;
- description "Burst units.";
- }
- }
- container peak-burst {
- description "Peak burst configuration.";
- leaf value {
- type uint32;
- must "../units" {
- description "units must be set.";
- }
- description "Peak burst value.";
- }
- leaf units {
- type Threshold-units;
- description "Peak burst units.";
- }
- }
- container conform-action {
- description
- "Configures the action to take on packets that conform
- to the rate limit.";
- uses POLICE-ACTION;
- }
- container exceed-action {
- description
- "Configures the action to take on packets that exceed
- the rate limit.";
- uses POLICE-ACTION;
- }
- container violate-action {
- description
- "Configures the action to take on packets that violate
- the rate limit.";
- uses POLICE-ACTION;
- }
- }
- container service-policy {
- description
- "Configure a child service policy.";
- leaf policy-name {
- type string {
- pattern "[a-zA-Z0-9][a-zA-Z0-9\._@$%+#:=<>\-]{0,62}";
- }
- description "Name of service-policy.";
- }
- leaf type {
- type Service-policy-type;
- description "Type of service-policy.";
- }
- }
- container cac-local {
- description "Policy action CAC.";
- container rate {
- description "The rate allocated for all flows.";
- uses CAC-RATE-VALUE;
- }
- container flow-rate {
- description "The rate allocated per flow.";
- uses CAC-RATE-VALUE;
- }
- leaf flow-idle-timeout {
- type Idle-timeout;
- description "The interval after which a flow is removed,
- if there is no activity.
- If timeout is 0 this flow does not expire.";
- }
- }
- container flow-params {
- description "Policy flow monitoring action.";
- leaf max-flow {
- type uint16 {
- range "0..4096";
- }
- description
- "Max simultaneous flows monitored per policy class";
- }
- leaf interval-duration {
- type uint32;
- units "seconds";
- description "Monitored interval duration.";
- }
- leaf history {
- type uint32;
- description
- "Keep stats/metrics on box for so many intervals.";
- }
- leaf timeout {
- type uint32;
- units "seconds";
- description "Declare a flow dead if no packets received in
- so much time";
- }
- }
- container metrics-ipcbr {
- description "Policy IP-CBR metric action.";
- container rate {
- description "Nominal per-flow data rate.";
- leaf layer3 {
- type uint32;
- units "bps";
- description "Nominal rate specified at the L3 (IP).";
- }
- leaf packet {
- type uint32;
- units "pps";
- description "Nominal IP layer packet rate (in pps).";
- }
- leaf media {
- type uint32 {
- range "1..3000000000";
- }
- units "bps";
- description
- "Nominal data rate of the media flow (ip payload).";
- }
- }
- container media-packet {
- description "Media-packet structure.";
- leaf size {
- type uint16;
- units "bytes";
- description "Nominal size of the media-packet.";
- }
- leaf count-in-layer3 {
- type uint8 {
- range "1..64";
- }
- units "packets";
- description
- "Nominal number of media packets in an IP payload.";
- }
- }
- }
- container react {
- description "Policy action react.";
- leaf descrition {
- type string;
- description "String describing the react statement.";
- }
- container action {
- description "Action on alert.";
- leaf syslog {
- type empty;
- description "Syslog.";
- }
- leaf snmp {
- type empty;
- description "SNMP.";
- }
- }
- container alarm {
- description "Alaram settings.";
- container type {
- description "Alarm type.";
- leaf discrete {
- type empty;
- description "Discrete alarm type.";
- }
- leaf group-count {
- type uint16;
- units "number of flows";
- description "Number of flows to reach before
- triggering alarm";
- }
- leaf group-percent {
- type uint16;
- units "percentage";
- description "Percent to reach before triggering alarm";
- }
- }
- leaf severity {
- type Alarm-severity;
- description "Severity of the alarm.";
- }
- }
- container threshold {
- description "Alarm threshold settings.";
- container trigger-value {
- description "Alarm trigger value settings.";
- leaf greater-than {
- type string;
- description "Greater than";
- }
- leaf greater-than-equal {
- type string;
- description "Greater than equal";
- }
- leaf less-than {
- type string;
- description "Less than";
- }
- leaf less-than-equal {
- type string;
- description "Less than equal";
- }
- leaf range {
- type string;
- description "Range";
- }
- }
- container trigger-type {
- description "Alarm trigger type settings.";
- leaf immediate {
- type empty;
- description "Immediate trigger.";
- }
- leaf average {
- type uint32;
- description "Trigger averaged over N intervals.";
- }
- }
- }
- leaf criterion-delay-factor {
- type empty;
- description "React criterion delay factor.";
- }
- leaf criterion-media-stop {
- type empty;
- description "React criterion media stop.";
- }
- leaf criterion-mrv {
- type empty;
- description "React criterion mrv.";
- }
- leaf criterion-flow-count {
- type empty;
- description "React criterion flow count.";
- }
- leaf criterion-packet-rate {
- type empty;
- description "React criterion packet rate.";
- }
- }
- leaf http-redirect {
- type string;
- description "Policy action http redirect.
- Redirect to this url.";
- }
- leaf pbr-transmit {
- type empty;
- description "Policy action PBR transmit.";
- }
- leaf pbr-drop {
- type empty;
- description "Policy action PBR drop.";
- }
- leaf decap-gre {
- type empty;
- description "Policy action DECAP GRE.";
- }
- container pbr-forward {
- description "Policy action PBR forward.";
- leaf default {
- type empty;
- description "Use system default routing table.";
- }
- container next-hop {
- description "Use specific next-hop.
- Here we present 5 different combination
- for the pbf next-hop.
- 1. vrf with v6 address
- 2. vrf with v4 address
- 3. vrf
- 4. v4 address
- 5. v6 address";
- leaf vrf {
- type string;
- description "VRF name.";
- }
- leaf ipv4-address {
- type inet:ipv4-address;
- description "IPv4 address.";
- }
- leaf ipv6-address {
- type inet:ipv6-address;
- description "IPv6 address.";
- }
- }
- }
- leaf service-fragment {
- type string;
- description "Policy action service fragment.
- Service fragment name";
- }
- leaf fragment {
- type string;
- description "Policy action fragment. Fragment name";
- }
- container service-function-path {
- must "path-id" {
- description "path id must be present.";
- }
- description "Policy action service function path.";
- leaf path-id {
- type uint32 {
- range "1..16777215";
- }
- must "../index" {
- description "index must be set.";
- }
- description "Service function path id.";
- }
- leaf index {
- type uint8 {
- range "1..255";
- }
- description "Service function path index.";
- }
- leaf metadata {
- type string;
- description "Service function path metadata name.";
- }
- }
- }
- leaf description {
- type string;
- description "Description for this policy-map.";
- }
- }
- container policy-manager {
- description "Global Policy Manager configuration.";
-
- container class-maps {
- description "Class-maps configuration.";
- list class-map {
- key "type name";
- description "Class-map configuration.";
- leaf type {
- type Class-map-type;
- description "Type of class-map.";
- }
- leaf name {
- type string {
- pattern "[a-zA-Z0-9][a-zA-Z0-9\._@$%+#:=<>\-]{0,62}";
- }
- description "Name of class-map.";
- }
-
- uses CLASS-MAP-RULE;
- }
- }
-
- container policy-maps {
- description "Policy-maps configuration.";
- list policy-map {
- key "type name";
- description "Policy-map configuration.";
- leaf type {
- type Policy-map-type;
- description "Type of policy-map.";
- }
- leaf name {
- type string {
- pattern "[a-zA-Z0-9][a-zA-Z0-9\._@$%+#:=<>\-]{0,62}";
- }
- description "Name of policy-map.";
- }
-
- uses POLICY-MAP-RULE;
- }
- }
- }
- }
\ No newline at end of file
--- /dev/null
+module Cisco-IOS-XR-infra-policymgr-cfg {
+ namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-policymgr-cfg";
+ prefix infra-policymgr-cfg;
+
+ import ietf-inet-types {
+ prefix inet;
+ }
+
+ organization
+ "Cisco Systems, Inc.";
+ contact
+ "Cisco Systems, Inc.
+ Customer Service
+
+ Postal: 170 West Tasman Drive
+ San Jose, CA 95134
+
+ Tel: +1 800 553-NETS
+
+ E-mail: cs-yang@cisco.com";
+ description
+ "This module contains a collection of YANG definitions
+ for Cisco IOS-XR ASR9k policy manager configuration.
+
+ Copyright (c) 2013, 2015-2018 by Cisco Systems, Inc.
+ All rights reserved.";
+
+ revision 2017-12-12 {
+ description
+ "IOS XR 6.4.1 revision.";
+ }
+ revision 2017-06-27 {
+ description
+ "IOS XR 6.4.1 revision.";
+ }
+ revision 2017-05-15 {
+ description
+ "IOS XR 6.3.1 revision.";
+ }
+ revision 2017-04-03 {
+ description
+ "IOS XR 6.3.1 revision.";
+ }
+ revision 2017-03-03 {
+ description
+ "IOS XR 6.3.1 revision.";
+ }
+ revision 2017-02-15 {
+ description
+ "IOS XR 6.2.1 revision.";
+ }
+ revision 2017-02-08 {
+ description
+ "IOS XR 6.2.1 revision.";
+ }
+ revision 2016-12-15 {
+ description
+ "IOS XR 6.2.1 revision.";
+ }
+ revision 2015-05-18 {
+ description
+ "IOS XR 5.3.2 revision.";
+ }
+ revision 2013-07-22 {
+ description
+ "Initial revision.";
+ }
+
+ typedef mac-address {
+ type string {
+ pattern "[0-9a-fA-F]{4}(\\.[0-9a-fA-F]{4}){2}";
+ }
+ description
+ "The mac-address type represents a MAC address.
+ The canonical representation uses lowercase characters.
+ It is made of three groups of four hexadecimal digits
+ separated by dots (.)";
+ }
+
+ typedef Class-map-type {
+ type enumeration {
+ enum "qos" {
+ value 1;
+ description
+ "QoS Classmap.";
+ }
+ enum "traffic" {
+ value 3;
+ description
+ "TRAFFIC Classmap.";
+ }
+ enum "control" {
+ value 4;
+ description
+ "Control Subscriber Classmap.";
+ }
+ }
+ description
+ "Policy manager class-map type.";
+ }
+
+ typedef Alarm-severity {
+ type string {
+ pattern "(informational)|(notification)|(warning)|(error)|(critical)|(alert)|(emergency)";
+ }
+ description
+ "Alaram severity types.";
+ }
+
+ typedef Policy-map-type {
+ type enumeration {
+ enum "qos" {
+ value 1;
+ description
+ "QoS Policymap";
+ }
+ enum "pbr" {
+ value 2;
+ description
+ "PBR Policymap";
+ }
+ enum "traffic" {
+ value 3;
+ description
+ "TRAFFIC Policymap";
+ }
+ enum "subscriber-control" {
+ value 4;
+ description
+ "SUBSCRIBER-CONTROL Policymap";
+ }
+ enum "redirect" {
+ value 6;
+ description
+ "REDIRECT Policy map";
+ }
+ enum "flow-monitor" {
+ value 7;
+ description
+ "FLOWMONITOR Policy map";
+ }
+ }
+ description
+ "Policy manager policy-map type.";
+ }
+
+ typedef Service-policy-type {
+ type string {
+ pattern "(PBR)|(QOS)|(REDIRECT)|(TRAFFIC)|(pbr)|(qos)|(redirect)|(traffic)";
+ }
+ description
+ "Policy manager service-policy type.";
+ }
+
+ typedef Pmap-class-map-type {
+ type enumeration {
+ enum "qos" {
+ value 1;
+ description
+ "QoS Classmap.";
+ }
+ enum "traffic" {
+ value 2;
+ description
+ "TRAFFIC Classmap.";
+ }
+ enum "subscriber-control" {
+ value 3;
+ description
+ "Subscriber Control Classmap.";
+ }
+ }
+ description
+ "Policy manager class-map type.";
+ }
+
+ typedef Bandwidth-units {
+ type string {
+ pattern "(bps)|(kbps)|(mbps)|(gbps)|(percent)|(per-million)|(per-thousand)";
+ }
+ description
+ "Supported units for bandwidth.
+ bps - units in Bits/Sec
+ kbps - units in KiloBits/Sec
+ mbps - units in MegaBits/Sec
+ gbps - units in GigaBits/Sec
+ percent - units in Percentage
+ per-million - parts per-million bandwidth value
+ per-thousand - Parts per-thousand bandwidth value";
+ }
+
+ typedef Bandwidth-remaining-units {
+ type string {
+ pattern "(percent)|(ratio)";
+ }
+ description
+ "Supported units for bandwidth remaining.
+ percent - units in Percentage
+ ratio - units in Ratio";
+ }
+
+ typedef Rate-units {
+ type string {
+ pattern "(bps)|(kbps)|(mbps)|(gbps)|(pps)|(percent)|(cellsps)";
+ }
+ description
+ "Supported units for police rate or peak-rate.
+ bps - units in Bits/Sec
+ kbps - units in KiloBits/Sec
+ mbps - units in MegaBits/Sec
+ gbps - units in GigaBits/Sec
+ pps - units in Packets/Sec
+ percent - units in Percentage
+ cellsps - units in Cells/Sec";
+ }
+
+ typedef Cac-rate-units {
+ type string {
+ pattern "(bps)|(kbps)|(mbps)|(gbps)|(cellsps)";
+ }
+ description
+ "Supported units for CAC rate or flow-rate.
+ bps - units in Bits/Sec
+ kbps - units in KiloBits/Sec
+ mbps - units in MegaBits/Sec
+ gbps - units in GigaBits/Sec
+ cellsps - units in Cells/Sec";
+ }
+
+ typedef Queue-units {
+ type string {
+ pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|(packets)|(cells)|(percent)";
+ }
+ description
+ "Supported units for queue.
+ bytes - units in Bytes
+ kbytes - units in KiloBytes
+ mbytes - units in MegaBytes
+ gbytes - units in Gigabytes
+ us - units in Microseconds
+ ms - units in Milliseconds
+ packets - units in Packets
+ cells - units in Cells
+ percent - units in Percent";
+ }
+
+ typedef Threshold-units {
+ type string {
+ pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|(packets)|(cells)";
+ }
+ description
+ "Supported units for RED threshold.
+ bytes - units in Bytes
+ kbytes - units in KiloBytes
+ mbytes - units in MegaBytes
+ gbytes - units in GigaBytes
+ us - units in Microseconds
+ ms - units in Milliseconds
+ packets - units in Packets
+ cells - units in Cells";
+ }
+
+ typedef Pfc-units {
+ type string {
+ pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|(packets)|(cells)";
+ }
+ description
+ "Supported units for pfc.
+ bytes - units in Bytes
+ kbytes - units in KiloBytes
+ mbytes - units in MegaBytes
+ gbytes - units in Gigabytes
+ us - units in Microseconds
+ ms - units in Milliseconds
+ packets - units in Packets
+ cells - units in Cells";
+ }
+
+ typedef Float-str {
+ type string {
+ pattern "[0-9]+(\\.[0-9]+)?";
+ }
+ description
+ "Floating point number string representation.";
+ }
+
+ typedef Dscp {
+ type string {
+ pattern "([0-9]|[1-5][0-9]|6[0-3])|(af11)|(af12)|(af13)|(af21)|(af22)|(af23)|(af31)|(af32)|(af33)|(af41)|(af42)|(af43)|(ef)|(default)|(cs1)|(cs2)|(cs3)|(cs4)|(cs5)|(cs6)|(cs7)";
+ }
+ description
+ "DSCP value string representation.
+ Should be single value 0..63 or predefined string.";
+ }
+
+ typedef Dscp-range {
+ type string {
+ pattern "([0-9]|[1-5][0-9]|6[0-3])|(([0-9]|[1-5][0-9]|6[0-3])-([0-9]|[1-5][0-9]|6[0-3]))|(af11)|(af12)|(af13)|(af21)|(af22)|(af23)|(af31)|(af32)|(af33)|(af41)|(af42)|(af43)|(ef)|(default)|(cs1)|(cs2)|(cs3)|(cs4)|(cs5)|(cs6)|(cs7)";
+ }
+ description
+ "DSCP value or range string representation.
+ Should be single value 0..63 or predefined string
+ or range <min>-<max>.";
+ }
+
+ typedef Num-range {
+ type string {
+ pattern "(\\d+)|(\\d+\\-\\d+)";
+ }
+ description
+ "Numeric value or range string representation.
+ Should be single value or range <min>-<max>.";
+ }
+
+ typedef Protocol {
+ type string {
+ pattern "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\-([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|((ahp)|(dhcpv4)|(dhcpv6)|(eigrp)|(esp)|(gre)|(icmp)|(igmp)|(igrp)|(ipinip)|(ipv4)|(ipv6)|(ipv6icmp)|(mpls)|(nos)|(ospf)|(pcp)|(pim)|(ppp)|(sctp)|(tcp)|(udp))";
+ }
+ description
+ "Numeric value or range or string representation.
+ Should be single value or range 0..255.";
+ }
+
+ typedef Ethertype {
+ type string {
+ pattern "((153[6-9]|15[4-9][0-9]|1[6-9][0-9][0-9]|[2-9][0-9][0-9][0-9])|([1-5][0-9][0-9][0-9][0-9]|6[0-4][0-9][0-9][0-9])|(65[0-4][0-9][0-9]|655[0-2][0-9]|6553[0-5]))|((arp)|(ipv4)|(ipv6))";
+ }
+ description
+ "Numeric value or string representation.
+ Should be single value 1536..65535 or predefined string.";
+ }
+
+ typedef Precedence {
+ type union {
+ type uint8 {
+ range "0..7";
+ }
+ type string {
+ pattern "(critical)|(flash)|(flash-override)|(immediate)|(internet)|(network)|(priority)|(routine)";
+ }
+ }
+ description
+ "Precedence value.
+ critical Critical precedence (5)
+ flash Flash precedence (3)
+ flash-override Flash override precedence (4)
+ immediate Immediate precedence (2)
+ internet Internetwork control precedence (6)
+ network Network control precedence (7)
+ priority Priority precedence (1)
+ routine Routine precedence (0)";
+ }
+
+ typedef Cos {
+ type uint8 {
+ range "0..7";
+ }
+ description
+ "Cos value.";
+ }
+
+ typedef Idle-timeout-number {
+ type uint16 {
+ range "10..2550";
+ }
+ units "seconds";
+ description
+ "String that idle-timeout can take.";
+ }
+
+ typedef Idle-timeout-string {
+ type string {
+ pattern "(None)|(none)";
+ }
+ description
+ "This flow does not expire.";
+ }
+
+ typedef Idle-timeout {
+ type union {
+ type Idle-timeout-number;
+ type Idle-timeout-string;
+ }
+ description
+ "Idle timeout.";
+ }
+
+ typedef Event-type {
+ type enumeration {
+ enum "account-logoff" {
+ description
+ "Account logoff event.";
+ }
+ enum "account-logon" {
+ description
+ "Account logon event.";
+ }
+ enum "authentication-failure" {
+ description
+ "Authentication failure event.";
+ }
+ enum "authentication-no-response" {
+ description
+ "Authentication no response event.";
+ }
+ enum "authorization-failure" {
+ description
+ "Authorization failure event.";
+ }
+ enum "authorization-no-response" {
+ description
+ "Authorization no response event.";
+ }
+ enum "credit-exhausted" {
+ description
+ "Credit exhaustion event.";
+ }
+ enum "exception" {
+ description
+ "Exception event.";
+ }
+ enum "idle-timeout" {
+ description
+ "Idle timeout event.";
+ }
+ enum "quota-depleted" {
+ description
+ "Quota depletion event.";
+ }
+ enum "service-start" {
+ description
+ "Service start event.";
+ }
+ enum "service-stop" {
+ description
+ "Service stop event.";
+ }
+ enum "session-activate" {
+ description
+ "Session activate event.";
+ }
+ enum "session-start" {
+ description
+ "Session start event.";
+ }
+ enum "session-stop" {
+ description
+ "Session stop event.";
+ }
+ enum "timer-expiry" {
+ description
+ "Timer expiry event.";
+ }
+ }
+ description
+ "Event type.";
+ }
+
+ typedef Execution-strategy {
+ type enumeration {
+ enum "do-all" {
+ description
+ "Do all actions.";
+ }
+ enum "do-until-failure" {
+ description
+ "Do all actions until failure.";
+ }
+ enum "do-until-success" {
+ description
+ "Do all actions until success.";
+ }
+ }
+ description
+ "Executuion strategy.";
+ }
+
+ typedef Authorize-identifier {
+ type enumeration {
+ enum "circuit-id" {
+ description
+ "Authorize circuit ID.";
+ }
+ enum "dhcp-client-id" {
+ description
+ "Authorize dhcp client ID.";
+ }
+ enum "remote-id" {
+ description
+ "Authorize remote ID.";
+ }
+ enum "source-address-ipv4" {
+ description
+ "Authorize source IPv4 address.";
+ }
+ enum "source-address-ipv6" {
+ description
+ "Authorize source IPv6 address.";
+ }
+ enum "source-address-mac" {
+ description
+ "Authorize source MAC address.";
+ }
+ enum "username" {
+ description
+ "Authorize username.";
+ }
+ }
+ description
+ "Authorize identifier.";
+ }
+
+ typedef dhcp-client-id-options {
+ type string {
+ pattern "(none)|(ascii)|(hex)";
+ }
+ description
+ "DHCP client Id Flag option.";
+ }
+
+ grouping MATCH {
+ description
+ "Supported 'match' or 'match-not' actions.";
+ leaf-list ipv4-dscp {
+ type Dscp-range;
+ ordered-by user;
+ description
+ "Match IPv4 DSCP.";
+ }
+ leaf-list ipv6-dscp {
+ type Dscp-range;
+ ordered-by user;
+ description
+ "Match IPv6 DSCP.";
+ }
+ leaf-list dscp {
+ type Dscp-range;
+ ordered-by user;
+ description
+ "Match DSCP.";
+ }
+ leaf-list ipv4-precedence {
+ type Precedence;
+ ordered-by user;
+ description
+ "Match IPv4 precedence.";
+ }
+ leaf-list ipv6-precedence {
+ type Precedence;
+ ordered-by user;
+ description
+ "Match IPv6 precedence.";
+ }
+ leaf-list precedence {
+ type Precedence;
+ ordered-by user;
+ description
+ "Match precedence.";
+ }
+ leaf-list qos-group {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match QoS group.
+ Should be value 0..512 or range.";
+ }
+ leaf-list traffic-class {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match Traffic Class.
+ Should be value 0..63 or range.";
+ }
+ leaf-list cos {
+ type Cos;
+ ordered-by user;
+ description
+ "Match CoS.";
+ }
+ leaf-list inner-cos {
+ type Cos;
+ ordered-by user;
+ description
+ "Match inner CoS.";
+ }
+ leaf dei {
+ type uint8 {
+ range "0..1";
+ }
+ description
+ "Match DEI bit.";
+ }
+ leaf dei-inner {
+ type uint8 {
+ range "0..1";
+ }
+ description
+ "Match DEI INNER bit.";
+ }
+ leaf-list protocol {
+ type Protocol;
+ ordered-by user;
+ description
+ "Match protocol.";
+ }
+ leaf ipv4-acl {
+ type string {
+ length "1..64";
+ }
+ description
+ "Match IPv4 ACL.";
+ }
+ leaf ipv6-acl {
+ type string {
+ length "1..64";
+ }
+ description
+ "Match IPv6 ACL.";
+ }
+ leaf ethernet-services-acl {
+ type string {
+ length "1..64";
+ }
+ description
+ "Match Ethernet Services";
+ }
+ leaf-list mpls-experimental-topmost {
+ type Cos;
+ ordered-by user;
+ description
+ "Match MPLS experimental topmost label.";
+ }
+ leaf-list mpls-experimental-imposition {
+ type Cos;
+ ordered-by user;
+ description
+ "Match MPLS experimental imposition label.";
+ }
+ leaf-list discard-class {
+ type Cos;
+ ordered-by user;
+ description
+ "Match discard class.";
+ }
+ leaf-list ipv4-packet-length {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match IPv4 packet length.
+ Should be value 0..65535 or range.";
+ }
+ leaf-list ipv6-packet-length {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match IPv6 packet length.
+ Should be value 0..65535 or range.";
+ }
+ leaf-list packet-length {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match packet length.
+ Should be value 0..65535 or range.";
+ }
+ leaf mpls-disposition-ipv4-access-list {
+ type string {
+ length "1..32";
+ }
+ description
+ "Match MPLS Label Disposition IPv4 access list.";
+ }
+ leaf mpls-disposition-ipv6-access-list {
+ type string {
+ length "1..32";
+ }
+ description
+ "Match MPLS Label Disposition IPv6 access list.";
+ }
+ leaf-list vlan {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match VLAN ID.";
+ }
+ leaf-list inner-vlan {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match inner VLAN ID.";
+ }
+ leaf-list flow-tag {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match flow-tag. Should be value 1..63 or range.";
+ }
+ leaf-list ethertype {
+ type Ethertype;
+ ordered-by user;
+ description
+ "Match Ethertype.";
+ }
+ list destination-address-ipv4 {
+ key "address netmask";
+ description
+ "Match destination IPv4 address.";
+ leaf address {
+ type inet:ipv4-address-no-zone;
+ description
+ "IPv4 address.";
+ }
+ leaf netmask {
+ type inet:ipv4-address-no-zone;
+ description
+ "IPv4 netmask.";
+ }
+ }
+ list destination-address-ipv6 {
+ key "address prefix-length";
+ description
+ "Match destination IPv6 address.";
+ leaf address {
+ type inet:ipv6-address-no-zone;
+ description
+ "IPv6 address.";
+ }
+ leaf prefix-length {
+ type uint8 {
+ range "0..128";
+ }
+ description
+ "IPv6 prefix length.";
+ }
+ }
+ leaf-list destination-port {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match destination port.
+ Should be value 0..65535 or range.";
+ }
+ leaf-list fragment-type {
+ type string {
+ pattern "(first-fragment)|(is-fragment)|(last-fragment)";
+ }
+ max-elements "3";
+ ordered-by user;
+ description
+ "Match fragment type for a packet.";
+ }
+ leaf-list frame-relay-dlci {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match frame-relay DLCI value.
+ Should be value 16..1007 or range.";
+ }
+ leaf fr-de {
+ type uint8 {
+ range "0..1";
+ }
+ description
+ "Set FrameRelay DE bit.";
+ }
+ leaf-list icmpv4-code {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match IPv4 ICMP code.
+ Should be value 0..255 or range.";
+ }
+ leaf-list icmpv4-type {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match IPv4 ICMP type.
+ Should be value 0..255 or range.";
+ }
+ leaf-list icmpv6-code {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match IPv6 ICMP code.
+ Should be value 0..255 or range.";
+ }
+ leaf-list icmpv6-type {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match IPv6 ICMP type.
+ Should be value 0..255 or range.";
+ }
+ list source-address-ipv4 {
+ key "address netmask";
+ description
+ "Match source IPv4 address.";
+ leaf address {
+ type inet:ipv4-address-no-zone;
+ description
+ "IPv4 address.";
+ }
+ leaf netmask {
+ type inet:ipv4-address-no-zone;
+ description
+ "IPv4 netmask.";
+ }
+ }
+ list source-address-ipv6 {
+ key "address prefix-length";
+ description
+ "Match source IPv6 address.";
+ leaf address {
+ type inet:ipv6-address-no-zone;
+ description
+ "IPv6 address.";
+ }
+ leaf prefix-length {
+ type uint8 {
+ range "0..128";
+ }
+ description
+ "IPv6 prefix length.";
+ }
+ }
+ leaf-list source-port {
+ type Num-range;
+ ordered-by user;
+ description
+ "Match source port.
+ Should be value 0..65535 or range.";
+ }
+ leaf tcp-flag {
+ type uint16 {
+ range "0..4095";
+ }
+ description
+ "Match TCP flags.";
+ }
+ leaf authen-status {
+ type string {
+ pattern "(authenticated)|(unauthenticated)";
+ }
+ description
+ "Match authentication status.";
+ }
+ leaf-list circuit-id {
+ type string {
+ length "1..32";
+ }
+ ordered-by user;
+ description
+ "Match Circuit ID.";
+ }
+ leaf-list circuit-id-regex {
+ type string {
+ length "1..32";
+ }
+ ordered-by user;
+ description
+ "Match Circuit id regex.";
+ }
+ list dhcp-client-id {
+ key "value flag";
+ description
+ "Match dhcp client ID.";
+ leaf value {
+ type string {
+ length "1..32";
+ }
+ description
+ "Dhcp client Id.";
+ }
+ leaf flag {
+ type dhcp-client-id-options;
+ description
+ "Dhcp client id Ascii/Hex";
+ }
+ }
+ list dhcp-client-id-regex {
+ key "value flag";
+ description
+ "Match dhcp client id regex.";
+ leaf value {
+ type string {
+ length "1..32";
+ }
+ description
+ "Dhcp client id regular expression.";
+ }
+ leaf flag {
+ type dhcp-client-id-options;
+ description
+ "Dhcp client Id regex Ascii/Hex.";
+ }
+ }
+ list domain-name {
+ key "name format";
+ description
+ "Match domain name.";
+ leaf name {
+ type string {
+ length "1..32";
+ }
+ description
+ "Domain name or regular expression.";
+ }
+ leaf format {
+ type string {
+ length "1..32";
+ }
+ description
+ "Domain-format name.";
+ }
+ }
+ list domain-name-regex {
+ key "regex format";
+ description
+ "Match domain name.";
+ leaf regex {
+ type string {
+ length "1..32";
+ }
+ description
+ "Domain name or regular expression.";
+ }
+ leaf format {
+ type string {
+ length "1..32";
+ }
+ description
+ "Domain-format name.";
+ }
+ }
+ leaf-list remote-id {
+ type string {
+ length "1..32";
+ }
+ ordered-by user;
+ description
+ "Match remote ID.";
+ }
+ leaf-list remote-id-regex {
+ type string {
+ length "1..32";
+ }
+ ordered-by user;
+ description
+ "Match remote id regex.";
+ }
+ leaf-list service-name {
+ type string {
+ length "1..32";
+ }
+ ordered-by user;
+ description
+ "Match servicve name.";
+ }
+ leaf-list service-name-regex {
+ type string {
+ length "1..32";
+ }
+ ordered-by user;
+ description
+ "Match servicve name regular expression.";
+ }
+ leaf-list timer {
+ type string {
+ length "1..32";
+ }
+ ordered-by user;
+ description
+ "Match timer.";
+ }
+ leaf-list timer-regex {
+ type string {
+ length "1..32";
+ }
+ ordered-by user;
+ description
+ "Match timer regular expression.";
+ }
+ leaf-list user-name {
+ type string {
+ length "1..32";
+ }
+ ordered-by user;
+ description
+ "Match user name.";
+ }
+ leaf-list user-name-regex {
+ type string {
+ length "1..32";
+ }
+ ordered-by user;
+ description
+ "Match user name regular expression.";
+ }
+ leaf-list source-mac {
+ type string;
+ ordered-by user;
+ description
+ "Match source MAC address.";
+ }
+ leaf-list destination-mac {
+ type string;
+ ordered-by user;
+ description
+ "Match destination MAC address.";
+ }
+ leaf vpls-control {
+ type empty;
+ description
+ "Match VPLS control";
+ }
+ leaf vpls-broadcast {
+ type empty;
+ description
+ "Match VPLS Broadcast";
+ }
+ leaf vpls-multicast {
+ type empty;
+ description
+ "Match VPLS Multicast";
+ }
+ leaf vpls-known {
+ type empty;
+ description
+ "Match VPLS Known";
+ }
+ leaf vpls-unknown {
+ type empty;
+ description
+ "Match VPLS Unknown";
+ }
+ }
+
+ grouping MATCH-MATCHNOT {
+ description
+ "match or match-not containers.";
+ container match {
+ description
+ "Match rules.";
+ uses MATCH;
+ leaf atm-clp {
+ type uint8 {
+ range "0..1";
+ }
+ description
+ "Match ATM CLP bit.";
+ }
+ leaf atm-oam {
+ type empty;
+ description
+ "Match ATM OAM.";
+ }
+ leaf cac-admit {
+ type empty;
+ description
+ "Match CAC admitted.";
+ }
+ leaf cac-unadmit {
+ type empty;
+ description
+ "Match CAC unadmitted.";
+ }
+ container flow {
+ description
+ "Match flow.";
+ leaf-list flow-key {
+ type string {
+ pattern "(SourceIP)|(DestinationIP)|(5Tuple)";
+ }
+ ordered-by user;
+ description
+ "Configure the flow-key parameters.";
+ }
+ container flow-cache {
+ description
+ "Configure the flow-cache parameters";
+ leaf idle-timeout {
+ type Idle-timeout;
+ description
+ "Maximum time of inactivity for a flow.";
+ }
+ }
+ }
+ }
+ container match-not {
+ description
+ "Match not rules.";
+ uses MATCH;
+ container flow {
+ description
+ "Match flow.";
+ leaf-list flow-tag {
+ type uint16 {
+ range "1..63";
+ }
+ ordered-by user;
+ description
+ "Configure the flow-tag parameters.";
+ }
+ }
+ }
+ }
+
+ grouping CLASS-MAP-RULE {
+ description
+ "Class-map rule";
+ leaf class-map-mode-match-any {
+ when "count(../class-map-mode-match-all) = 0" {
+ description
+ "Class MUST have only one mode.";
+ }
+ type empty;
+ description
+ "Match all match criteria";
+ }
+ leaf class-map-mode-match-all {
+ when "count(../class-map-mode-match-any) = 0" {
+ description
+ "Class MUST have only one mode.";
+ }
+ type empty;
+ description
+ "Match any match criteria.";
+ }
+ uses MATCH-MATCHNOT;
+ leaf description {
+ type string;
+ description
+ "Description for this policy-map.";
+ }
+ }
+
+ grouping POLICY-MARK {
+ description
+ "Policy packet marking actions.";
+ leaf dscp {
+ type Dscp;
+ description
+ "Marks a packet by setting the DSCP in the ToS byte.";
+ }
+ leaf qos-group {
+ type uint16 {
+ range "0..512";
+ }
+ description
+ "Sets the QoS group identifiers on IPv4 or MPLS packets.
+ The set qos-group is supported only on an ingress policy.";
+ }
+ leaf traffic-class {
+ type uint8 {
+ range "0..63";
+ }
+ description
+ "Sets the Traffic class identifiers on IPv4 or MPLS packets.";
+ }
+ leaf discard-class {
+ type uint8 {
+ range "0..7";
+ }
+ description
+ "Sets the discard class on IPv4 or MPLS packets.
+ The discard-class can be used only in service policies
+ that are attached in the ingress policy.";
+ }
+ leaf forward-class {
+ type uint8 {
+ range "0..7";
+ }
+ description
+ "Sets the forward class.";
+ }
+ leaf df {
+ type uint8 {
+ range "0..1";
+ }
+ description
+ "Set DF bit.";
+ }
+ leaf cos {
+ type uint8 {
+ range "0..7";
+ }
+ description
+ "Sets the specific IEEE 802.1Q Layer 2 CoS value of an
+ outgoing packet.
+ This command should be used by a router if a user wants
+ to mark a packet that is being sent to a switch.
+ Switches can leverage Layer 2 header information,
+ including a CoS value marking. Packets entering an
+ interface cannot be set with a CoS value.";
+ }
+ leaf inner-cos {
+ type uint8 {
+ range "0..7";
+ }
+ description
+ "Set inner cos.";
+ }
+ leaf precedence {
+ type Precedence;
+ description
+ "Sets the precedence value in the IP header.";
+ }
+ leaf precedence-tunnel {
+ type Precedence;
+ description
+ "Sets the precedence tunnel value for ipsec.";
+ }
+ leaf mpls-experimental-top-most {
+ type uint8 {
+ range "0..7";
+ }
+ description
+ "Sets the experimental value of the MPLS packet top-most
+ labels.";
+ }
+ leaf mpls-experimental-imposition {
+ type uint8 {
+ range "0..7";
+ }
+ description
+ "Sets the experimental value of the MPLS packet
+ imposition labels.
+ Imposition can be used only in service policies that
+ are attached in the ingress policy";
+ }
+ leaf srp-priority {
+ type uint8 {
+ range "0..7";
+ }
+ description
+ "Sets the spatial reuse protocol priority value of an
+ outgoing packet.";
+ }
+ leaf fr-de {
+ type uint8 {
+ range "0..1";
+ }
+ description
+ "Set FrameRelay DE bit.";
+ }
+ leaf dei {
+ type uint8 {
+ range "0..1";
+ }
+ description
+ "Set DEI bit.";
+ }
+ leaf dei-imposition {
+ type uint8 {
+ range "0..1";
+ }
+ description
+ "Set DEI imposition bit.";
+ }
+ leaf source-address {
+ type inet:ipv4-address-no-zone;
+ description
+ "Source IPv4 address.";
+ }
+ leaf destination-address {
+ type inet:ipv4-address-no-zone;
+ description
+ "Destination IPv4 address.";
+ }
+ }
+
+ grouping CAC-RATE-VALUE {
+ description
+ "CAC rate value.";
+ leaf value {
+ type uint32 {
+ range "1..4294967295";
+ }
+ must "../units" {
+ description
+ "units must be set.";
+ }
+ description
+ "Rate value.";
+ }
+ leaf units {
+ type Cac-rate-units;
+ description
+ "Rate units.";
+ }
+ }
+
+ grouping POLICE-ACTION {
+ description
+ "Police action.";
+ leaf Transmit {
+ type empty;
+ description
+ "Police action transmit.";
+ }
+ leaf drop {
+ type empty;
+ description
+ "Police action drop.";
+ }
+ container set {
+ description
+ "Police action packet marking.";
+ uses POLICY-MARK;
+ }
+ }
+
+ grouping POLICY-MAP-RULE {
+ description
+ "Class-map rule.";
+ list event {
+ key "event-type";
+ description
+ "Policy event.";
+ leaf event-type {
+ type Event-type;
+ description
+ "Event type.";
+ }
+ leaf event-mode-match-all {
+ when "count(../event-mode-match-first) = 0" {
+ description
+ "Event MUST have only one mode.";
+ }
+ type empty;
+ description
+ "Execute all the matched classes.";
+ }
+ leaf event-mode-match-first {
+ when "count(../event-mode-match-all) = 0" {
+ description
+ "Event MUST have only one mode.";
+ }
+ type empty;
+ description
+ "Execute only the first matched class.";
+ }
+ list class {
+ key "class-name class-type";
+ description
+ "Class-map rule.";
+ leaf class-name {
+ type string {
+ pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}";
+ }
+ description
+ "Name of class.";
+ }
+ leaf class-type {
+ type Pmap-class-map-type;
+ description
+ "Type of class.";
+ }
+ leaf class-execution-strategy {
+ type Execution-strategy;
+ description
+ "Class execution strategy.";
+ }
+ list action-rule {
+ key "action-sequence-number";
+ description
+ "Action rule.";
+ leaf action-sequence-number {
+ type uint16 {
+ range "1..65535";
+ }
+ description
+ "Sequence number for this action.";
+ }
+ container activate-dynamic-template {
+ presence
+ "This container is present only if actions is
+ related to dynamic templates.";
+ description
+ "Activate dynamic templates.";
+ leaf name {
+ type string;
+ mandatory true;
+ description
+ "Dynamic template name.";
+ }
+ leaf aaa-list {
+ type string;
+ description
+ "Name of the AAA method list.";
+ }
+ }
+ container authenticate {
+ description
+ "Authentication related configuration.";
+ leaf aaa-list {
+ type string;
+ description
+ "Name of the AAA method list.";
+ }
+ }
+ container authorize {
+ must "format or identifier" {
+ description
+ "format or identifier must be set.";
+ }
+ presence
+ "This container is present only if actions is
+ related to authorization.";
+ description
+ "Authorize.";
+ leaf aaa-list {
+ type string;
+ mandatory true;
+ description
+ "Name of the AAA method list.";
+ }
+ leaf format {
+ type string;
+ description
+ "Specify an Authorize format name.";
+ }
+ leaf identifier {
+ type Authorize-identifier;
+ description
+ "Specify an Authorize format name.";
+ }
+ leaf password {
+ type string;
+ mandatory true;
+ description
+ "Specify a password to be used for AAA
+ request.";
+ }
+ }
+ container deactivate-dynamic-template {
+ presence
+ "This container is present only if actions is
+ related to dynamic templates.";
+ description
+ "Deactivate dynamic templates.";
+ leaf name {
+ type string;
+ mandatory true;
+ description
+ "Dynamic template name.";
+ }
+ leaf aaa-list {
+ type string;
+ description
+ "Name of the AAA method list.";
+ }
+ }
+ leaf disconnect {
+ type empty;
+ description
+ "Disconnect session.";
+ }
+ leaf monitor {
+ type empty;
+ description
+ "Monitor session.";
+ }
+ container set-timer {
+ presence
+ "This container is present only if actions is
+ related to timer.";
+ description
+ "Set a timer to execute a rule on its
+ expiry";
+ leaf timer-name {
+ type string;
+ mandatory true;
+ description
+ "Name of the timer.";
+ }
+ leaf timer-value {
+ type uint32;
+ units "minutes";
+ mandatory true;
+ description
+ "Timer value in minutes.";
+ }
+ }
+ container stop-timer {
+ description
+ "Disable timer before it expires.";
+ leaf timer-name {
+ type string;
+ description
+ "Name of the timer.";
+ }
+ }
+ }
+ }
+ }
+ list policy-map-rule {
+ key "class-name class-type";
+ description
+ "Class-map rule.";
+ leaf class-name {
+ type string {
+ pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}";
+ }
+ description
+ "Name of class-map.";
+ }
+ leaf class-type {
+ type Pmap-class-map-type;
+ description
+ "Type of class-map.";
+ }
+ container shape {
+ must "rate" {
+ description
+ "rate container must be present.";
+ }
+ description
+ "Policy action shape.";
+ container rate {
+ description
+ "Rate configuration.";
+ leaf value {
+ type uint32;
+ must "../unit" {
+ description
+ "unit must be set.";
+ }
+ description
+ "Shape bandwidth value.";
+ }
+ leaf unit {
+ type Bandwidth-units;
+ description
+ "Shape bandwidth units.";
+ }
+ }
+ container burst {
+ description
+ "Burst size configuration.";
+ leaf value {
+ type uint32;
+ must "../units" {
+ description
+ "units must be set.";
+ }
+ description
+ "Burst size value.";
+ }
+ leaf units {
+ type Threshold-units;
+ description
+ "Burst size units.";
+ }
+ }
+ }
+ container min-bandwidth {
+ description
+ "Policy action minimum bandwidth queue.";
+ leaf value {
+ type uint32;
+ must "../unit" {
+ description
+ "unit must be set.";
+ }
+ description
+ "Minimum bandwidth value.";
+ }
+ leaf unit {
+ type Bandwidth-units;
+ description
+ "Minimum bandwidth units.";
+ }
+ }
+ container bandwidth-remaining {
+ description
+ "Policy action bandwidth remaining queue.";
+ leaf value {
+ type uint32;
+ must "../unit" {
+ description
+ "unit must be set.";
+ }
+ description
+ "Remaining bandwidth value.";
+ }
+ leaf unit {
+ type Bandwidth-remaining-units;
+ description
+ "Remaining bandwidth units.";
+ }
+ }
+ container queue-limit {
+ description
+ "Policy action queue limit.";
+ leaf value {
+ type uint32;
+ must "../unit" {
+ description
+ "unit must be set.";
+ }
+ description
+ "Remaining bandwidth value.";
+ }
+ leaf unit {
+ type Queue-units;
+ description
+ "Remaining bandwidth units.";
+ }
+ }
+ container pfc {
+ description
+ "Policy action pfc.";
+ leaf pfc-pause-set {
+ type empty;
+ description
+ "Pfc Pause set value.";
+ }
+ container pfc-buffer-size {
+ leaf value {
+ type uint32;
+ must "../unit" {
+ description
+ "unit must be set.";
+ }
+ description
+ "Pfc buffer size value.";
+ }
+ leaf unit {
+ type Pfc-units;
+ description
+ "Pfc buffer size units.";
+ }
+ }
+ container pfc-pause-threshold {
+ leaf value {
+ type uint32;
+ must "../unit" {
+ description
+ "unit must be set.";
+ }
+ description
+ "Pfc pause threshold value.";
+ }
+ leaf unit {
+ type Pfc-units;
+ description
+ "Pfc pause threshold units.";
+ }
+ }
+ container pfc-resume-threshold {
+ leaf value {
+ type uint32;
+ must "../unit" {
+ description
+ "unit must be set.";
+ }
+ description
+ "Pfc resume threshold value.";
+ }
+ leaf unit {
+ type Pfc-units;
+ description
+ "Pfc resume threshold units.";
+ }
+ }
+ }
+ leaf priority-level {
+ type uint8 {
+ range "1..7";
+ }
+ description
+ "Priority level.";
+ }
+ leaf default-red {
+ type empty;
+ description
+ "Default random early detection";
+ }
+ leaf ecn-red {
+ type empty;
+ description
+ "ECN based random early detection";
+ }
+ list random-detect {
+ key "threshold-min-value threshold-min-units threshold-max-value threshold-max-units";
+ description
+ "Random early detection.
+ All RED profiles in a class must be based
+ on the same field.";
+ leaf threshold-min-value {
+ type uint32;
+ description
+ "Minimum RED threshold value.";
+ }
+ leaf threshold-min-units {
+ type Threshold-units;
+ description
+ "Minimum RED threshold units.";
+ }
+ leaf threshold-max-value {
+ type uint32;
+ description
+ "Maximum RED threshold value.";
+ }
+ leaf threshold-max-units {
+ type Threshold-units;
+ description
+ "Maximum RED threshold units.";
+ }
+ leaf-list cos {
+ type Dscp-range;
+ ordered-by user;
+ description
+ "WRED based on CoS.";
+ }
+ leaf-list discard-class {
+ type Cos;
+ ordered-by user;
+ description
+ "WRED based on discard class.";
+ }
+ leaf-list dscp {
+ type Dscp-range;
+ ordered-by user;
+ description
+ "WRED based on DSCP.";
+ }
+ leaf-list mpls-exp {
+ type Cos;
+ ordered-by user;
+ description
+ "MPLS Experimental value based WRED.";
+ }
+ leaf-list precedence {
+ type Precedence;
+ ordered-by user;
+ description
+ "WRED based on precedence.";
+ }
+ leaf dei {
+ type uint8 {
+ range "0..1";
+ }
+ description
+ "DEI based WRED.";
+ }
+ leaf ecn {
+ type empty;
+ description
+ "ECN based WRED.";
+ }
+ }
+ container set {
+ description
+ "Policy action packet marking.";
+ uses POLICY-MARK;
+ }
+ container police {
+ must "rate" {
+ description
+ "rate container must be present.";
+ }
+ description
+ "Configures traffic policing action.";
+ container rate {
+ description
+ "Rate configuration.";
+ leaf value {
+ type uint32;
+ must "../units" {
+ description
+ "units must be set.";
+ }
+ description
+ "Rate value.";
+ }
+ leaf units {
+ type Rate-units;
+ description
+ "Rate units.";
+ }
+ }
+ container peak-rate {
+ description
+ "Peak rate configuration.";
+ leaf value {
+ type uint32;
+ must "../units" {
+ description
+ "units must be set.";
+ }
+ description
+ "Peak rate value.";
+ }
+ leaf units {
+ type Rate-units;
+ description
+ "Peak rate units.";
+ }
+ }
+ container burst {
+ description
+ "Burst configuration.";
+ leaf value {
+ type uint32;
+ must "../units" {
+ description
+ "units must be set.";
+ }
+ description
+ "Burst value.";
+ }
+ leaf units {
+ type Threshold-units;
+ description
+ "Burst units.";
+ }
+ }
+ container peak-burst {
+ description
+ "Peak burst configuration.";
+ leaf value {
+ type uint32;
+ must "../units" {
+ description
+ "units must be set.";
+ }
+ description
+ "Peak burst value.";
+ }
+ leaf units {
+ type Threshold-units;
+ description
+ "Peak burst units.";
+ }
+ }
+ container conform-action {
+ description
+ "Configures the action to take on packets that conform
+ to the rate limit.";
+ uses POLICE-ACTION;
+ }
+ container exceed-action {
+ description
+ "Configures the action to take on packets that exceed
+ the rate limit.";
+ uses POLICE-ACTION;
+ }
+ container violate-action {
+ description
+ "Configures the action to take on packets that violate
+ the rate limit.";
+ uses POLICE-ACTION;
+ }
+ }
+ container service-policy {
+ description
+ "Configure a child service policy.";
+ leaf policy-name {
+ type string {
+ pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}";
+ }
+ description
+ "Name of service-policy.";
+ }
+ leaf type {
+ type Service-policy-type;
+ description
+ "Type of service-policy.";
+ }
+ }
+ container cac-local {
+ description
+ "Policy action CAC.";
+ container rate {
+ description
+ "The rate allocated for all flows.";
+ uses CAC-RATE-VALUE;
+ }
+ container flow-rate {
+ description
+ "The rate allocated per flow.";
+ uses CAC-RATE-VALUE;
+ }
+ leaf flow-idle-timeout {
+ type Idle-timeout;
+ description
+ "The interval after which a flow is removed,
+ if there is no activity.
+ If timeout is 0 this flow does not expire.";
+ }
+ }
+ container flow-params {
+ description
+ "Policy flow monitoring action.";
+ leaf max-flow {
+ type uint16 {
+ range "0..4096";
+ }
+ description
+ "Max simultaneous flows monitored per policy class";
+ }
+ leaf interval-duration {
+ type uint32;
+ units "seconds";
+ description
+ "Monitored interval duration.";
+ }
+ leaf history {
+ type uint32;
+ description
+ "Keep stats/metrics on box for so many intervals.";
+ }
+ leaf timeout {
+ type uint32;
+ units "seconds";
+ description
+ "Declare a flow dead if no packets received in
+ so much time";
+ }
+ }
+ container metrics-ipcbr {
+ description
+ "Policy IP-CBR metric action.";
+ container rate {
+ description
+ "Nominal per-flow data rate.";
+ leaf layer3 {
+ type uint32;
+ units "bps";
+ description
+ "Nominal rate specified at the L3 (IP).";
+ }
+ leaf packet {
+ type uint32;
+ units "pps";
+ description
+ "Nominal IP layer packet rate (in pps).";
+ }
+ leaf media {
+ type uint32 {
+ range "1..3000000000";
+ }
+ units "bps";
+ description
+ "Nominal data rate of the media flow (ip payload).";
+ }
+ }
+ container media-packet {
+ description
+ "Media-packet structure.";
+ leaf size {
+ type uint16;
+ units "bytes";
+ description
+ "Nominal size of the media-packet.";
+ }
+ leaf count-in-layer3 {
+ type uint8 {
+ range "1..64";
+ }
+ units "packets";
+ description
+ "Nominal number of media packets in an IP payload.";
+ }
+ }
+ }
+ container react {
+ description
+ "Policy action react.";
+ leaf descrition {
+ type string;
+ description
+ "String describing the react statement.";
+ }
+ container action {
+ description
+ "Action on alert.";
+ leaf syslog {
+ type empty;
+ description
+ "Syslog.";
+ }
+ leaf snmp {
+ type empty;
+ description
+ "SNMP.";
+ }
+ }
+ container alarm {
+ description
+ "Alaram settings.";
+ container type {
+ description
+ "Alarm type.";
+ leaf discrete {
+ type empty;
+ description
+ "Discrete alarm type.";
+ }
+ leaf group-count {
+ type uint16;
+ units "number of flows";
+ description
+ "Number of flows to reach before
+ triggering alarm";
+ }
+ leaf group-percent {
+ type uint16;
+ units "percentage";
+ description
+ "Percent to reach before triggering alarm";
+ }
+ }
+ leaf severity {
+ type Alarm-severity;
+ description
+ "Severity of the alarm.";
+ }
+ }
+ container threshold {
+ description
+ "Alarm threshold settings.";
+ container trigger-value {
+ description
+ "Alarm trigger value settings.";
+ leaf greater-than {
+ type string;
+ description
+ "Greater than";
+ }
+ leaf greater-than-equal {
+ type string;
+ description
+ "Greater than equal";
+ }
+ leaf less-than {
+ type string;
+ description
+ "Less than";
+ }
+ leaf less-than-equal {
+ type string;
+ description
+ "Less than equal";
+ }
+ leaf range {
+ type string;
+ description
+ "Range";
+ }
+ }
+ container trigger-type {
+ description
+ "Alarm trigger type settings.";
+ leaf immediate {
+ type empty;
+ description
+ "Immediate trigger.";
+ }
+ leaf average {
+ type uint32;
+ description
+ "Trigger averaged over N intervals.";
+ }
+ }
+ }
+ leaf criterion-delay-factor {
+ type empty;
+ description
+ "React criterion delay factor.";
+ }
+ leaf criterion-media-stop {
+ type empty;
+ description
+ "React criterion media stop.";
+ }
+ leaf criterion-mrv {
+ type empty;
+ description
+ "React criterion mrv.";
+ }
+ leaf criterion-flow-count {
+ type empty;
+ description
+ "React criterion flow count.";
+ }
+ leaf criterion-packet-rate {
+ type empty;
+ description
+ "React criterion packet rate.";
+ }
+ }
+ leaf http-redirect {
+ type string;
+ description
+ "Policy action http redirect.
+ Redirect to this url.";
+ }
+ leaf pbr-transmit {
+ type empty;
+ description
+ "Policy action PBR transmit.";
+ }
+ leaf pbr-drop {
+ type empty;
+ description
+ "Policy action PBR drop.";
+ }
+ leaf decap-gre {
+ type empty;
+ description
+ "Policy action DECAP GRE.";
+ }
+ container pbr-redirect {
+ description
+ "Policy action redirect";
+ container ipv4 {
+ description
+ "Policy action redirect IPv4";
+ leaf ipv4-next-hop {
+ type inet:ipv4-address-no-zone;
+ description
+ "IPv4 address.";
+ }
+ leaf vrf {
+ type string;
+ description
+ "IPv4 VRF.";
+ }
+ }
+ container ipv6 {
+ description
+ "Policy action redirect IPv6";
+ leaf ipv6-next-hop {
+ type inet:ipv6-address-no-zone;
+ description
+ "IPv6 address.";
+ }
+ leaf vrf {
+ type string;
+ description
+ "IPv6 VRF.";
+ }
+ }
+ container next-hop {
+ description
+ "Next hop address.";
+ container route-target {
+ description
+ "Route Target";
+ container ipv4-address {
+ description
+ "IPv4 address.";
+ leaf address {
+ type inet:ipv4-address-no-zone;
+ description
+ "IPv4 address.";
+ }
+ leaf netmask {
+ type string;
+ description
+ "IPv4 netmask.";
+ }
+ }
+ leaf as-number {
+ type uint32 {
+ range "1..4294967295";
+ }
+ description
+ "2-byte/4-byte AS number";
+ }
+ leaf index {
+ type uint32 {
+ range "0..4294967295";
+ }
+ description
+ "ASN2:index 2/4 byte (hex or decimal format)";
+ }
+ }
+ }
+ }
+ container pbr-forward {
+ description
+ "Policy action PBR forward.";
+ leaf default {
+ type empty;
+ description
+ "Use system default routing table.";
+ }
+ container next-hop {
+ description
+ "Use specific next-hop.
+ Here we present 5 different combination
+ for the pbf next-hop.
+ 1. vrf with v6 address
+ 2. vrf with v4 address
+ 3. vrf
+ 4. v4 address
+ 5. v6 address";
+ leaf vrf {
+ type string;
+ description
+ "VRF name.";
+ }
+ leaf ipv4-address {
+ type inet:ipv4-address;
+ description
+ "IPv4 address.";
+ }
+ leaf ipv6-address {
+ type inet:ipv6-address;
+ description
+ "IPv6 address.";
+ }
+ }
+ }
+ leaf service-fragment {
+ type string;
+ description
+ "Policy action service fragment.
+ Service fragment name";
+ }
+ leaf fragment {
+ type string;
+ description
+ "Policy action fragment. Fragment name";
+ }
+ container service-function-path {
+ presence
+ "This container is present for service-
+ function-path configuration";
+ description
+ "Policy action service function path.";
+ leaf path-id {
+ type uint32 {
+ range "1..16777215";
+ }
+ mandatory true;
+ description
+ "Service function path id.";
+ }
+ leaf index {
+ type uint8 {
+ range "1..255";
+ }
+ mandatory true;
+ description
+ "Service function path index.";
+ }
+ leaf metadata {
+ type string;
+ description
+ "Service function path metadata name.";
+ }
+ }
+ }
+ leaf description {
+ type string;
+ description
+ "Description for this policy-map.";
+ }
+ }
+
+ container policy-manager {
+ description
+ "Global Policy Manager configuration.";
+ container class-maps {
+ description
+ "Class-maps configuration.";
+ list class-map {
+ key "type name";
+ description
+ "Class-map configuration.";
+ leaf type {
+ type Class-map-type;
+ description
+ "Type of class-map.";
+ }
+ leaf name {
+ type string {
+ pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}";
+ }
+ description
+ "Name of class-map.";
+ }
+ uses CLASS-MAP-RULE;
+ }
+ }
+ container policy-maps {
+ description
+ "Policy-maps configuration.";
+ list policy-map {
+ key "type name";
+ description
+ "Policy-map configuration.";
+ leaf type {
+ type Policy-map-type;
+ description
+ "Type of policy-map.";
+ }
+ leaf name {
+ type string {
+ pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}";
+ }
+ description
+ "Name of policy-map.";
+ }
+ uses POLICY-MAP-RULE;
+ }
+ }
+ }
+}
module Cisco-IOS-XR-ip-static-cfg {
-
- /*** NAMESPACE / PREFIX DEFINITION ***/
-
namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-static-cfg";
+ prefix ip-static-cfg;
+ import ietf-inet-types {
+ prefix inet;
+ }
+ import Cisco-IOS-XR-types {
+ prefix xr;
+ }
- prefix "ip-static-cfg";
-
- /*** LINKAGE (IMPORTS / INCLUDES) ***/
-
- import ietf-inet-types { prefix "inet"; revision-date 2013-07-15;}
-
- import Cisco-IOS-XR-types { prefix "xr"; }
-
- /*** META INFORMATION ***/
-
- organization "Cisco Systems, Inc.";
-
+ organization
+ "Cisco Systems, Inc.";
contact
"Cisco Systems, Inc.
Customer Service
-
+
Postal: 170 West Tasman Drive
San Jose, CA 95134
-
+
Tel: +1 800 553-NETS
-
+
E-mail: cs-yang@cisco.com";
-
- description
+ description
"This module contains a collection of YANG definitions
for Cisco IOS-XR ip-static package configuration.
-
+
This module contains definitions
for the following management objects:
router-static: This class represents router static
configuration
-
- Copyright (c) 2013-2015 by Cisco Systems, Inc.
+
+ Copyright (c) 2013-2017 by Cisco Systems, Inc.
All rights reserved.";
- revision "2015-09-10" {
+ revision 2017-05-01 {
+ description
+ "Fixing backward compatibility error in module.";
+ }
+ revision 2015-09-10 {
description
"Descriptions updated.";
}
-
- revision "2015-01-07" {
+ revision 2015-01-07 {
description
"IOS XR 5.3.1 revision.";
}
-
grouping VRF-ROUTE {
- description "Common node of vrf-prefix, vrf-prefix-topology";
-
+ description
+ "Common node of vrf-prefix, vrf-prefix-topology";
container vrf-route {
- xr:xr-xml-map "ip_static_cfg:VRFRoute";
- description "A connected or recursive static route";
-
+ description
+ "A connected or recursive static route";
container vrf-next-hop-table {
- xr:xr-xml-map "ip_static_cfg:VRFNextHopTable";
description
"The set of nexthop information configured for
- this route";
+ this route";
uses VRF-NEXT-HOP;
}
}
grouping VRF-NEXT-HOP {
description
"Common node of vrf-next-hop-table,
- segment-route-next-hop-table";
+ vrf-recursive-next-hop-table,
+ segment-route-next-hop-table";
grouping VRF-NEXT-HOP-CONTENT {
- description "VRF NEXT HOP CONTENT";
+ description
+ "VRF NEXT HOP CONTENT";
leaf bfd-fast-detect {
- xr:xr-xml-map "ip_static_cfg:BFDFastDetect";
type boolean;
default "false";
- description "If set, bfd is enabled";
+ description
+ "If set, bfd is enabled";
}
leaf minimum-interval {
- xr:xr-xml-map "ip_static_cfg:MinimumInterval";
type uint32 {
range "3..30000";
}
units "millisecond";
default "100";
- description "BFD Hello interval in milliseconds";
+ description
+ "BFD Hello interval in milliseconds";
}
leaf detect-multiplier {
- xr:xr-xml-map "ip_static_cfg:DetectMultiplier";
type uint32 {
range "1..10";
}
default "3";
- description "BFD Detect Multiplier";
+ description
+ "BFD Detect Multiplier";
}
leaf metric {
- xr:xr-xml-map "ip_static_cfg:Metric";
type uint32 {
range "1..254";
}
default "1";
- description "Distance metric for this path";
+ description
+ "Distance metric for this path";
}
leaf tag {
- xr:xr-xml-map "ip_static_cfg:Tag";
type uint32 {
range "1..4294967295";
}
- description "Tag for this path";
+ description
+ "Tag for this path";
}
leaf permanent {
- xr:xr-xml-map "ip_static_cfg:Permanent";
type boolean;
default "false";
- description "If set, path is permanent";
+ description
+ "If set, path is permanent";
}
leaf vrf-lable {
- xr:xr-xml-map "ip_static_cfg:VRFLable";
type uint32 {
range "0..4294967295";
}
default "0";
- description "VRF LABEL";
+ description
+ "VRF LABEL";
}
leaf tunnel-id {
- xr:xr-xml-map "ip_static_cfg:TunnelID";
type uint32 {
range "0..65535";
}
default "0";
- description "Tunnel ID for this path";
+ description
+ "Tunnel ID for this path";
}
leaf object-name {
- xr:xr-xml-map "ip_static_cfg:ObjectName";
type xr:Cisco-ios-xr-string {
- length "0..32";
+ length "1..32";
}
- description "Name of the object to track";
+ description
+ "Name of the object to track";
}
leaf description {
- xr:xr-xml-map "ip_static_cfg:Description";
type string;
- description "Short Description of Static Route";
+ description
+ "Short Description of Static Route";
}
leaf load-metric {
- xr:xr-xml-map "ip_static_cfg:Load_Metric";
type uint32 {
range "1..16777214";
}
default "1";
- description "UCMP load metric";
+ description
+ "UCMP load metric";
+ }
+ leaf index {
+ type string;
+ description
+ "Nexthop Identifier for OC Yang model";
}
}
-
list vrf-next-hop-interface-name {
key "interface-name";
description
"A forwarding interface or Segement Routing mpls
- path name and/or the address of a nexthop router
- for this route (one of these must be specified)";
+ path name and/or the address of a nexthop router
+ for this route (one of these must be specified)";
leaf interface-name {
- xr:xr-xml-map "ip_static_cfg:InterfaceName";
type xr:Interface-name;
- description "Forwarding interface";
+ description
+ "Forwarding interface";
}
uses VRF-NEXT-HOP-CONTENT;
}
-
list vrf-next-hop-interface-name-next-hop-address {
key "interface-name next-hop-address";
description
"A forwarding interface or Segement Routing mpls
- path name and/or the address of a nexthop router
- for this route (one of these must be specified)";
+ path name and/or the address of a nexthop router
+ for this route (one of these must be specified)";
leaf interface-name {
- xr:xr-xml-map "ip_static_cfg:InterfaceName";
type xr:Interface-name;
- description "Forwarding interface";
+ description
+ "Forwarding interface";
}
leaf next-hop-address {
- xr:xr-xml-map "ip_static_cfg:NextHopAddress";
type inet:ip-address-no-zone;
- description "Next hop address";
+ description
+ "Next hop address";
}
uses VRF-NEXT-HOP-CONTENT;
}
-
list vrf-next-hop-next-hop-address {
key "next-hop-address";
description
"A forwarding interface or Segement Routing mpls
- path name and/or the address of a nexthop router
- for this route (one of these must be specified)";
+ path name and/or the address of a nexthop router
+ for this route (one of these must be specified)";
leaf next-hop-address {
- xr:xr-xml-map "ip_static_cfg:NextHopAddress";
type inet:ip-address-no-zone;
- description "Next hop address";
+ description
+ "Next hop address";
}
uses VRF-NEXT-HOP-CONTENT;
}
-
list vrf-next-hop-next-hop-address-explicit-path-name {
key "next-hop-address explicit-path-name";
description
"A forwarding interface or Segement Routing mpls
- path name and/or the address of a nexthop router
- for this route (one of these must be specified)";
+ path name and/or the address of a nexthop router
+ for this route (one of these must be specified)";
leaf next-hop-address {
- xr:xr-xml-map "ip_static_cfg:NextHopAddress";
type inet:ip-address-no-zone;
- description "Next hop address";
+ description
+ "Next hop address";
}
leaf explicit-path-name {
- xr:xr-xml-map "ip_static_cfg:ExplicitPathName";
type xr:Cisco-ios-xr-string;
- description "Segment Routing mpls path name";
+ description
+ "Segment Routing mpls path name";
}
uses VRF-NEXT-HOP-CONTENT;
}
-
list vrf-next-hop-explicit-path-name {
key "explicit-path-name";
description
"A forwarding interface or Segement Routing mpls
- path name and/or the address of a nexthop router
- for this route (one of these must be specified)";
+ path name and/or the address of a nexthop router
+ for this route (one of these must be specified)";
leaf explicit-path-name {
- xr:xr-xml-map "ip_static_cfg:ExplicitPathName";
type xr:Cisco-ios-xr-string;
- description "Segment Routing mpls path name";
+ description
+ "Segment Routing mpls path name";
}
uses VRF-NEXT-HOP-CONTENT;
}
}
grouping VRF-SEG-ROUTE {
- description "Common node of vrf-prefix, vrf-prefix-topology";
-
+ description
+ "Common node of vrf-prefix, vrf-prefix-topology";
container vrf-seg-route {
- xr:xr-xml-map "ip_static_cfg:VRFSegRoute";
- description "A static segment route";
-
+ description
+ "A static segment route";
container segment-route-next-hop-table {
- xr:xr-xml-map "ip_static_cfg:SegmentRouteNextHopTable";
description
"The set of nexthop information configured for
- this route";
+ this route";
uses VRF-NEXT-HOP;
}
}
}
- grouping TOPOLOGY-TABLE {
- description "Common node of vrf-unicast, vrf-multicast";
+ grouping VRF-RECURSE-ROUTE-TABLE {
+ description
+ "Common node of vrf-prefix, vrf-prefix-topology";
+ container vrf-recurse-routes {
+ description
+ "A recursive next VRF static route";
+ list vrf-recurse-route {
+ key "vrf-name";
+ description
+ "A recursive next vrf static route";
+ container vrf-recursive-next-hop-table {
+ description
+ "The set of nexthop information configured for
+ this route";
+ uses VRF-NEXT-HOP;
+ }
+ leaf vrf-name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "Fallback or recusive VRF name";
+ }
+ }
+ }
+ }
+ grouping TOPOLOGY-TABLE {
+ description
+ "Common node of vrf-unicast, vrf-multicast";
container topologies {
- xr:xr-xml-map "ip_static_cfg:TopologyTable";
- description "Topology static configuration container";
-
+ description
+ "Topology static configuration container";
list topology {
- xr:xr-xml-map "ip_static_cfg:Topology";
key "topology-name";
- description "Topology static configuration";
+ description
+ "Topology static configuration";
leaf topology-name {
- xr:xr-xml-map "ip_static_cfg:TopologyName";
type xr:Cisco-ios-xr-string;
- description "Topology name";
+ description
+ "Topology name";
}
uses VRF-PREFIX-TOPOLOGY-TABLE;
}
}
grouping VRF-PREFIX-TABLE {
- description "Common node of vrf-unicast, vrf-multicast";
-
+ description
+ "Common node of vrf-unicast, vrf-multicast";
container vrf-prefixes {
- xr:xr-xml-map "ip_static_cfg:VRFPrefixTable";
- description "The set of all Static Topologies for this AFI.";
-
+ description
+ "The set of all Static Topologies for this AFI.";
list vrf-prefix {
- xr:xr-xml-map "ip_static_cfg:VRFPrefix";
key "prefix prefix-length";
- description "A static route";
+ description
+ "A static route";
leaf prefix {
- xr:xr-xml-map "ip_static_cfg:Prefix";
type inet:ip-address-no-zone;
- description "Destination prefix";
+ description
+ "Destination prefix";
}
leaf prefix-length {
- xr:xr-xml-map "ip_static_cfg:PrefixLength";
type uint32 {
range "0..128";
}
- description "Destination prefix length";
+ description
+ "Destination prefix length";
}
uses VRF-ROUTE;
+ uses VRF-RECURSE-ROUTE-TABLE;
uses VRF-SEG-ROUTE;
}
}
}
grouping ADDRESS-FAMILY {
- description "Common node of default-vrf, vrf";
-
+ description
+ "Common node of default-vrf, vrf";
container address-family {
- xr:xr-xml-map "ip_static_cfg:AddressFamily";
- description "Address family configuration";
-
+ description
+ "Address family configuration";
container vrfipv4 {
- xr:xr-xml-map "ip_static_cfg:VRFIPV4";
- description "IPv4 static configuration";
+ description
+ "IPv4 static configuration";
uses VRF-UNICAST;
uses VRF-MULTICAST;
}
-
container vrfipv6 {
- xr:xr-xml-map "ip_static_cfg:VRFIPV6";
- description "IPv6 static configuration";
+ description
+ "IPv6 static configuration";
uses VRF-UNICAST;
uses VRF-MULTICAST;
}
}
grouping VRF-PREFIX-TOPOLOGY-TABLE {
- description "Common node of default-topology, topology";
-
+ description
+ "Common node of default-topology, topology";
container vrf-prefix-topologies {
- xr:xr-xml-map "ip_static_cfg:VRFPrefixTopologyTable";
- description "The set of all Static Topologies for this AFI.";
-
+ description
+ "The set of all Static Topologies for this AFI.";
list vrf-prefix-topology {
- xr:xr-xml-map "ip_static_cfg:VRFPrefixTopology";
key "prefix prefix-length";
- description "A static route";
+ description
+ "A static route";
leaf prefix {
- xr:xr-xml-map "ip_static_cfg:Prefix";
type inet:ip-address-no-zone;
- description "Destination prefix";
+ description
+ "Destination prefix";
}
leaf prefix-length {
- xr:xr-xml-map "ip_static_cfg:PrefixLength";
type uint32 {
range "0..128";
}
- description "Destination prefix length";
+ description
+ "Destination prefix length";
}
uses VRF-ROUTE;
+ uses VRF-RECURSE-ROUTE-TABLE;
uses VRF-SEG-ROUTE;
}
}
}
grouping DEFAULT-TOPOLOGY {
- description "Common node of vrf-unicast, vrf-multicast";
-
+ description
+ "Common node of vrf-unicast, vrf-multicast";
container default-topology {
- xr:xr-xml-map "ip_static_cfg:DefaultTopology";
- description "Default topology configuration";
+ description
+ "Default topology configuration";
uses VRF-PREFIX-TOPOLOGY-TABLE;
}
}
grouping VRF-UNICAST {
- description "Common node of vrfipv4, vrfipv6";
-
+ description
+ "Common node of vrfipv4, vrfipv6";
container vrf-unicast {
- xr:xr-xml-map "ip_static_cfg:VRFUnicast";
- description "Unicast static configuration";
+ description
+ "Unicast static configuration";
uses TOPOLOGY-TABLE;
uses VRF-PREFIX-TABLE;
uses DEFAULT-TOPOLOGY;
}
grouping VRF-MULTICAST {
- description "Common node of vrfipv4, vrfipv6";
-
+ description
+ "Common node of vrfipv4, vrfipv6";
container vrf-multicast {
- xr:xr-xml-map "ip_static_cfg:VRFMulticast";
- description "Multicast static configuration";
+ description
+ "Multicast static configuration";
uses TOPOLOGY-TABLE;
uses VRF-PREFIX-TABLE;
uses DEFAULT-TOPOLOGY;
}
container router-static {
- xr:xr-xml-map "ip_static_cfg:RouterStatic";
- description "This class represents router static configuration";
-
+ description
+ "This class represents router static configuration";
container vrfs {
- xr:xr-xml-map "ip_static_cfg:VRFTable";
- description "VRF static configuration container";
-
+ description
+ "VRF static configuration container";
list vrf {
- xr:xr-xml-map "ip_static_cfg:VRF";
key "vrf-name";
- description "VRF static configuration";
+ description
+ "VRF static configuration";
leaf vrf-name {
- xr:xr-xml-map "ip_static_cfg:VRFName";
type xr:Cisco-ios-xr-string;
- description "VRF name";
+ description
+ "VRF name";
}
uses ADDRESS-FAMILY;
}
}
-
container default-vrf {
- xr:xr-xml-map "ip_static_cfg:DefaultVRF";
- description "Default VRF configuration";
+ description
+ "Default VRF configuration";
uses ADDRESS-FAMILY;
}
-
container maximum-routes {
- xr:xr-xml-map "ip_static_cfg:MaximumRoutes";
description
"The maximum number of static routes that can be
- configured.";
+ configured.";
leaf ipv6-routes {
- xr:xr-xml-map "ip_static_cfg:IPV6Routes";
type uint32 {
range "1..140000";
}
default "4000";
description
"The maximum number of static routes that can be
- configured for IPv6 AFI.";
+ configured for IPv6 AFI.";
}
leaf ipv4-routes {
- xr:xr-xml-map "ip_static_cfg:IPV4Routes";
type uint32 {
range "1..140000";
}
default "4000";
description
"The maximum number of static routes that can be
- configured for IPv4 AFI.";
+ configured for IPv4 AFI.";
}
}
}
-}
\ No newline at end of file
+}
module Cisco-IOS-XR-l2-eth-infra-cfg {
-
- /*** NAMESPACE / PREFIX DEFINITION ***/
-
namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2-eth-infra-cfg";
+ prefix l2-eth-infra-cfg;
+ import ietf-yang-types {
+ prefix yang;
+ }
+ import Cisco-IOS-XR-l2-eth-infra-datatypes {
+ prefix dt1;
+ }
+ import Cisco-IOS-XR-ifmgr-cfg {
+ prefix a1;
+ }
+ import Cisco-IOS-XR-l2vpn-cfg {
+ prefix a2;
+ }
- prefix "l2-eth-infra-cfg";
-
- /*** LINKAGE (IMPORTS / INCLUDES) ***/
-
- import ietf-yang-types { prefix "yang"; }
-
- import Cisco-IOS-XR-types { prefix "xr"; }
-
- import Cisco-IOS-XR-l2-eth-infra-datatypes { prefix "dt1"; }
-
- import Cisco-IOS-XR-ifmgr-cfg { prefix "a1"; }
-
- import Cisco-IOS-XR-l2vpn-cfg { prefix "a2"; }
-
- /*** META INFORMATION ***/
-
- organization "Cisco Systems, Inc.";
-
+ organization
+ "Cisco Systems, Inc.";
contact
"Cisco Systems, Inc.
Customer Service
-
+
Postal: 170 West Tasman Drive
San Jose, CA 95134
-
+
Tel: +1 800 553-NETS
-
+
E-mail: cs-yang@cisco.com";
-
- description
+ description
"This module contains a collection of YANG definitions
for Cisco IOS-XR l2-eth-infra package configuration.
-
+
This module contains definitions
for the following management objects:
ethernet-features: Ethernet Features Configuration
-
+
This YANG module augments the
Cisco-IOS-XR-ifmgr-cfg,
Cisco-IOS-XR-l2vpn-cfg
modules with configuration data.
-
- Copyright (c) 2013-2015 by Cisco Systems, Inc.
+
+ Copyright (c) 2013-2017 by Cisco Systems, Inc.
All rights reserved.";
- revision "2015-11-09" {
+ revision 2017-05-01 {
+ description
+ "Fixing backward compatibility error in module.";
+ }
+ revision 2015-11-09 {
description
"IOS XR 6.0 revision.";
}
typedef L2-protocol-name {
type enumeration {
- enum cdp {
+ enum "cdp" {
value 0;
- description "CDP";
+ description
+ "CDP";
}
- enum stp {
+ enum "stp" {
value 1;
- description "STP";
+ description
+ "STP";
}
- enum vtp {
+ enum "vtp" {
value 2;
- description "VTP";
+ description
+ "VTP";
}
- enum pvst {
+ enum "pvst" {
value 3;
- description "PVST+";
+ description
+ "PVST+";
}
- enum cpsv {
+ enum "cpsv" {
value 4;
- description "CDP, PVST+, STP, and VTP";
+ description
+ "CDP, PVST+, STP, and VTP";
}
}
- description "L2 protocol name";
+ description
+ "L2 protocol name";
}
+
typedef L2-protocol-mode {
type enumeration {
- enum forward {
+ enum "forward" {
value 0;
- description "Forward packets transparently";
+ description
+ "Forward packets transparently";
}
- enum drop {
+ enum "drop" {
value 1;
- description "Drop the protocol's packets";
+ description
+ "Drop the protocol's packets";
}
- enum tunnel {
+ enum "tunnel" {
value 2;
- description "Tunnel ingress frames, untunnel egress frames";
+ description
+ "Tunnel ingress frames, untunnel egress frames";
}
- enum reverse-tunnel {
+ enum "reverse-tunnel" {
value 3;
- description "Tunnel egress frames, untunnel ingress frames";
+ description
+ "Tunnel egress frames, untunnel ingress frames";
}
}
- description "L2 protocol mode";
+ description
+ "L2 protocol mode";
}
+
typedef Egress-filtering {
type enumeration {
- enum egress-filtering-type-strict {
+ enum "egress-filtering-type-strict" {
value 1;
- description "Strict Egress Filtering";
+ description
+ "Strict Egress Filtering";
}
- enum egress-filtering-type-disable {
+ enum "egress-filtering-type-disable" {
value 2;
- description "Egress Filtering Disabled";
+ description
+ "Egress Filtering Disabled";
}
- enum egress-filtering-type-default {
+ enum "egress-filtering-type-default" {
value 3;
- description "Default Egress Filtering Behavior";
+ description
+ "Default Egress Filtering Behavior";
}
}
- description "Egress filtering";
+ description
+ "Egress filtering";
}
+
typedef Filtering {
type enumeration {
- enum filtering-type-dot1q {
+ enum "filtering-type-dot1q" {
value 0;
description
"C-Vlan ingress frame filtering (Table 8-1 of
- 802.1ad standard)";
+ 802.1ad standard)";
}
- enum filtering-type-dot1ad {
+ enum "filtering-type-dot1ad" {
value 1;
description
"S-Vlan ingress frame filtering (Table 8-2 of
- 802.1ad standard)";
+ 802.1ad standard)";
}
}
- description "Filtering";
+ description
+ "Filtering";
}
+
typedef L2-protocol-mpls-exp-bits-value {
type uint32 {
range "0..7";
}
- description "L2 protocol mpls exp bits value";
- }
-
- container ethernet-features {
- xr:xr-xml-map "ether_gl_feature_cfg:EthernetFeatures";
- description "Ethernet Features Configuration";
-
- container egress-filtering {
- xr:xr-xml-map "ether_gl_cfg:EgressFiltering";
- description "Egress Filtering Configuration";
- leaf egress-filtering-default-on {
- xr:xr-xml-map "ether_gl_cfg:EgressFilteringDefaultOn";
- type empty;
- description "Whether Egress Filtering is on by default";
- }
- }
+ description
+ "L2 protocol mpls exp bits value";
}
augment "/a1:interface-configurations/a1:interface-configuration" {
-
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-ifmgr-cfg'";
container vlan-sub-configuration {
- xr:xr-xml-map "vlan_interface_cfg:VLANSubConfiguration";
- description "IEEE 802.1Q VLAN subinterface configuration";
-
+ description
+ "IEEE 802.1Q VLAN subinterface configuration";
container vlan-identifier {
- xr:xr-xml-map "vlan_interface_cfg:VLANIdentifier";
presence "Indicates a vlan-identifier node is configured.";
description
"The VLAN tag stack associated with this
- sub-interface.";
+ sub-interface.";
leaf vlan-type {
- xr:xr-xml-map "vlan_interface_cfg:VlanType";
type dt1:Vlan;
mandatory true;
description
"Whether this sub-interface is dot1ad or dot1Q";
}
leaf first-tag {
- xr:xr-xml-map "vlan_interface_cfg:FirstTag";
type dt1:Vlan-tag;
mandatory true;
- description "First (outermost) VLAN tag value";
+ description
+ "First (outermost) VLAN tag value";
}
leaf second-tag {
- xr:xr-xml-map "vlan_interface_cfg:SecondTag";
type dt1:Vlan-tag-or-null;
description
"Second VLAN tag value. The any value may only
- be used for Layer 2 subinterfaces";
+ be used for Layer 2 subinterfaces";
}
}
}
- description
- "This augment extends the configuration data of
- 'Cisco-IOS-XR-ifmgr-cfg'";
}
-
augment "/a1:interface-configurations/a1:interface-configuration" {
-
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-ifmgr-cfg'";
container ethernet-service {
- xr:xr-xml-map "vlan_interface_cfg:EthernetService";
- description "Ethernet service configuration";
-
+ description
+ "Ethernet service configuration";
container local-traffic-default-encapsulation {
- xr:xr-xml-map "vlan_interface_cfg:LocalTrafficDefaultEncaps"+
- "ulation";
- presence "Indicates a local-traffic-default-encapsulation"+
- " node is configured.";
+ presence "Indicates a local-traffic-default-encapsulation node is configured.";
description
"The default encapsulation to be used for
- locally-sourced packets";
+ locally-sourced packets";
leaf outer-tag-type {
- xr:xr-xml-map "vlan_interface_cfg:OuterTagType";
type dt1:Vlan;
mandatory true;
- description "Type of outer tag";
+ description
+ "Type of outer tag";
}
leaf outer-vlan-id {
- xr:xr-xml-map "vlan_interface_cfg:OuterVLANId";
type dt1:Vlan-tag;
mandatory true;
- description "VLAN id for outer tag";
+ description
+ "VLAN id for outer tag";
}
leaf inner-vlan-id {
- xr:xr-xml-map "vlan_interface_cfg:InnerVLANId";
type dt1:Vlan-tag;
- description "Optional VLAN Id for inner Dot1Q tag";
+ description
+ "Optional VLAN Id for inner Dot1Q tag";
}
}
-
container encapsulation {
- xr:xr-xml-map "vlan_interface_cfg:Encapsulation";
presence "Indicates a encapsulation node is configured.";
- description "The encapsulation of this Ethernet service";
+ description
+ "The encapsulation of this Ethernet service";
leaf outer-tag-type {
- xr:xr-xml-map "vlan_interface_cfg:OuterTagType";
type dt1:Match;
mandatory true;
description
"Whether to match all unmatched packets,
- untagged packets or tagged packets, and if
- matching tagged packets, the outer tag type to
- match";
+ untagged packets or tagged packets, and if
+ matching tagged packets, the outer tag type to
+ match";
}
leaf outer-range1-low {
- xr:xr-xml-map "vlan_interface_cfg:OuterRange1Low";
type dt1:Vlan-tag-or-any;
description
"Low value of first range for outer tag match";
}
leaf outer-range1-high {
- xr:xr-xml-map "vlan_interface_cfg:OuterRange1High";
type dt1:Vlan-tag-or-native;
description
"High value of first range for outer tag match";
}
leaf inner-tag-type {
- xr:xr-xml-map "vlan_interface_cfg:InnerTagType";
type dt1:Match;
- description "Type of tag for inner match (if present)";
+ description
+ "Type of tag for inner match (if present)";
}
leaf inner-range1-low {
- xr:xr-xml-map "vlan_interface_cfg:InnerRange1Low";
type dt1:Vlan-tag-or-any;
description
"Low value of first range for inner tag match";
}
leaf inner-range1-high {
- xr:xr-xml-map "vlan_interface_cfg:InnerRange1High";
type dt1:Vlan-tag;
description
"High value of first range for inner tag match";
}
leaf additional-range1-low {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange1Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of first additional range for tag
- match";
+ match";
}
leaf additional-range1-high {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange1High";
type dt1:Vlan-tag;
description
"High value of first additional range for tag
- match";
+ match";
}
leaf additional-range2-low {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange2Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of second additional range for tag
- match";
+ match";
}
leaf additional-range2-high {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange2High";
type dt1:Vlan-tag;
description
"High value of second additional range for tag
- match";
+ match";
}
leaf additional-range3-low {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange3Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of third additional range for tag
- match";
+ match";
}
leaf additional-range3-high {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange3High";
type dt1:Vlan-tag;
description
"High value of third additional range for tag
- match";
+ match";
}
leaf additional-range4-low {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange4Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of forth additional range for tag
- match";
+ match";
}
leaf additional-range4-high {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange4High";
type dt1:Vlan-tag;
description
"High value of forth additional range for tag
- match";
+ match";
}
leaf additional-range5-low {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange5Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of fifth additional range for tag
- match";
+ match";
}
leaf additional-range5-high {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange5High";
type dt1:Vlan-tag;
description
"High value of fifth additional range for tag
- match";
+ match";
}
leaf additional-range6-low {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange6Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of sixth additional range for tag
- match";
+ match";
}
leaf additional-range6-high {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange6High";
type dt1:Vlan-tag;
description
"High value of sixth additional range for tag
- match";
+ match";
}
leaf additional-range7-low {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange7Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of seventh additional range for tag
- match";
+ match";
}
leaf additional-range7-high {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange7High";
type dt1:Vlan-tag;
description
"High value of seventh additional range for tag
- match";
+ match";
}
leaf additional-range8-low {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange8Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of eighth additional range for tag
- match";
+ match";
}
leaf additional-range8-high {
- xr:xr-xml-map "vlan_interface_cfg:AdditionalRange8High";
type dt1:Vlan-tag;
description
"High value of eighth additional range for tag
- match";
+ match";
}
leaf outer-class-of-service {
- xr:xr-xml-map "vlan_interface_cfg:OuterClassOfService";
type dt1:Class-of-service;
description
"Value to match against Class Of Service bits
- for outer tag";
+ for outer tag";
}
leaf inner-class-of-service {
- xr:xr-xml-map "vlan_interface_cfg:InnerClassOfService";
type dt1:Class-of-service;
description
"Value to match against Class Of Service bits
- for inner tag";
+ for inner tag";
}
leaf payload-ethertype-match {
- xr:xr-xml-map "vlan_interface_cfg:PayloadEthertypeMatch";
type dt1:Ethertype-match;
- description "Which payload ethertype values to match";
+ description
+ "Which payload ethertype values to match";
}
leaf ingress-source-mac {
- xr:xr-xml-map "vlan_interface_cfg:IngressSourceMAC";
type yang:mac-address;
- description "Source MAC address to match on ingress";
+ description
+ "Source MAC address to match on ingress";
}
leaf ingress-destination-mac {
- xr:xr-xml-map "vlan_interface_cfg:IngressDestinationMAC";
type yang:mac-address;
- description "Destination MAC address to match on egress";
+ description
+ "Destination MAC address to match on egress";
}
leaf exact {
- xr:xr-xml-map "vlan_interface_cfg:Exact";
type empty;
description
"Only match packets with no more tags than
- explicitly matched";
+ explicitly matched";
}
}
-
container rewrite {
- xr:xr-xml-map "vlan_interface_cfg:Rewrite";
presence "Indicates a rewrite node is configured.";
description
"The rewrite operation for the Ethernet service";
leaf rewrite-type {
- xr:xr-xml-map "vlan_interface_cfg:RewriteType";
type dt1:Rewrite;
mandatory true;
- description "The type of rewrite to perform";
+ description
+ "The type of rewrite to perform";
}
leaf outer-tag-type {
- xr:xr-xml-map "vlan_interface_cfg:OuterTagType";
type dt1:Match;
- description "Type of outermost tag to be pushed";
+ description
+ "Type of outermost tag to be pushed";
}
leaf outer-tag-value {
- xr:xr-xml-map "vlan_interface_cfg:OuterTagValue";
type dt1:Vlan-tag;
- description "VLAN Id of outermost tag to be pushed";
+ description
+ "VLAN Id of outermost tag to be pushed";
}
leaf inner-tag-type {
- xr:xr-xml-map "vlan_interface_cfg:InnerTagType";
type dt1:Match;
- description "Type of innermost tag to be pushed";
+ description
+ "Type of innermost tag to be pushed";
}
leaf inner-tag-value {
- xr:xr-xml-map "vlan_interface_cfg:InnerTagValue";
type dt1:Vlan-tag;
- description "VLAN Id of innermost tag to be pushed";
+ description
+ "VLAN Id of innermost tag to be pushed";
}
}
}
- description
- "This augment extends the configuration data of
- 'Cisco-IOS-XR-ifmgr-cfg'";
}
-
augment "/a1:interface-configurations/a1:interface-configuration" {
-
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-ifmgr-cfg'";
container ethernet-bng {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:EthernetBNG";
- description "Ethernet Infra BNG specific configuration";
-
+ description
+ "Ethernet Infra BNG specific configuration";
container ambiguous-encapsulation {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AmbiguousEncapsulatio"+
- "n";
- presence "Indicates a ambiguous-encapsulation node is"+
- " configured.";
- description "L3 Ambiguous encapsulation";
+ presence "Indicates a ambiguous-encapsulation node is configured.";
+ description
+ "L3 Ambiguous encapsulation";
leaf outer-tag-type {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:OuterTagType";
type dt1:Match;
mandatory true;
description
"Whether to match all unmatched packets,
- untagged packets or tagged packets, and if
- matching tagged packets, the outer tag type to
- match";
+ untagged packets or tagged packets, and if
+ matching tagged packets, the outer tag type to
+ match";
}
leaf outer-range1-low {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:OuterRange1Low";
type dt1:Vlan-tag-or-any;
description
"Low value of first range for outer tag match";
}
leaf outer-range1-high {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:OuterRange1High";
type dt1:Vlan-tag-or-native;
description
"High value of first range for outer tag match";
}
leaf inner-tag-type {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:InnerTagType";
type dt1:Match;
- description "Type of tag for inner match (if present)";
+ description
+ "Type of tag for inner match (if present)";
}
leaf inner-range1-low {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:InnerRange1Low";
type dt1:Vlan-tag-or-any;
description
"Low value of first range for inner tag match";
}
leaf inner-range1-high {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:InnerRange1High";
type dt1:Vlan-tag;
description
"High value of first range for inner tag match";
}
leaf additional-range1-low {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange1Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of first additional range for tag
- match";
+ match";
}
leaf additional-range1-high {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange1Hig"+
- "h";
type dt1:Vlan-tag;
description
"High value of first additional range for tag
- match";
+ match";
}
leaf additional-range2-low {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange2Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of second additional range for tag
- match";
+ match";
}
leaf additional-range2-high {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange2Hig"+
- "h";
type dt1:Vlan-tag;
description
"High value of second additional range for tag
- match";
+ match";
}
leaf additional-range3-low {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange3Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of third additional range for tag
- match";
+ match";
}
leaf additional-range3-high {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange3Hig"+
- "h";
type dt1:Vlan-tag;
description
"High value of third additional range for tag
- match";
+ match";
}
leaf additional-range4-low {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange4Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of forth additional range for tag
- match";
+ match";
}
leaf additional-range4-high {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange4Hig"+
- "h";
type dt1:Vlan-tag;
description
"High value of forth additional range for tag
- match";
+ match";
}
leaf additional-range5-low {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange5Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of fifth additional range for tag
- match";
+ match";
}
leaf additional-range5-high {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange5Hig"+
- "h";
type dt1:Vlan-tag;
description
"High value of fifth additional range for tag
- match";
+ match";
}
leaf additional-range6-low {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange6Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of sixth additional range for tag
- match";
+ match";
}
leaf additional-range6-high {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange6Hig"+
- "h";
type dt1:Vlan-tag;
description
"High value of sixth additional range for tag
- match";
+ match";
}
leaf additional-range7-low {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange7Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of seventh additional range for tag
- match";
+ match";
}
leaf additional-range7-high {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange7Hig"+
- "h";
type dt1:Vlan-tag;
description
"High value of seventh additional range for tag
- match";
+ match";
}
leaf additional-range8-low {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange8Low";
type dt1:Vlan-tag-or-cvp;
description
"Low value of eighth additional range for tag
- match";
+ match";
}
leaf additional-range8-high {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:AdditionalRange8Hig"+
- "h";
type dt1:Vlan-tag;
description
"High value of eighth additional range for tag
- match";
+ match";
}
leaf outer-class-of-service {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:OuterClassOfService";
type dt1:Class-of-service;
description
"Value to match against Class Of Service bits
- for outer tag";
+ for outer tag";
}
leaf inner-class-of-service {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:InnerClassOfService";
type dt1:Class-of-service;
description
"Value to match against Class Of Service bits
- for inner tag";
+ for inner tag";
}
leaf payload-ethertype-match {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:PayloadEthertypeMat"+
- "ch";
type dt1:Ethertype-match;
- description "Which payload ethertype values to match";
+ description
+ "Which payload ethertype values to match";
}
leaf ingress-source-mac {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:IngressSourceMAC";
type yang:mac-address;
- description "Source MAC address to match on ingress";
+ description
+ "Source MAC address to match on ingress";
}
leaf ingress-destination-mac {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:IngressDestinationM"+
- "AC";
type yang:mac-address;
- description "Destination MAC address to match on egress";
+ description
+ "Destination MAC address to match on egress";
}
leaf exact {
- xr:xr-xml-map "eth_infra_bng_intf_cfg:Exact";
type empty;
description
"Only match packets with no more tags than
- explicitly matched";
+ explicitly matched";
}
}
}
- description
- "This augment extends the configuration data of
- 'Cisco-IOS-XR-ifmgr-cfg'";
}
-
augment "/a1:interface-configurations/a1:interface-configuration" {
-
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-ifmgr-cfg'";
container mac-accounting {
- xr:xr-xml-map "ether_mac_acc_cfg:MACAccounting";
- description "MAC Accounting Configuration";
+ description
+ "MAC Accounting Configuration";
leaf ingress {
- xr:xr-xml-map "ether_mac_acc_cfg:Ingress";
type empty;
- description "Per MAC address accounting statistics";
+ description
+ "Per MAC address accounting statistics";
}
leaf egress {
- xr:xr-xml-map "ether_mac_acc_cfg:Egress";
type empty;
- description "Per MAC address accounting statistics";
+ description
+ "Per MAC address accounting statistics";
}
}
- description
- "This augment extends the configuration data of
- 'Cisco-IOS-XR-ifmgr-cfg'";
}
-
augment "/a1:interface-configurations/a1:interface-configuration" {
-
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-ifmgr-cfg'";
container ethernet-features {
- xr:xr-xml-map "ether_intf_feature_cfg:EthernetFeatures";
- description "Ethernet Features Configuration";
+ description
+ "Ethernet Features Configuration";
leaf filtering {
- xr:xr-xml-map "l2protocols_ether_interface_cfg:Filtering";
type Filtering;
- description "Ingress Ethernet frame filtering";
+ description
+ "Ingress Ethernet frame filtering";
}
}
+ }
+ augment "/a1:interface-configurations/a1:interface-configuration" {
description
"This augment extends the configuration data of
- 'Cisco-IOS-XR-ifmgr-cfg'";
+ 'Cisco-IOS-XR-ifmgr-cfg'";
+ container carrier-delay {
+ description
+ "Set the carrier transition delay on an interface
+ in msecs";
+ leaf carrier-delay-up {
+ type uint32 {
+ range "1..65535";
+ }
+ description
+ "Carrier Delay (up) in msecs";
+ }
+ leaf carrier-delay-down {
+ type uint32;
+ description
+ "Carrier Delay down in msecs, must be set to 0";
+ }
+ }
}
-
augment "/a1:interface-configurations/a1:interface-configuration" {
-
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-ifmgr-cfg'";
container vlan-trunk-configuration {
- xr:xr-xml-map "vlan_interface_cfg:VLANTrunkConfiguration";
- description "IEEE 802.1Q VLAN trunk interface configuration";
-
+ description
+ "IEEE 802.1Q VLAN trunk interface configuration";
container native-vlan-identifier {
- xr:xr-xml-map "vlan_interface_cfg:NativeVLANIdentifier";
- presence "Indicates a native-vlan-identifier node is"+
- " configured.";
+ presence "Indicates a native-vlan-identifier node is configured.";
description
"The Native VLAN identifier associated with this
- trunk interface";
+ trunk interface";
leaf vlan-type {
- xr:xr-xml-map "vlan_interface_cfg:VlanType";
type dt1:Vlan;
mandatory true;
- description "Whether this interface is dot1ad or dot1Q";
+ description
+ "Whether this interface is dot1ad or dot1Q";
}
leaf vlan-identifier {
- xr:xr-xml-map "vlan_interface_cfg:VLANIdentifier";
type dt1:Vlan-tag;
mandatory true;
- description "VLAN identifier";
+ description
+ "VLAN identifier";
}
}
leaf tunneling-ethertype {
- xr:xr-xml-map "vlan_interface_cfg:TunnelingEthertype";
type enumeration {
- enum 0x9100 {
+ enum "0x9100" {
value 37120;
- description "0x9100";
+ description
+ "0x9100";
}
- enum 0x9200 {
+ enum "0x9200" {
value 37376;
- description "0x9200";
+ description
+ "0x9200";
}
}
description
"The outer ethertype used in Q-in-Q frames. The
- default value is 0x8100";
+ default value is 0x8100";
}
}
+ }
+ augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" {
description
"This augment extends the configuration data of
- 'Cisco-IOS-XR-ifmgr-cfg'";
- }
-
- augment "/a1:interface-configurations/a1:interface-configuration"+
- "/a2:l2-transport" {
-
+ 'Cisco-IOS-XR-l2vpn-cfg'";
container l2-protocols {
- xr:xr-xml-map "ether_l2pt_cfg:L2ProtocolTable";
- description "Interface specific Layer 2 protocol handling";
-
+ description
+ "Interface specific Layer 2 protocol handling";
list l2-protocol {
- xr:xr-xml-map "ether_l2pt_cfg:L2Protocol";
key "l2-protocol-name";
- description "Handling of a specific Layer 2 protocol";
+ description
+ "Handling of a specific Layer 2 protocol";
leaf l2-protocol-name {
- xr:xr-xml-map "ether_l2pt_cfg:L2ProtocolName";
type L2-protocol-name;
- description "Protocol name";
+ description
+ "Protocol name";
}
leaf mode {
- xr:xr-xml-map "ether_l2pt_cfg:Mode";
type L2-protocol-mode;
mandatory true;
- description "How to handle the protocol's packets";
+ description
+ "How to handle the protocol's packets";
}
leaf mpls-exp-bits-value {
- xr:xr-xml-map "ether_l2pt_cfg:MPLSExpBitsValue";
type L2-protocol-mpls-exp-bits-value;
description
"The value to set the MPLS Exp bits to within
- the PW.This value may be specified if the mode
- is forward or tunnel and must not be specified
- if the mode is drop";
+ the PW.This value may be specified if the mode
+ is forward or tunnel and must not be specified
+ if the mode is drop";
}
}
}
+ }
+ augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" {
description
"This augment extends the configuration data of
- 'Cisco-IOS-XR-l2vpn-cfg'";
- }
-
- augment "/a1:interface-configurations/a1:interface-configuration"+
- "/a2:l2-transport" {
+ 'Cisco-IOS-XR-l2vpn-cfg'";
leaf propagate-remote-status {
- xr:xr-xml-map "l2protocols_ether_interface_cfg:PropagateRemot"+
- "eStatus";
type empty;
description
"Enable propagation of the remote
- attachment-circuit link state to the
- localattachment-circuit link state";
+ attachment-circuit link state to the
+ localattachment-circuit link state";
}
+ }
+ augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" {
description
"This augment extends the configuration data of
- 'Cisco-IOS-XR-l2vpn-cfg'";
- }
-
- augment "/a1:interface-configurations/a1:interface-configuration"+
- "/a2:l2-transport" {
-
+ 'Cisco-IOS-XR-l2vpn-cfg'";
container l2-ethernet-features {
- xr:xr-xml-map "ether_intf_feature_cfg:L2EthernetFeatures";
- description "L2 Ethernet Features Configuration";
+ description
+ "L2 Ethernet Features Configuration";
leaf egress-filtering {
- xr:xr-xml-map "l2protocols_ether_interface_cfg:EgressFilter"+
- "ing";
type Egress-filtering;
default "egress-filtering-type-default";
- description "Egress Ethernet filtering";
+ description
+ "Egress Ethernet filtering";
}
leaf source-bypass-egress-filtering {
- xr:xr-xml-map "l2protocols_ether_interface_cfg:SourceBypass"+
- "EgressFiltering";
type empty;
description
"Mark all ingress packets to bypass any egress
- VLAN filter";
+ VLAN filter";
}
}
+ }
+ container ethernet-features {
description
- "This augment extends the configuration data of
- 'Cisco-IOS-XR-l2vpn-cfg'";
+ "Ethernet Features Configuration";
+ container egress-filtering {
+ description
+ "Egress Filtering Configuration";
+ leaf egress-filtering-default-on {
+ type empty;
+ description
+ "Whether Egress Filtering is on by default";
+ }
+ }
}
-}
\ No newline at end of file
+}
+++ /dev/null
-module Cisco-IOS-XR-l2vpn-cfg {
-
- /*** NAMESPACE / PREFIX DEFINITION ***/
-
- namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2vpn-cfg";
-
-
- prefix "l2vpn-cfg";
-
- /*** LINKAGE (IMPORTS / INCLUDES) ***/
-
- import ietf-inet-types { prefix "inet"; }
-
- import ietf-yang-types { prefix "yang"; }
-
- import Cisco-IOS-XR-types { prefix "xr"; }
-
- import Cisco-IOS-XR-ifmgr-cfg { prefix "a1"; }
-
- import Cisco-IOS-XR-snmp-agent-cfg { prefix "a2"; }
-
- /*** META INFORMATION ***/
-
- organization "Cisco Systems, Inc.";
-
- contact
- "Cisco Systems, Inc.
- Customer Service
-
- Postal: 170 West Tasman Drive
- San Jose, CA 95134
-
- Tel: +1 800 553-NETS
-
- E-mail: cs-yang@cisco.com";
-
- description
- "This module contains a collection of YANG definitions
- for Cisco IOS-XR l2vpn package configuration.
-
- This module contains definitions
- for the following management objects:
- l2vpn: L2VPN configuration
- generic-interface-lists: generic interface lists
- evpn: evpn
-
- This YANG module augments the
- Cisco-IOS-XR-ifmgr-cfg,
- Cisco-IOS-XR-snmp-agent-cfg
- modules with configuration data.
-
- Copyright (c) 2013-2015 by Cisco Systems, Inc.
- All rights reserved.";
-
- revision "2015-11-09" {
- description
- "IOS XR 6.0 revision.";
- }
-
- typedef Interworking {
- type enumeration {
- enum ethernet {
- value 1;
- description "Ethernet interworking";
- }
- enum ipv4 {
- value 3;
- description "IPv4 interworking";
- }
- }
- description "Interworking";
- }
- typedef L2vpn-capability-mode {
- type enumeration {
- enum high-mode {
- value 1;
- description
- "Compute global capability as the highest node
- capability";
- }
- enum single-mode {
- value 2;
- description "Disable global capability re-computation";
- }
- }
- description "L2vpn capability mode";
- }
- typedef Vpls-id-addr-index {
- type uint32 {
- range "0..32767";
- }
- description "Vpls id addr index";
- }
- typedef Tag-rewrite-range {
- type uint32 {
- range "1..4094";
- }
- description "Tag rewrite range";
- }
- typedef Evpnvpnid-range {
- type uint32 {
- range "1..65534";
- }
- description "Evpnvpnid range";
- }
- typedef Pseudowire-label-range {
- type uint32 {
- range "16..1048575";
- }
- description "Pseudowire label range";
- }
- typedef Bridge-domain-transport-mode {
- type enumeration {
- enum vlan-passthrough {
- value 3;
- description "Vlan tagged passthrough mode";
- }
- }
- description "Bridge domain transport mode";
- }
- typedef Preferred-path {
- type enumeration {
- enum te-tunnel {
- value 2;
- description "TE Tunnel";
- }
- enum ip-tunnel {
- value 3;
- description "IP Tunnel";
- }
- enum tp-tunnel {
- value 4;
- description "TP Tunnel";
- }
- }
- description "Preferred path";
- }
- typedef Rd-addr-index {
- type uint32 {
- range "0..65535";
- }
- description "Rd addr index";
- }
- typedef Vccv-verification {
- type enumeration {
- enum none {
- value 0;
- description "No connectivity verification over VCCV";
- }
- enum lsp-ping {
- value 2;
- description "LSP Ping over VCCV";
- }
- }
- description "Vccv verification";
- }
- typedef L2vpn-mtu-range {
- type uint32 {
- range "64..65535";
- }
- description "L2vpn mtu range";
- }
- typedef Mac-withdraw-behavior {
- type enumeration {
- enum legacy {
- value 1;
- description "MAC Withdrawal sent on state-down (legacy)";
- }
- enum optimized {
- value 2;
- description "Optimized MAC Withdrawal";
- }
- }
- description "Mac withdraw behavior";
- }
- typedef Port-down-flush {
- type enumeration {
- enum port-down-flush {
- value 0;
- description "MAC Port Down Flush";
- }
- enum enable-port-down-flush {
- value 1;
- description "Enable Port Down Flush";
- }
- enum disable-port-down-flush {
- value 2;
- description "Disable Port Down Flush";
- }
- }
- description "Port down flush";
- }
- typedef Storm-control-pps-range {
- type uint32 {
- range "1..160000";
- }
- description "Storm control pps range";
- }
- typedef Type-of-service-mode {
- type enumeration {
- enum none {
- value 0;
- description "Do not reflect the type of service";
- }
- enum reflect {
- value 1;
- description "Reflect the type of service";
- }
- }
- description "Type of service mode";
- }
- typedef Pseudowire-tag-range {
- type uint32 {
- range "1..4094";
- }
- description "Pseudowire tag range";
- }
- typedef Multicast-p2mp-signaling {
- type string {
- pattern "(BGP)";
- }
- description "BGP:BGP Signaling";
- }
- typedef Cedge-range {
- type uint32 {
- range "11..100";
- }
- description "Cedge range";
- }
- typedef Mpls-signaling-protocol {
- type enumeration {
- enum none {
- value 1;
- description "No signaling";
- }
- enum ldp {
- value 4;
- description "LDP";
- }
- }
- description "Mpls signaling protocol";
- }
- typedef Erpaps {
- type enumeration {
- enum interface {
- value 1;
- description "ERP APS type interface";
- }
- enum bridge-domain {
- value 2;
- description "ERP APS type bridge domain";
- }
- enum xconnect {
- value 3;
- description "ERP APS type xconnect";
- }
- enum none {
- value 4;
- description "ERP APS type none";
- }
- }
- description "Erpaps";
- }
- typedef Mac-secure-action {
- type enumeration {
- enum restrict {
- value 1;
- description "MAC Secure Action Restrict";
- }
- enum none {
- value 2;
- description "No Action";
- }
- enum shutdown {
- value 3;
- description "MAC Secure Action Shutdown";
- }
- }
- description "Mac secure action";
- }
- typedef Erp-port {
- type enumeration {
- enum none {
- value 1;
- description "ERP port type none";
- }
- enum virtual {
- value 2;
- description "ERP port type virtual";
- }
- enum interface {
- value 3;
- description "ERP port type interface";
- }
- }
- description "Erp port";
- }
- typedef Resync-threshold-range {
- type uint32 {
- range "5..65535";
- }
- description "Resync threshold range";
- }
- typedef Bgp-route-target-role {
- type enumeration {
- enum both {
- value 0;
- description "Both Import and export roles";
- }
- enum import {
- value 1;
- description "Import role";
- }
- enum export {
- value 2;
- description "Export role";
- }
- }
- description "Bgp route target role";
- }
- typedef Backup-disable {
- type enumeration {
- enum never {
- value 0;
- description "Never";
- }
- enum delay {
- value 1;
- description "Delay seconds";
- }
- }
- description "Backup disable";
- }
- typedef Time-to-live-range {
- type uint32 {
- range "1..255";
- }
- description "Time to live range";
- }
- typedef Multicast-p2mp-transport {
- type string {
- pattern "(RSVP_TE)";
- }
- description "RSVP_TE:RSVP-TE Transport";
- }
- typedef Transport-mode {
- type enumeration {
- enum ethernet {
- value 1;
- description "Ethernet port mode";
- }
- enum vlan {
- value 2;
- description "Vlan tagged mode";
- }
- enum vlan-passthrough {
- value 3;
- description "Vlan tagged passthrough mode";
- }
- }
- description "Transport mode";
- }
- typedef Flow-label-tlv-code {
- type enumeration {
- enum 17 {
- value 4;
- description "Set Flow Label Legacy TLV code (DEPRECATED)";
- }
- enum disable {
- value 8;
- description "Disable Sending Flow Label Legacy TLV";
- }
- }
- description "Flow label tlv code";
- }
- typedef Pseudowire-acid-range {
- type uint32 {
- range "1..4294967295";
- }
- description "Pseudowire acid range";
- }
- typedef Pseudowire-id-range {
- type uint32 {
- range "1..4294967295";
- }
- description "Pseudowire id range";
- }
- typedef Interface-profile {
- type enumeration {
- enum snoop {
- value 1;
- description "Set the snooping";
- }
- enum dhcp-protocol {
- value 2;
- description "disable DHCP protocol";
- }
- }
- description "Interface profile";
- }
- typedef Rpl-role {
- type enumeration {
- enum owner {
- value 1;
- description "ERP RPL owner";
- }
- enum neighbor {
- value 2;
- description "ERP RPL neighbor";
- }
- enum next-neighbor {
- value 3;
- description "ERP RPL next neighbor";
- }
- }
- description "Rpl role";
- }
- typedef Pw-switching-point-tlv {
- type enumeration {
- enum hide {
- value 2;
- description "Hide TLV";
- }
- }
- description "Pw switching point tlv";
- }
- typedef Erpaps-level-range {
- type uint32 {
- range "0..7";
- }
- description "Erpaps level range";
- }
- typedef Storm-control {
- type enumeration {
- enum unicast {
- value 1;
- description "Unknown-unicast Storm Control";
- }
- enum multicast {
- value 2;
- description "Multicast Storm Control";
- }
- enum broadcast {
- value 4;
- description "Broadcast Storm Control";
- }
- }
- description "Storm control";
- }
- typedef L2tp-session-id-range {
- type uint32 {
- range "1..65535";
- }
- description "L2tp session id range";
- }
- typedef Mac-learn {
- type enumeration {
- enum default-learning {
- value 0;
- description "Mac Learning";
- }
- enum enable-learning {
- value 1;
- description "Enable Learning";
- }
- enum disable-learning {
- value 2;
- description "Disable Learning";
- }
- }
- description "Mac learn";
- }
- typedef L2tpv3-sequencing {
- type enumeration {
- enum off {
- value 0;
- description "Sequencing is off";
- }
- enum both {
- value 4;
- description "Sequencing on both transmit and receive side";
- }
- }
- description "L2tpv3 sequencing";
- }
- typedef Veid-range {
- type uint32 {
- range "1..16384";
- }
- description "Veid range";
- }
- typedef Load-balance {
- type enumeration {
- enum source-dest-mac {
- value 1;
- description "Source and Destination MAC hashing";
- }
- enum source-dest-ip {
- value 2;
- description "Source and Destination IP hashing";
- }
- enum pseudowire-label {
- value 4;
- description "PW Label hashing";
- }
- }
- description "Load balance";
- }
- typedef L2tp-signaling-protocol {
- type enumeration {
- enum none {
- value 1;
- description "No signaling";
- }
- enum l2tpv3 {
- value 2;
- description "L2TPv3";
- }
- }
- description "L2tp signaling protocol";
- }
- typedef L2vpn-verification {
- type enumeration {
- enum enable {
- value 1;
- description "enable verification";
- }
- enum disable {
- value 2;
- description "disable verification";
- }
- }
- description "L2vpn verification";
- }
- typedef Max-path-mtu-range {
- type uint32 {
- range "68..65535";
- }
- description "Max path mtu range";
- }
- typedef Interface-traffic-flood {
- type enumeration {
- enum traffic-flooding {
- value 0;
- description "Traffic flooding";
- }
- enum enable-flooding {
- value 1;
- description "Enable Flooding";
- }
- enum disable-flooding {
- value 2;
- description "Disable flooding";
- }
- }
- description "Interface traffic flood";
- }
- typedef Pbbvid-range {
- type uint32 {
- range "1..4094";
- }
- description "Pbbvid range";
- }
- typedef L2tp-cookie-value-range {
- type uint32 {
- range "0..4294967295";
- }
- description "L2tp cookie value range";
- }
- typedef L2-encapsulation {
- type enumeration {
- enum vlan {
- value 4;
- description "Vlan tagged mode";
- }
- enum ethernet {
- value 5;
- description "Ethernet port mode";
- }
- }
- description "L2 encapsulation";
- }
- typedef L2vpn-logging {
- type enumeration {
- enum enable {
- value 1;
- description "enable logging";
- }
- enum disable {
- value 2;
- description "disable logging";
- }
- }
- description "L2vpn logging";
- }
- typedef Mac-aging-range {
- type uint32 {
- range "300..30000";
- }
- description "Mac aging range";
- }
- typedef Vpls-id-as-index {
- type uint32 {
- range "0..4294967295";
- }
- description "Vpls id as index";
- }
- typedef Pseudowire-gbl-id-range {
- type uint32 {
- range "1..4294967295";
- }
- description "Pseudowire gbl id range";
- }
- typedef Rdas-index {
- type uint32 {
- range "0..4294967295";
- }
- description "Rdas index";
- }
- typedef L2tp-cookie-size {
- type enumeration {
- enum zero {
- value 0;
- description "Cookie size is zero bytes";
- }
- enum four {
- value 4;
- description "Cookie size is four bytes";
- }
- enum eight {
- value 8;
- description "Cookie size is eight bytes";
- }
- }
- description "L2tp cookie size";
- }
- typedef Mpls-sequencing {
- type enumeration {
- enum off {
- value 0;
- description "Sequencing is off";
- }
- enum transmit {
- value 1;
- description "Sequencing on transmit side";
- }
- enum receive {
- value 2;
- description "Sequencing on receive side";
- }
- enum both {
- value 4;
- description "Sequencing on both transmit and receive side";
- }
- }
- description "Mpls sequencing";
- }
- typedef Erp-instance-range {
- type uint32 {
- range "1..2";
- }
- description "Erp instance range";
- }
- typedef Pw-redundancy-initial-delay-range {
- type uint32 {
- range "0..120";
- }
- description "Pw redundancy initial delay range";
- }
- typedef Vpls-id-as-range {
- type uint32 {
- range "1..65535";
- }
- description "Vpls id as range";
- }
- typedef Rdas-range {
- type uint32 {
- range "1..4294967295";
- }
- description "Rdas range";
- }
- typedef Bridge-bd-mtu-range {
- type uint32 {
- range "46..65535";
- }
- description "Bridge bd mtu range";
- }
- typedef Backup-disable-delay-range {
- type uint32 {
- range "0..180";
- }
- description "Backup disable delay range";
- }
- typedef Storm-control-kbps-range {
- type uint32 {
- range "64..1280000";
- }
- description "Storm control kbps range";
- }
- typedef Mac-limit-action {
- type enumeration {
- enum none {
- value 0;
- description "No action";
- }
- enum flood {
- value 1;
- description "Flood Mac Limit Action";
- }
- enum no-flood {
- value 2;
- description "NoFlood Mac Limit Action";
- }
- enum shutdown {
- value 3;
- description "Shutdown Mac Limit Action";
- }
- }
- description "Mac limit action";
- }
- typedef Erp-port1 {
- type enumeration {
- enum port0 {
- value 0;
- description "ERP main port 0";
- }
- enum port1 {
- value 1;
- description "ERP main port 1";
- }
- }
- description "Erp port1";
- }
- typedef Mac-notification {
- type enumeration {
- enum no-notif {
- value 0;
- description "No_Notification Trap";
- }
- enum syslog {
- value 1;
- description "syslog message";
- }
- enum trap {
- value 2;
- description "Snmp Trap";
- }
- enum syslog-snmp {
- value 3;
- description "Syslog_snmp Trap";
- }
- }
- description "Mac notification";
- }
- typedef Control-word {
- type enumeration {
- enum enable {
- value 1;
- description "Enable control word";
- }
- enum disable {
- value 2;
- description "Disable control word";
- }
- }
- description "Control word";
- }
- typedef Bgp-route-distinguisher {
- type enumeration {
- enum auto {
- value 1;
- description "RD automatically assigned";
- }
- enum two-byte-as {
- value 2;
- description "RD in 2 byte AS:nn format";
- }
- enum four-byte-as {
- value 3;
- description "RD in 4 byte AS:nn format";
- }
- enum ipv4-address {
- value 4;
- description "RD in IpV4address";
- }
- }
- description "Bgp route distinguisher";
- }
- typedef Bgp-route-target-format {
- type enumeration {
- enum none {
- value 0;
- description "No route target";
- }
- enum two-byte-as {
- value 1;
- description "2 Byte AS:nn format";
- }
- enum four-byte-as {
- value 2;
- description "4 byte AS:nn format";
- }
- enum ipv4-address {
- value 3;
- description "IP:nn format";
- }
- }
- description "Bgp route target format";
- }
- typedef Vedge-range {
- type uint32 {
- range "11..100";
- }
- description "Vedge range";
- }
- typedef Vpnid-range {
- type uint32 {
- range "1..4294967295";
- }
- description "Vpnid range";
- }
- typedef Ldp-vpls-id {
- type enumeration {
- enum two-byte-as {
- value 10;
- description "VPLS-ID in 2 byte AS:nn format";
- }
- enum ipv4-address {
- value 266;
- description "VPLS-ID in IPv4 IP:nn format";
- }
- }
- description "Ldp vpls id";
- }
- typedef Ce-id-range {
- type uint32 {
- range "1..16384";
- }
- description "Ce id range";
- }
- typedef Mac-aging {
- type enumeration {
- enum absolute {
- value 1;
- description "Absolute aging type";
- }
- enum inactivity {
- value 2;
- description "Inactivity aging type";
- }
- }
- description "Mac aging";
- }
- typedef Mac-limit-range {
- type uint32 {
- range "0..4294967295";
- }
- description "Mac limit range";
- }
- typedef Pbbisid-range {
- type uint32 {
- range "256..16777214";
- }
- description "Pbbisid range";
- }
- typedef Type-of-service-range {
- type uint32 {
- range "0..255";
- }
- description "Type of service range";
- }
- typedef Flow-label-load-balance {
- type enumeration {
- enum off {
- value 0;
- description "Flow Label load balance is off";
- }
- enum receive {
- value 1;
- description "Delete Flow Label on receive side";
- }
- enum transmit {
- value 2;
- description "Insert Flow Label on transmit side";
- }
- enum both {
- value 3;
- description
- "Insert/Delete Flow Label on transmit/receive
- side";
- }
- }
- description "Flow label load balance";
- }
-
- grouping STORM-CONTROL-UNIT {
- description
- "Common node of bd-storm-control,
- bdac-storm-control-type, bdpw-storm-control-type";
-
- container storm-control-unit {
- xr:xr-xml-map "l2vpn_cfg:StormControlUnit";
- description "Specify units for Storm Control Configuration";
- leaf kbits-per-sec {
- xr:xr-xml-map "l2vpn_cfg:KbitsPerSec";
- type Storm-control-kbps-range;
- units "kbit/s";
- description
- "Kilobits Per Second, PktsPerSec and KbitsPerSec
- cannot be configured together";
- }
- leaf pkts-per-sec {
- xr:xr-xml-map "l2vpn_cfg:PktsPerSec";
- type Storm-control-pps-range;
- units "packet/s";
- description
- "Packets Per Second, PktsPerSec and KbitsPerSec
- cannot be configured together";
- }
- }
- }
-
- grouping EVPN-ROUTE-DISTINGUISHER {
- description
- "Common node of evpnbgp-auto-discovery,
- evpnevibgp-auto-discovery, pw-routing-bgp";
-
- container evpn-route-distinguisher {
- xr:xr-xml-map "l2vpn_cfg:EVPNRouteDistinguisher";
- description "Route Distinguisher";
- leaf type {
- xr:xr-xml-map "l2vpn_cfg:Type";
- type Bgp-route-distinguisher;
- description "Router Distinguisher Type";
- }
- leaf as {
- xr:xr-xml-map "l2vpn_cfg:AS";
- when "../type = 'two-byte-as' or ../type = 'four-byte-as'" {
- description "../Type = TwoByteAS or ../Type = FourByteAS";
- }
- type Rdas-range;
- description "Two byte or 4 byte AS number";
- }
- leaf as-index {
- xr:xr-xml-map "l2vpn_cfg:ASIndex";
- when "../type = 'two-byte-as' or ../type = 'four-byte-as'" {
- description "../Type = TwoByteAS or ../Type = FourByteAS";
- }
- type Rdas-index;
- description "AS:nn (hex or decimal format)";
- }
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- when "../type = 'ipv4-address'" {
- description "../Type = IPV4Address";
- }
- type inet:ipv4-address-no-zone;
- description "IPV4 address";
- }
- leaf addr-index {
- xr:xr-xml-map "l2vpn_cfg:AddrIndex";
- when "../type = 'ipv4-address'" {
- description "../Type = IPV4Address";
- }
- type Rd-addr-index;
- description "Addr index";
- }
- }
- }
-
- container l2vpn {
- xr:xr-xml-map "l2vpn_cfg:L2VPN";
- description "L2VPN configuration";
-
- container pw-routing {
- xr:xr-xml-map "l2vpn_cfg:PWRouting";
- description "Pseudowire-routing attributes";
-
- container pw-routing-bgp {
- xr:xr-xml-map "l2vpn_cfg:PWRoutingBGP";
- description
- "Enable Autodiscovery BGP Pseudowire-routing BGP";
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Autodiscovery BGP";
- }
- uses EVPN-ROUTE-DISTINGUISHER;
- }
- leaf pw-routing-global-id {
- xr:xr-xml-map "l2vpn_cfg:PWRoutingGlobalID";
- xr:xr-cli-map "l2vpn pw-routing global-id <number> ";
- type Pseudowire-gbl-id-range;
- description "Pseudowire-routing Global ID";
- }
- }
-
- container neighbor {
- xr:xr-xml-map "l2vpn_cfg:Neighbor";
- description "L2VPN neighbor submode";
- leaf ldp-flap {
- xr:xr-xml-map "l2vpn_cfg:LDPFlap";
- xr:xr-cli-map "l2vpn neighbor all ldp flap ";
- type empty;
- description "Enable targetted LDP session flap action";
- }
- }
-
- container database {
- xr:xr-xml-map "l2vpn_cfg:Database";
- description "L2VPN databases";
-
- container g8032-rings {
- xr:xr-xml-map "l2vpn_cfg:G8032RingTable";
- description "List of G8032 Ring";
-
- list g8032-ring {
- xr:xr-xml-map "l2vpn_cfg:G8032Ring";
- key "g8032-ring-name";
- description "G8032 Ring";
-
- container erp-port0s {
- xr:xr-xml-map "l2vpn_cfg:ERPPort0Table";
- description "Ethernet ring protection port0";
-
- list erp-port0 {
- xr:xr-xml-map "l2vpn_cfg:ERPPort0";
- key "interface-name";
- description "Configure ERP main port0";
- leaf monitor {
- xr:xr-xml-map "l2vpn_cfg:Monitor";
- xr:xr-cli-map "l2vpn ethernet ring g8032 <string> p"+
- "ort0 interface <interface> monitor interface <in"+
- "terface> ";
- type xr:Interface-name;
- description
- "Ethernet ring protection port0 monitor";
- }
- leaf interface-name {
- xr:xr-xml-map "l2vpn_cfg:InterfaceName";
- type xr:Interface-name;
- description "Port0 interface";
- }
- }
- }
-
- container erp-instances {
- xr:xr-xml-map "l2vpn_cfg:ERPInstanceTable";
- description "List of ethernet ring protection instance";
-
- list erp-instance {
- xr:xr-xml-map "l2vpn_cfg:ERPInstance";
- key "erp-instance-id";
- description "Ethernet ring protection instance";
-
- container rpl {
- xr:xr-xml-map "l2vpn_cfg:RPL";
- description "Ring protection link";
- leaf port {
- xr:xr-xml-map "l2vpn_cfg:Port";
- type Erp-port1;
- description "ERP main port number";
- }
- leaf role {
- xr:xr-xml-map "l2vpn_cfg:Role";
- type Rpl-role;
- description "RPL role";
- }
- }
-
- container aps {
- xr:xr-xml-map "l2vpn_cfg:APS";
- description "Automatic protection switching";
-
- container port1 {
- xr:xr-xml-map "l2vpn_cfg:Port1";
- description "APS channel for ERP port1";
- leaf aps-type {
- xr:xr-xml-map "l2vpn_cfg:APSType";
- type Erpaps;
- description "Port1 APS type";
- }
- leaf aps-channel {
- xr:xr-xml-map "l2vpn_cfg:APSChannel";
- type string;
- description
- "Port1 APS channel in the format of
- InterfaceName, BDName or XconnectName";
- }
- }
- leaf port0 {
- xr:xr-xml-map "l2vpn_cfg:Port0";
- xr:xr-cli-map "port0 interface <interface> ";
- type string;
- description
- "Port0 APS channel in the format of
- InterfaceName";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description
- "Enable automatic protection switching";
- }
- leaf level {
- xr:xr-xml-map "l2vpn_cfg:Level";
- xr:xr-cli-map "level <number> ";
- type Erpaps-level-range;
- description
- "Automatic protection switching level";
- }
- }
- leaf description {
- xr:xr-xml-map "l2vpn_cfg:Description";
- xr:xr-cli-map "description <string> ";
- type string {
- length "0..32";
- }
- description
- "Ethernet ring protection instance
- description";
- }
- leaf inclusion-list {
- xr:xr-xml-map "l2vpn_cfg:InclusionList";
- xr:xr-cli-map "inclusion-list vlan-ids <string> ";
- type string;
- description
- "Associates a set of VLAN IDs with the G
- .8032 instance";
- }
- leaf profile {
- xr:xr-xml-map "l2vpn_cfg:Profile";
- xr:xr-cli-map "profile <string> ";
- type string {
- length "0..32";
- }
- description
- "Ethernet ring protection instance profile";
- }
- leaf erp-instance-id {
- xr:xr-xml-map "l2vpn_cfg:ERPInstanceID";
- type Erp-instance-range;
- description "ERP instance number";
- }
- }
- }
-
- container erp-port1s {
- xr:xr-xml-map "l2vpn_cfg:ERPPort1Table";
- description "Ethernet ring protection port0";
-
- list erp-port1 {
- xr:xr-xml-map "l2vpn_cfg:ERPPort1";
- must "none or virtual-or-interface" {
- description
- "None or Virtual-or-Interface must be
- present.";
- }
- key "erp-port-type";
- description "Ethernet ring protection port1";
-
- grouping ERP-PORT1-CONTENT {
- description "ERP PORT1 CONTENT";
- leaf monitor {
- type xr:Interface-name;
- description
- "Ethernet ring protection port1 monitor";
- }
- }
-
- container none {
- xr:xr-xml-map "l2vpn_cfg:Monitor";
- when "../erp-port-type = 'none'" {
- description "../ERPPortType = None";
- }
- presence "Indicates that this node is configured.";
- description "none";
- uses ERP-PORT1-CONTENT;
- }
- leaf erp-port-type {
- xr:xr-xml-map "l2vpn_cfg:ERPPortType";
- type Erp-port;
- description "Port1 type";
- }
-
- list virtual-or-interface {
- xr:xr-xml-map "l2vpn_cfg:Monitor";
- when "../erp-port-type = 'virtual' or"+
- " ../erp-port-type = 'interface'" {
- description
- "../ERPPortType = Virtual or .
- ./ERPPortType = Interface";
- }
- key "interface-name";
- description "virtual or interface";
- leaf interface-name {
- xr:xr-xml-map "l2vpn_cfg:InterfaceName";
- type xr:Interface-name;
- description "Port1 interface";
- }
- uses ERP-PORT1-CONTENT;
- }
- }
- }
- leaf open-ring {
- xr:xr-xml-map "l2vpn_cfg:OpenRing";
- xr:xr-cli-map "l2vpn ethernet ring g8032 <string> open-"+
- "ring ";
- type empty;
- description "Specify the G.8032 instance as open ring";
- }
- leaf exclusion-list {
- xr:xr-xml-map "l2vpn_cfg:ExclusionList";
- xr:xr-cli-map "l2vpn ethernet ring g8032 <string> exclu"+
- "sion-list vlan-ids <string> ";
- type string;
- description
- "Vlan IDs in the format of a-b,c,d,e-f,g
- ,untagged";
- }
- leaf erp-provider-bridge {
- xr:xr-xml-map "l2vpn_cfg:ERPProviderBridge";
- type empty;
- description "Ethernet ring protection provider bridge";
- }
- leaf g8032-ring-name {
- xr:xr-xml-map "l2vpn_cfg:G8032RingName";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the G8032 ring";
- }
- }
- }
-
- container xconnect-groups {
- xr:xr-xml-map "l2vpn_cfg:XConnectGroupTable";
- description "List of xconnect groups";
-
- list xconnect-group {
- xr:xr-xml-map "l2vpn_cfg:XConnectGroup";
- key "name";
- description "Xconnect group";
-
- container p2p-xconnects {
- xr:xr-xml-map "l2vpn_cfg:P2PXConnectTable";
- description "List of point to point xconnects";
-
- list p2p-xconnect {
- xr:xr-xml-map "l2vpn_cfg:P2PXConnect";
- key "name";
- description "Point to point xconnect";
-
- container backup-attachment-circuits {
- xr:xr-xml-map "l2vpn_cfg:BackupAttachmentCircuitTab"+
- "le";
- description "List of backup attachment circuits";
-
- list backup-attachment-circuit {
- xr:xr-xml-map "l2vpn_cfg:BackupAttachmentCircuit";
- key "interface-name";
- description "Backup attachment circuit";
- leaf interface-name {
- xr:xr-xml-map "l2vpn_cfg:InterfaceName";
- type xr:Interface-name;
- description
- "Name of the attachment circuit interface";
- }
- }
- }
-
- container pseudowire-evpns {
- xr:xr-xml-map "l2vpn_cfg:PseudowireEvpnTable";
- description "List of EVPN Services";
-
- list pseudowire-evpn {
- xr:xr-xml-map "l2vpn_cfg:PseudowireEvpn";
- key "eviid remote-acid source-acid";
- description "EVPN P2P Service Configuration";
- leaf eviid {
- xr:xr-xml-map "l2vpn_cfg:EVIID";
- type Evpnvpnid-range;
- description "Ethernet VPN ID";
- }
- leaf remote-acid {
- xr:xr-xml-map "l2vpn_cfg:RemoteACID";
- type Pseudowire-acid-range;
- description "Remote AC ID";
- }
- leaf source-acid {
- xr:xr-xml-map "l2vpn_cfg:SourceACID";
- type Pseudowire-acid-range;
- description "Source AC ID";
- }
- }
- }
-
- container pseudowires {
- xr:xr-xml-map "l2vpn_cfg:PseudowireTable";
- description "List of pseudowires";
-
- list pseudowire {
- must "pseudowire-address or neighbor" {
- description
- "pseudowire-address or neighbor must be
- present.";
- }
- key "pseudowire-id";
- description "Pseudowire configuration";
-
- grouping PSEUDOWIRE-CONTENT {
- description "Content grouping.";
-
- container mpls-static-labels {
- xr:xr-xml-map "l2vpn_cfg:MPLSStaticLabels";
- description "MPLS static labels";
- leaf local-static-label {
- xr:xr-xml-map "l2vpn_cfg:LocalStaticLabel";
- type Pseudowire-label-range;
- description "Pseudowire local static label";
- }
- leaf remote-static-label {
- xr:xr-xml-map "l2vpn_cfg:RemoteStaticLabel";
- type Pseudowire-label-range;
- description
- "Pseudowire remote static label";
- }
- }
-
- container backup-pseudowires {
- xr:xr-xml-map "l2vpn_cfg:BackupPseudowireTabl"+
- "e";
- description "List of pseudowires";
-
- list backup-pseudowire {
- xr:xr-xml-map "l2vpn_cfg:BackupPseudowire";
- key "neighbor pseudowire-id";
- description
- "Backup pseudowire for the cross connect";
-
- container backup-mpls-static-labels {
- xr:xr-xml-map "l2vpn_cfg:BackupMPLSStatic"+
- "Labels";
- description "MPLS static labels";
- leaf local-static-label {
- xr:xr-xml-map "l2vpn_cfg:LocalStaticLab"+
- "el";
- type Pseudowire-label-range;
- description
- "Pseudowire local static label";
- }
- leaf remote-static-label {
- xr:xr-xml-map "l2vpn_cfg:RemoteStaticLa"+
- "bel";
- type Pseudowire-label-range;
- description
- "Pseudowire remote static label";
- }
- }
- leaf backup-pw-class {
- xr:xr-xml-map "l2vpn_cfg:BackupPWClass";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description
- "PW class template name to use for the
- backup PW";
- }
- leaf neighbor {
- xr:xr-xml-map "l2vpn_cfg:Neighbor";
- type inet:ipv4-address-no-zone;
- description "Neighbor IP address";
- }
- leaf pseudowire-id {
- xr:xr-xml-map "l2vpn_cfg:PseudowireID";
- type Pseudowire-id-range;
- description "Pseudowire ID";
- }
- }
- }
-
- container l2tp-static-attributes {
- xr:xr-xml-map "l2vpn_cfg:L2TPStaticAttributes";
- description "L2TP Static Attributes";
-
- container l2tp-remote-cookie {
- xr:xr-xml-map "l2vpn_cfg:L2TPRemoteCookie";
- description "L2TP remote cookie";
- leaf size {
- xr:xr-xml-map "l2vpn_cfg:Size";
- type L2tp-cookie-size;
- description "Remote cookie size";
- }
- leaf lower-value {
- xr:xr-xml-map "l2vpn_cfg:LowerValue";
- type L2tp-cookie-value-range;
- description "Lower remote cookie value";
- }
- leaf higher-value {
- xr:xr-xml-map "l2vpn_cfg:HigherValue";
- type L2tp-cookie-value-range;
- description "Higher remote cookie value";
- }
- }
-
- container l2tp-secondary-local-cookie {
- xr:xr-xml-map "l2vpn_cfg:L2TPSecondaryLocal"+
- "Cookie";
- description "L2TP secondary local cookie";
- leaf size {
- xr:xr-xml-map "l2vpn_cfg:Size";
- type L2tp-cookie-size;
- description "Local cookie size";
- }
- leaf lower-value {
- xr:xr-xml-map "l2vpn_cfg:LowerValue";
- type L2tp-cookie-value-range;
- description "Lower local cookie value";
- }
- leaf higher-value {
- xr:xr-xml-map "l2vpn_cfg:HigherValue";
- type L2tp-cookie-value-range;
- description "Higher local cookie value";
- }
- }
-
- container l2tp-local-cookie {
- xr:xr-xml-map "l2vpn_cfg:L2TPLocalCookie";
- description "L2TP local cookie";
- leaf size {
- xr:xr-xml-map "l2vpn_cfg:Size";
- type L2tp-cookie-size;
- description "Local cookie size";
- }
- leaf lower-value {
- xr:xr-xml-map "l2vpn_cfg:LowerValue";
- type L2tp-cookie-value-range;
- description "Lower local cookie value";
- }
- leaf higher-value {
- xr:xr-xml-map "l2vpn_cfg:HigherValue";
- type L2tp-cookie-value-range;
- description "Higher local cookie value";
- }
- }
- leaf l2tp-remote-session-id {
- xr:xr-xml-map "l2vpn_cfg:L2TPRemoteSessionI"+
- "D";
- type L2tp-session-id-range;
- description "L2TP remote session ID";
- }
- leaf l2tp-local-session-id {
- xr:xr-xml-map "l2vpn_cfg:L2TPLocalSessionID";
- type L2tp-session-id-range;
- description "L2TP local session ID";
- }
- }
-
- container l2tp-static {
- xr:xr-xml-map "l2vpn_cfg:L2TPStatic";
- description
- "Pseudowire L2TPv3 static configuration";
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description
- "Enable pseudowire L2TPv3 static
- configuration";
- }
- }
- leaf tag-impose {
- xr:xr-xml-map "l2vpn_cfg:TagImpose";
- type Pseudowire-tag-range;
- description "Tag Impose vlan tagged mode";
- }
- leaf class {
- xr:xr-xml-map "l2vpn_cfg:Class";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the pseudowire class";
- }
- leaf source-address {
- xr:xr-xml-map "l2vpn_cfg:SourceAddress";
- type inet:ip-address-no-zone;
- description
- "Value of the Pseudowire source address.
- Must be IPv6 only.";
- }
- leaf bandwidth {
- xr:xr-xml-map "l2vpn_cfg:Bandwidth";
- type uint32 {
- range "0..4294967295";
- }
- description "Pseudowire Bandwidth";
- }
- }
- leaf pseudowire-id {
- xr:xr-xml-map "l2vpn_cfg:PseudowireID";
- type Pseudowire-id-range;
- description "Pseudowire ID";
- }
-
- list neighbor {
- xr:xr-xml-map "l2vpn_cfg:Pseudowire";
- key "neighbor";
- description "keys: neighbor";
- leaf neighbor {
- xr:xr-xml-map "l2vpn_cfg:Neighbor";
- type inet:ipv4-address-no-zone;
- description "Pseudowire IPv4 address";
- }
- uses PSEUDOWIRE-CONTENT;
- }
-
- list pseudowire-address {
- xr:xr-xml-map "l2vpn_cfg:Pseudowire";
- key "pseudowire-address";
- description "keys: pseudowire-address";
- leaf pseudowire-address {
- xr:xr-xml-map "l2vpn_cfg:PseudowireAddress";
- type inet:ipv6-address-no-zone;
- description
- "Pseudowire IPv6 address. A pseudowire
- can have only one address: IPv4 or IPv6";
- }
- uses PSEUDOWIRE-CONTENT;
- }
- }
- }
-
- container monitor-sessions {
- xr:xr-xml-map "l2vpn_cfg:MonitorSessionTable";
- description "List of Monitor session segments";
-
- list monitor-session {
- xr:xr-xml-map "l2vpn_cfg:MonitorSession";
- key "name";
- description "Monitor session segment";
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- xr:xr-cli-map "l2vpn xconnect group <string> p2"+
- "p <string> monitor-session <string> ";
- type empty;
- description "Enable monitor session segment ";
- }
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Cisco-ios-xr-string {
- length "0..64";
- }
- description "Name of the monitor session";
- }
- }
- }
-
- container pseudowire-routeds {
- xr:xr-xml-map "l2vpn_cfg:PseudowireRoutedTable";
- description "List of pseudowire-routed";
-
- list pseudowire-routed {
- xr:xr-xml-map "l2vpn_cfg:PseudowireRouted";
- key "global-id prefix acid sacid";
- description "Pseudowire configuration";
- leaf tag-impose {
- xr:xr-xml-map "l2vpn_cfg:TagImpose";
- xr:xr-cli-map "tag-impose [vlan <number>] ";
- type Pseudowire-tag-range;
- description "Tag Impose vlan tagged mode";
- }
- leaf class {
- xr:xr-xml-map "l2vpn_cfg:Class";
- xr:xr-cli-map "pw-class <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the pseudowire class";
- }
- leaf global-id {
- xr:xr-xml-map "l2vpn_cfg:GlobalID";
- type Pseudowire-gbl-id-range;
- description "Target Global ID";
- }
- leaf prefix {
- xr:xr-xml-map "l2vpn_cfg:Prefix";
- type inet:ipv4-address-no-zone;
- description "Target Prefix";
- }
- leaf acid {
- xr:xr-xml-map "l2vpn_cfg:ACID";
- type Pseudowire-acid-range;
- description "Target AC ID";
- }
- leaf sacid {
- xr:xr-xml-map "l2vpn_cfg:SACID";
- type Pseudowire-acid-range;
- description "Source AC ID";
- }
- }
- }
-
- container attachment-circuits {
- xr:xr-xml-map "l2vpn_cfg:AttachmentCircuitTable";
- description "List of attachment circuits";
-
- list attachment-circuit {
- xr:xr-xml-map "l2vpn_cfg:AttachmentCircuit";
- key "name";
- description "Attachment circuit interface";
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- xr:xr-cli-map "l2vpn xconnect group <string> p2"+
- "p <string> interface (<interface>)|(<interfa"+
- "ce>) ";
- type empty;
- description
- "Enable attachment circuit interface";
- }
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Interface-name;
- description
- "Name of the attachment circuit interface";
- }
- }
- }
- leaf p2p-description {
- xr:xr-xml-map "l2vpn_cfg:P2PDescription";
- xr:xr-cli-map "l2vpn xconnect group <string> p2p <s"+
- "tring> description <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..64";
- }
- description "cross connect description Name";
- }
- leaf interworking {
- xr:xr-xml-map "l2vpn_cfg:Interworking";
- xr:xr-cli-map "l2vpn xconnect group <string> p2p <s"+
- "tring> interworking (ipv4)|(ethernet) ";
- type Interworking;
- description "Interworking";
- }
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Cisco-ios-xr-string {
- length "0..38";
- }
- description "Name of the point to point xconnect";
- }
- }
- }
-
- container mp2mp-xconnects {
- xr:xr-xml-map "l2vpn_cfg:MP2MPXConnectTable";
- description
- "List of multi point to multi point xconnects";
-
- list mp2mp-xconnect {
- xr:xr-xml-map "l2vpn_cfg:MP2MPXConnect";
- key "name";
- description "Multi point to multi point xconnect";
-
- container mp2mp-auto-discovery {
- xr:xr-xml-map "l2vpn_cfg:MP2MPAutoDiscovery";
- description "auto-discovery in this MP2MP";
-
- container route-distinguisher {
- xr:xr-xml-map "l2vpn_cfg:RouteDistinguisher";
- description "Route Distinguisher";
- leaf type {
- xr:xr-xml-map "l2vpn_cfg:Type";
- type Bgp-route-distinguisher;
- description "Router distinguisher type";
- }
- leaf as {
- xr:xr-xml-map "l2vpn_cfg:AS";
- when "../type = 'two-byte-as' or ../type ="+
- " 'four-byte-as'" {
- description
- "../Type = TwoByteAS or ../Type =
- FourByteAS";
- }
- type Rdas-range;
- description "Two byte or 4 byte AS number";
- }
- leaf as-index {
- xr:xr-xml-map "l2vpn_cfg:ASIndex";
- when "../type = 'two-byte-as' or ../type ="+
- " 'four-byte-as'" {
- description
- "../Type = TwoByteAS or ../Type =
- FourByteAS";
- }
- type Rdas-index;
- description "AS:nn (hex or decimal format)";
- }
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- when "../type = 'ipv4-address'" {
- description "../Type = IPV4Address";
- }
- type inet:ipv4-address-no-zone;
- description "IPV4 address";
- }
- leaf addr-index {
- xr:xr-xml-map "l2vpn_cfg:AddrIndex";
- when "../type = 'ipv4-address'" {
- description "../Type = IPV4Address";
- }
- type Rd-addr-index;
- description "Addr index";
- }
- }
-
- container mp2mp-route-targets {
- xr:xr-xml-map "l2vpn_cfg:MP2MPRouteTargetTable";
- description "Route Target";
-
- list mp2mp-route-target {
- xr:xr-xml-map "l2vpn_cfg:MP2MPRouteTarget";
- must "two-byte-as-or-four-byte-as or"+
- " ipv4-address" {
- description
- "TwoByteAS-or-FourbyteAS or IPV4Address
- must be present.";
- }
- key "role format";
- description "Name of the Route Target";
- leaf role {
- xr:xr-xml-map "l2vpn_cfg:Role";
- type Bgp-route-target-role;
- description "Role of the router target type";
- }
- leaf format {
- xr:xr-xml-map "l2vpn_cfg:Format";
- type Bgp-route-target-format;
- description "Format of the route target";
- }
-
- list two-byte-as-or-four-byte-as {
- when "../format = 'two-byte-as' or"+
- " ../format = 'four-byte-as'" {
- description
- "../Format = TwoByteAS or ../Format =
- FourbyteAS";
- }
- key "as as-index";
- description "two byte as or four byte as";
- leaf as {
- xr:xr-xml-map "l2vpn_cfg:AS";
- type Rdas-range;
- description "Two byte or 4 byte AS number";
- }
- leaf as-index {
- xr:xr-xml-map "l2vpn_cfg:ASIndex";
- type Rdas-index;
- description "AS:nn (hex or decimal format)";
- }
- }
-
- list ipv4-address {
- when "../format = 'ipv4-address'" {
- description "../Format = IPV4Address";
- }
- key "address addr-index";
- description "ipv4 address";
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- type inet:ipv4-address-no-zone;
- description "IPV4 address";
- }
- leaf addr-index {
- xr:xr-xml-map "l2vpn_cfg:AddrIndex";
- type Rd-addr-index;
- description "Addr index";
- }
- }
- }
- }
-
- container mp2mp-signaling-protocol {
- xr:xr-xml-map "l2vpn_cfg:MP2MPSignalingProtocol";
- description "signaling protocol in this MP2MP";
-
- container flow-label-load-balance {
- xr:xr-xml-map "l2vpn_cfg:FlowLabelLoadBalance";
- description
- "Enable Flow Label based load balancing";
- leaf flow-label {
- xr:xr-xml-map "l2vpn_cfg:FlowLabel";
- type Flow-label-load-balance;
- description "Flow Label load balance type";
- }
- leaf static {
- xr:xr-xml-map "l2vpn_cfg:Static";
- type empty;
- description "Static Flow Label";
- }
- }
-
- container ceids {
- xr:xr-xml-map "l2vpn_cfg:CEIDTable";
- description
- "Local Customer Edge Identifier Table";
-
- list ceid {
- xr:xr-xml-map "l2vpn_cfg:CEID";
- key "ce-id";
- description "Local Customer Edge Identifier ";
-
- container remote-ceid-attachment-circuits {
- xr:xr-xml-map "l2vpn_cfg:RemoteCEIDAttachme"+
- "ntCircuitTable";
- description
- "AC And Remote Customer Edge Identifier
- Table";
-
- list remote-ceid-attachment-circuit {
- xr:xr-xml-map "l2vpn_cfg:RemoteCEIDAttach"+
- "mentCircuit";
- key "name remote-ce-id";
- description
- "AC And Remote Customer Edge Identifier";
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Interface-name;
- description
- "The name of the Attachment Circuit";
- }
- leaf remote-ce-id {
- xr:xr-xml-map "l2vpn_cfg:RemoteCeId";
- type Ce-id-range;
- description
- "Remote Customer Edge Identifier";
- }
- }
- }
- leaf ce-id {
- xr:xr-xml-map "l2vpn_cfg:CEId";
- type Ce-id-range;
- description
- "Local Customer Edge Identifier";
- }
- }
- }
- leaf ce-range {
- xr:xr-xml-map "l2vpn_cfg:CERange";
- xr:xr-cli-map "ce-range <number> ";
- type Cedge-range;
- description "Local Customer Edge Identifier";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable signaling protocol";
- }
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable auto-discovery";
- }
- }
- leaf mp2mpmtu {
- xr:xr-xml-map "l2vpn_cfg:MP2MPMTU";
- xr:xr-cli-map "l2vpn xconnect group <string> mp2mp "+
- "<string> mtu <number> ";
- type L2vpn-mtu-range;
- units "byte";
- description
- "Maximum transmission unit for this MP2MP
- VPWS instance";
- }
- leaf mp2mp-control-word {
- xr:xr-xml-map "l2vpn_cfg:MP2MPControlWord";
- xr:xr-cli-map "l2vpn xconnect group <string> mp2mp "+
- "<string> control-word disable ";
- type empty;
- description "Disable control word";
- }
- leaf mp2mpl2-encapsulation {
- xr:xr-xml-map "l2vpn_cfg:MP2MPL2Encapsulation";
- xr:xr-cli-map "l2vpn xconnect group <string> mp2mp "+
- "<string> l2-encapsulation <enum> ";
- type L2-encapsulation;
- description "Configure Layer 2 Encapsulation";
- }
- leaf mp2mp-interworking {
- xr:xr-xml-map "l2vpn_cfg:MP2MPInterworking";
- xr:xr-cli-map "l2vpn xconnect group <string> mp2mp "+
- "<string> interworking <enum> ";
- type Interworking;
- description "Interworking";
- }
- leaf mp2mp-shutdown {
- xr:xr-xml-map "l2vpn_cfg:MP2MPShutdown";
- xr:xr-cli-map "l2vpn xconnect group <string> mp2mp "+
- "<string> shutdown ";
- type empty;
- description "shutdown this MP2MP VPWS instance";
- }
- leaf mp2mpvpn-id {
- xr:xr-xml-map "l2vpn_cfg:MP2MPVPNId";
- xr:xr-cli-map "l2vpn xconnect group <string> mp2mp "+
- "<string> vpn-id <number> ";
- type Vpnid-range;
- description "VPN Identifier";
- }
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Cisco-ios-xr-string {
- length "0..26";
- }
- description
- "Name of the multi point to multi point
- xconnect";
- }
- }
- }
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the xconnect group";
- }
- }
- }
-
- container bridge-domain-groups {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomainGroupTable";
- description "List of bridge groups";
-
- list bridge-domain-group {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomainGroup";
- key "name";
- description "Bridge group";
-
- container bridge-domains {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomainTable";
- description "List of Bridge Domain";
-
- list bridge-domain {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomain";
- key "name";
- description "bridge domain";
-
- container bd-storm-controls {
- xr:xr-xml-map "l2vpn_cfg:BDStormControlTable";
- description "Storm Control";
-
- list bd-storm-control {
- xr:xr-xml-map "l2vpn_cfg:BDStormControl";
- key "sctype";
- description "Storm Control Type";
- leaf sctype {
- xr:xr-xml-map "l2vpn_cfg:SCType";
- type Storm-control;
- description "Storm Control Type";
- }
- uses STORM-CONTROL-UNIT;
- }
- }
-
- container member-vnis {
- xr:xr-xml-map "l2vpn_cfg:MemberVNITable";
- description
- "Bridge Domain VxLAN Network Identifier
- Table";
-
- list member-vni {
- xr:xr-xml-map "l2vpn_cfg:MemberVNI";
- key "vni";
- description
- "Bridge Domain Member VxLAN Network
- Identifier ";
- leaf vni {
- xr:xr-xml-map "l2vpn_cfg:VNI";
- type uint32 {
- range "1..16777215";
- }
- description "VxLAN Network Identifier number";
- }
- }
- }
-
- container bridge-domain-mac {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomainMAC";
- description "MAC configuration commands";
-
- container bd-mac-limit {
- xr:xr-xml-map "l2vpn_cfg:BD_MACLimit";
- description "MAC-Limit configuration commands";
- leaf bd-mac-limit-action {
- xr:xr-xml-map "l2vpn_cfg:BD_MACLimitAction";
- xr:xr-cli-map "action (flood)|(no-flood)|(shutd"+
- "own) ";
- type Mac-limit-action;
- description
- "MAC address limit enforcement action";
- }
- leaf bd-mac-limit-notif {
- xr:xr-xml-map "l2vpn_cfg:BD_MACLimitNotif";
- xr:xr-cli-map "notification (trap)|(both)|(none"+
- ") ";
- type Mac-notification;
- description "Mac Address Limit Notification";
- }
- leaf bd-mac-limit-max {
- xr:xr-xml-map "l2vpn_cfg:BD_MACLimitMax";
- xr:xr-cli-map "maximum <number> ";
- type Mac-limit-range;
- description
- "Number of MAC addresses after which MAC
- limit action is taken";
- }
- }
-
- container bd-mac-filters {
- xr:xr-xml-map "l2vpn_cfg:BD_MACFilterTable";
- description "Filter Mac Address";
-
- list bd-mac-filter {
- xr:xr-xml-map "l2vpn_cfg:BD_MACFilter";
- key "address";
- description "Static MAC address";
- leaf drop {
- xr:xr-xml-map "l2vpn_cfg:Drop";
- xr:xr-cli-map "static-address <MAC address> d"+
- "rop ";
- type empty;
- description "MAC address for filtering";
- }
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- type yang:mac-address;
- description "Static MAC address";
- }
- }
- }
-
- container mac-secure {
- xr:xr-xml-map "l2vpn_cfg:MACSecure";
- description "MAC Secure";
- leaf logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- xr:xr-cli-map "logging ";
- type empty;
- description "MAC Secure Logging";
- }
- leaf action {
- xr:xr-xml-map "l2vpn_cfg:Action";
- xr:xr-cli-map "action (none)|(shutdown) ";
- type Mac-secure-action;
- description "MAC secure enforcement action";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable MAC Secure";
- }
- }
-
- container bd-mac-aging {
- xr:xr-xml-map "l2vpn_cfg:BD_MACAging";
- description "MAC-Aging configuration commands";
- leaf bd-mac-aging-type {
- xr:xr-xml-map "l2vpn_cfg:BD_MACAgingType";
- xr:xr-cli-map "aging type absolute ";
- type Mac-aging;
- description "MAC address aging type";
- }
- leaf bd-mac-aging-time {
- xr:xr-xml-map "l2vpn_cfg:BD_MACAgingTime";
- xr:xr-cli-map "aging time <number> ";
- type Mac-aging-range;
- description "Mac Aging Time";
- }
- }
- leaf bd-mac-withdraw-relay {
- xr:xr-xml-map "l2vpn_cfg:BD_MACWithdrawRelay";
- xr:xr-cli-map "withdraw relay ";
- type empty;
- description
- "Mac withdraw sent from access PW to access
- PW";
- }
- leaf bd-mac-withdraw-access-pw-disable {
- xr:xr-xml-map "l2vpn_cfg:BD_MACWithdrawAccessPWDi"+
- "sable";
- xr:xr-cli-map "withdraw access-pw disable ";
- type empty;
- description "MAC withdraw on Access PW";
- }
- leaf bd-mac-port-down-flush {
- xr:xr-xml-map "l2vpn_cfg:BD_MACPortDownFlush";
- xr:xr-cli-map "port-down flush [disable] ";
- type empty;
- description
- "Disable MAC Flush when Port goes Down";
- }
- leaf bd-mac-withdraw {
- xr:xr-xml-map "l2vpn_cfg:BD_MACWithdraw";
- xr:xr-cli-map "withdraw disable ";
- type empty;
- description "Disable Mac Withdraw";
- }
- leaf bd-mac-withdraw-behavior {
- xr:xr-xml-map "l2vpn_cfg:BD_MACWithdrawBehavior";
- xr:xr-cli-map "withdraw state-down ";
- type Mac-withdraw-behavior;
- description
- "MAC withdraw sent on bridge port down";
- }
- leaf bd-mac-learn {
- xr:xr-xml-map "l2vpn_cfg:BD_MACLearn";
- xr:xr-cli-map "learning [disable] ";
- type Mac-learn;
- description "Enable Mac Learning";
- }
- }
-
- container nv-satellite {
- xr:xr-xml-map "l2vpn_cfg:nVSatellite";
- description "nV Satellite";
- leaf offload-ipv4-multicast-enable {
- xr:xr-xml-map "l2vpn_cfg:OffloadIPv4MulticastEnab"+
- "le";
- xr:xr-cli-map "l2vpn bridge group <string> bridge"+
- "-domain <string> nv satellite offload ipv4 mul"+
- "ticast enable ";
- type empty;
- description
- "Enable IPv4 Multicast Offload to Satellite
- Nodes";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable nV Satellite Settings";
- }
- }
-
- container bridge-domain-pbb {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomainPBB";
- description "Bridge Domain PBB";
-
- container pbb-edges {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeTable";
- description "PBB Edge";
-
- list pbb-edge {
- xr:xr-xml-map "l2vpn_cfg:PBBEdge";
- key "isid core-bd-name";
- description
- "Configure BD as PBB Edge with ISID and
- associated PBB Core BD";
-
- container pbb-static-mac-mappings {
- xr:xr-xml-map "l2vpn_cfg:PBBStaticMACMappingT"+
- "able";
- description
- "PBB Static Mac Address Mapping Table";
-
- list pbb-static-mac-mapping {
- xr:xr-xml-map "l2vpn_cfg:PBBStaticMACMappin"+
- "g";
- key "address";
- description
- "PBB Static Mac Address Mapping
- Configuration";
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- type yang:mac-address;
- description "Static MAC address";
- }
- leaf bmac {
- xr:xr-xml-map "l2vpn_cfg:BMAC";
- type yang:mac-address;
- mandatory true;
- description "Backbone MAC address";
- }
- }
- }
-
- container pbb-edge-dhcp-profile {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeDHCPProfile";
- description "Attach a DHCP profile";
- leaf profile-id {
- xr:xr-xml-map "l2vpn_cfg:ProfileId";
- type Interface-profile;
- description "Set the snooping profile";
- }
- leaf dhcp-snooping-id {
- xr:xr-xml-map "l2vpn_cfg:DhcpSnoopingID";
- type string;
- description "Disable DHCP snooping";
- }
- }
-
- container pbb-edge-mac {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeMAC";
- description "MAC configuration commands";
-
- container pbb-edge-mac-limit {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeMACLimit";
- description
- "MAC-Limit configuration commands";
- leaf pbb-edge-mac-limit-action {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeMACLimitA"+
- "ction";
- xr:xr-cli-map "action (flood)|(no-flood)|"+
- "(shutdown)|(none) ";
- type Mac-limit-action;
- description
- "MAC address limit enforcement action";
- }
- leaf pbb-edge-mac-limit-max {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeMACLimitM"+
- "ax";
- xr:xr-cli-map "maximum <number> ";
- type Mac-limit-range;
- description
- "Number of MAC addresses after which
- MAC limit action is taken";
- }
- leaf pbb-edge-mac-limit-notif {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeMACLimitN"+
- "otif";
- xr:xr-cli-map "notification (trap)|(both)"+
- "|(none)|(syslog) ";
- type Mac-notification;
- description
- "MAC address limit notification action";
- }
- }
-
- container pbb-edge-mac-aging {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeMACAging";
- description
- "MAC-Aging configuration commands";
- leaf pbb-edge-mac-aging-type {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeMACAgingT"+
- "ype";
- xr:xr-cli-map "aging type (absolute)|(ina"+
- "ctivity) ";
- type Mac-aging;
- description "MAC address aging type";
- }
- leaf pbb-edge-mac-aging-time {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeMACAgingT"+
- "ime";
- xr:xr-cli-map "aging time <number> ";
- type Mac-aging-range;
- description "Mac Aging Time";
- }
- }
-
- container pbb-edge-mac-secure {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeMACSecure";
- description "MAC Secure";
- leaf logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- xr:xr-cli-map "logging (disable) ";
- type L2vpn-logging;
- description "MAC Secure Logging";
- }
- leaf disable {
- xr:xr-xml-map "l2vpn_cfg:Disable";
- xr:xr-cli-map "disable ";
- type empty;
- description
- "Disable Virtual instance port MAC
- Secure";
- }
- leaf action {
- xr:xr-xml-map "l2vpn_cfg:Action";
- xr:xr-cli-map "action (none)|(shutdown)|("+
- "restrict) ";
- type Mac-secure-action;
- description
- "MAC secure enforcement action";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable MAC Secure";
- }
- leaf accept-shutdown {
- xr:xr-xml-map "l2vpn_cfg:AcceptShutdown";
- xr:xr-cli-map "accept-shutdown ";
- type empty;
- description
- "Accept Virtual instance port to be
- shutdown on mac violation";
- }
- }
- leaf pbb-edge-mac-learning {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeMACLearning";
- xr:xr-cli-map "learning (disable) ";
- type Mac-learn;
- description "Enable Mac Learning";
- }
- }
- leaf pbb-edge-igmp-profile {
- xr:xr-xml-map "l2vpn_cfg:PBBEdgeIGMPProfile";
- xr:xr-cli-map "igmp snooping profile <string>"+
- " ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Attach a IGMP Snooping profile";
- }
- leaf unknown-unicast-bmac {
- xr:xr-xml-map "l2vpn_cfg:UnknownUnicastBMAC";
- type yang:mac-address;
- description
- "Configure Unknown Unicast BMAC address
- for PBB Edge Port";
- }
- leaf isid {
- xr:xr-xml-map "l2vpn_cfg:ISID";
- type Pbbisid-range;
- description "ISID";
- }
- leaf core-bd-name {
- xr:xr-xml-map "l2vpn_cfg:CoreBDName";
- type xr:Cisco-ios-xr-string {
- length "0..27";
- }
- description "Core BD Name";
- }
- }
- }
-
- container pbb-core {
- xr:xr-xml-map "l2vpn_cfg:PBBCore";
- description "PBB Core";
-
- container pbb-core-mac {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreMAC";
- description "MAC configuration commands";
-
- container pbb-core-mac-aging {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreMACAging";
- description
- "MAC-Aging configuration commands";
- leaf pbb-core-mac-aging-type {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreMACAgingTyp"+
- "e";
- xr:xr-cli-map "aging type (absolute)|(inact"+
- "ivity) ";
- type Mac-aging;
- description "MAC address aging type";
- }
- leaf pbb-core-mac-aging-time {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreMACAgingTim"+
- "e";
- xr:xr-cli-map "aging time <number> ";
- type Mac-aging-range;
- description "Mac Aging Time";
- }
- }
-
- container pbb-core-mac-limit {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreMACLimit";
- description
- "MAC-Limit configuration commands";
- leaf pbb-core-mac-limit-max {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreMACLimitMax";
- xr:xr-cli-map "maximum <number> ";
- type Mac-limit-range;
- description
- "Number of MAC addresses after which MAC
- limit action is taken";
- }
- leaf pbb-core-mac-limit-notif {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreMACLimitNot"+
- "if";
- xr:xr-cli-map "notification (trap)|(both)|("+
- "none)|(syslog) ";
- type Mac-notification;
- description
- "MAC address limit notification action";
- }
- leaf pbb-core-mac-limit-action {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreMACLimitAct"+
- "ion";
- xr:xr-cli-map "action (flood)|(no-flood)|(s"+
- "hutdown)|(none) ";
- type Mac-limit-action;
- description
- "MAC address limit enforcement action";
- }
- }
- leaf pbb-core-mac-learning {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreMACLearning";
- xr:xr-cli-map "learning (disable) ";
- type Mac-learn;
- description "Enable Mac Learning";
- }
- }
-
- container pbb-core-dhcp-profile {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreDHCPProfile";
- description "Attach a DHCP profile";
- leaf profile-id {
- xr:xr-xml-map "l2vpn_cfg:ProfileId";
- type Interface-profile;
- description "Set the snooping profile";
- }
- leaf dhcp-snooping-id {
- xr:xr-xml-map "l2vpn_cfg:DhcpSnoopingID";
- type string;
- description "Disable DHCP snooping";
- }
- }
- leaf pbb-core-mmrp-flood-optimization {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreMMRPFloodOptimi"+
- "zation";
- xr:xr-cli-map "l2vpn bridge group <string> brid"+
- "ge-domain <string> pbb core mmrp-flood-optim"+
- "ization ";
- type empty;
- description
- "Enabling MMRP PBB-VPLS Flood Optimization";
- }
- leaf vlan-id {
- xr:xr-xml-map "l2vpn_cfg:VLAN_ID";
- xr:xr-cli-map "l2vpn bridge group <string> brid"+
- "ge-domain <string> pbb core rewrite ingress "+
- "tag push dot1ad <number> symmetric ";
- type Pbbvid-range;
- description "VLAN ID to push";
- }
- leaf pbb-core-igmp-profile {
- xr:xr-xml-map "l2vpn_cfg:PBBCoreIGMPProfile";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Attach a IGMP Snooping profile";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description
- "Enable Bridge Domain PBB Core
- Configuration";
- }
- leaf evpn-attribute {
- xr:xr-xml-map "l2vpn_cfg:EVPNAttribute";
- xr:xr-cli-map "l2vpn bridge group <string> brid"+
- "ge-domain <string> pbb core evpn evi <number"+
- "> ";
- type Evpnvpnid-range;
- description "Configure EVPN EVI";
- }
- }
- }
-
- container bd-pseudowires {
- xr:xr-xml-map "l2vpn_cfg:BDPseudowireTable";
- description "List of pseudowires";
-
- list bd-pseudowire {
- xr:xr-xml-map "l2vpn_cfg:BDPseudowire";
- key "neighbor pseudowire-id";
- description "Pseudowire configuration";
-
- container pseudowire-dai {
- xr:xr-xml-map "l2vpn_cfg:PseudowireDAI";
- description
- "Access Pseudowire Dynamic ARP Inspection";
-
- container pseudowire-dai-address-validation {
- xr:xr-xml-map "l2vpn_cfg:PseudowireDAIAddress"+
- "Validation";
- description "Address Validation";
- leaf ipv4-verification {
- xr:xr-xml-map "l2vpn_cfg:IPv4Verification";
- type L2vpn-verification;
- description "IPv4 Verification";
- }
- leaf destination-mac-verification {
- xr:xr-xml-map "l2vpn_cfg:DestinationMACVeri"+
- "fication";
- type L2vpn-verification;
- description "Destination MAC Verification";
- }
- leaf source-mac-verification {
- xr:xr-xml-map "l2vpn_cfg:SourceMACVerificat"+
- "ion";
- type L2vpn-verification;
- description "Source MAC Verification";
- }
- }
- leaf logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- type L2vpn-logging;
- description "Logging Type";
- }
- leaf disable {
- xr:xr-xml-map "l2vpn_cfg:Disable";
- type empty;
- description "Disable Dynamic ARP Inspection";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description
- "Enable Access Pseudowire Dynamic ARP
- Inspection";
- }
- }
-
- container bdpw-storm-control-types {
- xr:xr-xml-map "l2vpn_cfg:BDPWStormControlTable";
- description "Storm Control";
-
- list bdpw-storm-control-type {
- xr:xr-xml-map "l2vpn_cfg:BDPWStormControlType";
- key "sctype";
- description "Storm Control Type";
- leaf sctype {
- xr:xr-xml-map "l2vpn_cfg:SCType";
- type Storm-control;
- description "Storm Control Type";
- }
- uses STORM-CONTROL-UNIT;
- }
- }
-
- container pseudowire-profile {
- xr:xr-xml-map "l2vpn_cfg:PseudowireProfile";
- description "Attach a DHCP profile";
- leaf profile-id {
- xr:xr-xml-map "l2vpn_cfg:ProfileId";
- type Interface-profile;
- description "Set the snooping profile";
- }
- leaf dhcp-snooping-id {
- xr:xr-xml-map "l2vpn_cfg:DhcpSnoopingID";
- type string;
- description "Disable DHCP snooping";
- }
- }
-
- container bd-pw-static-mac-addresses {
- xr:xr-xml-map "l2vpn_cfg:BD_PWStaticMACAddressT"+
- "able";
- description "Static Mac Address Table";
-
- list bd-pw-static-mac-address {
- xr:xr-xml-map "l2vpn_cfg:BD_PWStaticMacAddres"+
- "s";
- key "address";
- description
- "Static Mac Address Configuration";
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- type yang:mac-address;
- description "Static MAC address";
- }
- }
- }
-
- container pseudowire-ip-source-guard {
- xr:xr-xml-map "l2vpn_cfg:PseudowireIPSourceGuar"+
- "d";
- description "IP Source Guard";
- leaf logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- type L2vpn-logging;
- description "Logging Type";
- }
- leaf disable {
- xr:xr-xml-map "l2vpn_cfg:Disable";
- type empty;
- description "Disable Dynamic IP source guard";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable IP Source Guard";
- }
- }
-
- container pseudowire-mac {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMAC";
- description
- "Bridge-domain Pseudowire MAC
- configuration commands";
-
- container pseudowire-mac-secure {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMACSecure";
- description "MAC Secure";
- leaf logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- xr:xr-cli-map "logging (disable) ";
- type L2vpn-logging;
- description "MAC Secure Logging";
- }
- leaf disable {
- xr:xr-xml-map "l2vpn_cfg:Disable";
- xr:xr-cli-map "disable ";
- type empty;
- description
- "Disable L2 Pseudowire MAC Secure";
- }
- leaf action {
- xr:xr-xml-map "l2vpn_cfg:Action";
- xr:xr-cli-map "action (none)|(shutdown)|(re"+
- "strict) ";
- type Mac-secure-action;
- description "MAC secure enforcement action";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable MAC Secure";
- }
- }
-
- container pseudowire-mac-aging {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMACAging";
- description
- "MAC-Aging configuration commands";
- leaf pseudowire-mac-aging-type {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMACAging"+
- "Type";
- xr:xr-cli-map "aging type (absolute)|(inact"+
- "ivity) ";
- type Mac-aging;
- description "MAC address aging type";
- }
- leaf pseudowire-mac-aging-time {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMACAging"+
- "Time";
- xr:xr-cli-map "aging time <number> ";
- type Mac-aging-range;
- description "MAC Aging Time";
- }
- }
-
- container pseudowire-mac-limit {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMACLimit";
- description
- "MAC-Limit configuration commands";
- leaf pseudowire-mac-limit-action {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMACLimit"+
- "Action";
- xr:xr-cli-map "action (flood)|(no-flood)|(s"+
- "hutdown)|(none) ";
- type Mac-limit-action;
- description
- "Bridge Access Pseudowire MAC address
- limit enforcement action";
- }
- leaf pseudowire-mac-limit-notif {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMACLimit"+
- "Notif";
- xr:xr-cli-map "notification (trap)|(both)|("+
- "none)|(syslog) ";
- type Mac-notification;
- description
- "MAC address limit notification action
- in a Bridge Access Pseudowire";
- }
- leaf pseudowire-mac-limit-max {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMACLimit"+
- "Max";
- xr:xr-cli-map "maximum <number> ";
- type Mac-limit-range;
- description
- "Number of MAC addresses on a Bridge
- Access Pseudowire after which MAC limit
- action is taken";
- }
- }
- leaf pseudowire-mac-port-down-flush {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMACPortDow"+
- "nFlush";
- xr:xr-cli-map "port-down flush (disable) ";
- type Port-down-flush;
- description
- "Enable/Disable MAC Flush When Port goes
- down";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description
- "Bridge-domain Pseudowire MAC
- configuration mode";
- }
- leaf pseudowire-mac-learning {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMACLearnin"+
- "g";
- xr:xr-cli-map "learning (disable) ";
- type Mac-learn;
- description "Enable MAC Learning";
- }
- }
-
- container bd-pw-split-horizon {
- xr:xr-xml-map "l2vpn_cfg:BD_PWSplitHorizon";
- description "Split Horizon";
-
- container bd-pw-split-horizon-group {
- xr:xr-xml-map "l2vpn_cfg:BD_PWSplitHorizonGro"+
- "up";
- description "Split Horizon Group";
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- xr:xr-cli-map "split-horizon group ";
- type empty;
- description "Enable split horizon group";
- }
- }
- }
-
- container bd-pw-mpls-static-labels {
- xr:xr-xml-map "l2vpn_cfg:BD_PW_MPLSStaticLabels";
- description "MPLS static labels";
- leaf local-static-label {
- xr:xr-xml-map "l2vpn_cfg:LocalStaticLabel";
- type Pseudowire-label-range;
- description "Pseudowire local static label";
- }
- leaf remote-static-label {
- xr:xr-xml-map "l2vpn_cfg:RemoteStaticLabel";
- type Pseudowire-label-range;
- description "Pseudowire remote static label";
- }
- }
-
- container bridge-domain-backup-pseudowires {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomainBackupPseu"+
- "dowireTable";
- description "List of pseudowires";
-
- list bridge-domain-backup-pseudowire {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomainBackupPs"+
- "eudowire";
- key "neighbor pseudowire-id";
- description "Backup pseudowire configuration";
- leaf bridge-domain-backup-pw-class {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomainBackup"+
- "PWClass";
- xr:xr-cli-map "backup neighbor <IPv4 addres"+
- "s> pw-id <number> pw-class <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description
- "PW class template name to use for this
- pseudowire";
- }
- leaf neighbor {
- xr:xr-xml-map "l2vpn_cfg:Neighbor";
- type inet:ipv4-address-no-zone;
- description "Neighbor IP address";
- }
- leaf pseudowire-id {
- xr:xr-xml-map "l2vpn_cfg:PseudowireID";
- type Pseudowire-id-range;
- description "Pseudowire ID";
- }
- }
- }
- leaf pseudowire-mld-snoop {
- xr:xr-xml-map "l2vpn_cfg:PseudowireMLDSnoop";
- xr:xr-cli-map "mld snooping profile <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Attach a MLD Snooping profile";
- }
- leaf pseudowire-igmp-snoop {
- xr:xr-xml-map "l2vpn_cfg:PseudowireIGMPSnoop";
- xr:xr-cli-map "igmp snooping profile <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Attach a IGMP Snooping profile";
- }
- leaf pseudowire-flooding {
- xr:xr-xml-map "l2vpn_cfg:PseudowireFlooding";
- xr:xr-cli-map "flooding (disable) ";
- type Interface-traffic-flood;
- description "Bridge-domain Pseudowire flooding";
- }
- leaf bd-pw-class {
- xr:xr-xml-map "l2vpn_cfg:BD_PWClass";
- xr:xr-cli-map "pw-class <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description
- "PW class template name to use for this
- pseudowire";
- }
- leaf pseudowire-flooding-unknown-unicast {
- xr:xr-xml-map "l2vpn_cfg:PseudowireFloodingUnkn"+
- "ownUnicast";
- xr:xr-cli-map "flooding unknown-unicast (disabl"+
- "e) ";
- type Interface-traffic-flood;
- description
- "Bridge-domain Pseudowire flooding Unknown
- Unicast";
- }
- leaf neighbor {
- xr:xr-xml-map "l2vpn_cfg:Neighbor";
- type inet:ipv4-address-no-zone;
- description "Neighbor IP address";
- }
- leaf pseudowire-id {
- xr:xr-xml-map "l2vpn_cfg:PseudowireID";
- type Pseudowire-id-range;
- description "Pseudowire ID";
- }
- }
- }
-
- container vfis {
- xr:xr-xml-map "l2vpn_cfg:VFITable";
- description
- "Specify the virtual forwarding interface
- name";
-
- list vfi {
- xr:xr-xml-map "l2vpn_cfg:VFI";
- key "name";
- description
- "Name of the Virtual Forwarding Interface";
-
- container multicast-p2mp {
- xr:xr-xml-map "l2vpn_cfg:MulticastP2MP";
- description "Enable Multicast P2MP in this VFI";
-
- container transports {
- xr:xr-xml-map "l2vpn_cfg:TransportTable";
- description "Multicast P2MP Transport";
-
- list transport {
- xr:xr-xml-map "l2vpn_cfg:Transport";
- key "transport-name";
- description "Multicast P2MP Transport Type";
- leaf attribute-set-name {
- xr:xr-xml-map "l2vpn_cfg:AttributeSetName";
- type xr:Cisco-ios-xr-string {
- length "0..64";
- }
- description
- "Multicast P2MP TE Attribute Set Name";
- }
- leaf transport-name {
- xr:xr-xml-map "l2vpn_cfg:TransportName";
- type Multicast-p2mp-transport;
- description "Transport Type";
- }
- }
- }
-
- container signalings {
- xr:xr-xml-map "l2vpn_cfg:SignalingTable";
- description "Multicast P2MP Signaling Type";
-
- list signaling {
- xr:xr-xml-map "l2vpn_cfg:Signaling";
- key "signaling-name";
- description "Multicast P2MP Signaling Type";
- leaf signaling-name {
- xr:xr-xml-map "l2vpn_cfg:SignalingName";
- type Multicast-p2mp-signaling;
- description "Signaling Type";
- }
- }
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Autodiscovery P2MP";
- }
- }
-
- container vfi-pseudowires {
- xr:xr-xml-map "l2vpn_cfg:VFIPseudowireTable";
- description "List of pseudowires";
-
- list vfi-pseudowire {
- xr:xr-xml-map "l2vpn_cfg:VFIPseudowire";
- key "neighbor pseudowire-id";
- description "Pseudowire configuration";
-
- container vfi-pw-dhcp-snoop {
- xr:xr-xml-map "l2vpn_cfg:VFI_PW_DHCPSnoop";
- description
- "Attach a DHCP Snooping profile";
- leaf profile-id {
- xr:xr-xml-map "l2vpn_cfg:ProfileId";
- type Interface-profile;
- description "Set the snooping profile";
- }
- leaf dhcp-snooping-id {
- xr:xr-xml-map "l2vpn_cfg:DhcpSnoopingID";
- type string;
- description "Disable DHCP snooping";
- }
- }
-
- container vfi-pw-mpls-static-labels {
- xr:xr-xml-map "l2vpn_cfg:VFI_PW_MPLSStaticL"+
- "abels";
- description "MPLS static labels";
- leaf local-static-label {
- xr:xr-xml-map "l2vpn_cfg:LocalStaticLabel";
- type Pseudowire-label-range;
- description
- "Pseudowire local static label";
- }
- leaf remote-static-label {
- xr:xr-xml-map "l2vpn_cfg:RemoteStaticLabe"+
- "l";
- type Pseudowire-label-range;
- description
- "Pseudowire remote static label";
- }
- }
-
- container pseudowire-static-mac-addresses {
- xr:xr-xml-map "l2vpn_cfg:PseudowireStaticMA"+
- "CAddressTable";
- description "Static Mac Address Table";
-
- list pseudowire-static-mac-address {
- xr:xr-xml-map "l2vpn_cfg:PseudowireStatic"+
- "MACAddress";
- key "address";
- description
- "Static Mac Address Configuration";
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- type yang:mac-address;
- description "Static MAC address";
- }
- }
- }
- leaf vfi-pw-class {
- xr:xr-xml-map "l2vpn_cfg:VFI_PWClass";
- xr:xr-cli-map "neighbor <IPv4 address> pw-i"+
- "d <number> pw-class <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description
- "PW class template name to use for this
- pseudowire";
- }
- leaf vfi-pw-igmp-snoop {
- xr:xr-xml-map "l2vpn_cfg:VFI_PW_IGMPSnoop";
- xr:xr-cli-map "neighbor <IPv4 address> pw-i"+
- "d <number> igmp snooping profile <string"+
- "> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description
- "Attach a IGMP Snooping profile";
- }
- leaf vfi-pw-mld-snoop {
- xr:xr-xml-map "l2vpn_cfg:VFI_PW_MLDSnoop";
- xr:xr-cli-map "neighbor <IPv4 address> pw-i"+
- "d <number> mld snooping profile <string>"+
- " ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Attach a MLD Snooping profile";
- }
- leaf neighbor {
- xr:xr-xml-map "l2vpn_cfg:Neighbor";
- type inet:ipv4-address-no-zone;
- description "Neighbor IP address";
- }
- leaf pseudowire-id {
- xr:xr-xml-map "l2vpn_cfg:PseudowireID";
- type Pseudowire-id-range;
- description "Pseudowire ID";
- }
- }
- }
-
- container bgp-auto-discovery {
- xr:xr-xml-map "l2vpn_cfg:BGPAutoDiscovery";
- description
- "Enable Autodiscovery BGP in this VFI";
-
- container ldp-signaling-protocol {
- xr:xr-xml-map "l2vpn_cfg:LDPSignalingProtocol";
- description
- "Signaling Protocol LDP in this VFI
- configuration";
-
- container vplsid {
- xr:xr-xml-map "l2vpn_cfg:VPLSID";
- description "VPLS ID";
- leaf type {
- xr:xr-xml-map "l2vpn_cfg:Type";
- type Ldp-vpls-id;
- description "VPLS-ID Type";
- }
- leaf as {
- xr:xr-xml-map "l2vpn_cfg:AS";
- when "../type = 'two-byte-as'" {
- description "../Type = TwoByteAS";
- }
- type Vpls-id-as-range;
- description "Two byte AS number";
- }
- leaf as-index {
- xr:xr-xml-map "l2vpn_cfg:ASIndex";
- when "../type = 'two-byte-as'" {
- description "../Type = TwoByteAS";
- }
- type Vpls-id-as-index;
- description "AS index";
- }
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- when "../type = 'ipv4-address'" {
- description "../Type = IPV4Address";
- }
- type inet:ipv4-address-no-zone;
- description "IPV4 address";
- }
- leaf address-index {
- xr:xr-xml-map "l2vpn_cfg:AddressIndex";
- when "../type = 'ipv4-address'" {
- description "../Type = IPV4Address";
- }
- type Vpls-id-addr-index;
- description "Address index";
- }
- }
-
- container flow-label-load-balance {
- xr:xr-xml-map "l2vpn_cfg:FlowLabelLoadBalan"+
- "ce";
- description
- "Enable Flow Label based load balancing";
- leaf flow-label {
- xr:xr-xml-map "l2vpn_cfg:FlowLabel";
- type Flow-label-load-balance;
- description
- "Flow Label load balance type";
- }
- leaf static {
- xr:xr-xml-map "l2vpn_cfg:Static";
- type empty;
- description "Static Flow Label";
- }
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description
- "Enable LDP as Signaling Protocol
- .Deletion of this object also causes
- deletion of all objects under
- LDPSignalingProtocol.";
- }
- }
-
- container route-distinguisher {
- xr:xr-xml-map "l2vpn_cfg:RouteDistinguisher";
- description "Route Distinguisher";
- leaf type {
- xr:xr-xml-map "l2vpn_cfg:Type";
- type Bgp-route-distinguisher;
- description "Router Distinguisher Type";
- }
- leaf as {
- xr:xr-xml-map "l2vpn_cfg:AS";
- when "../type = 'two-byte-as' or ../type"+
- " = 'four-byte-as'" {
- description
- "../Type = TwoByteAS or ../Type =
- FourByteAS";
- }
- type Rdas-range;
- description "Two byte or 4 byte AS number";
- }
- leaf as-index {
- xr:xr-xml-map "l2vpn_cfg:ASIndex";
- when "../type = 'two-byte-as' or ../type"+
- " = 'four-byte-as'" {
- description
- "../Type = TwoByteAS or ../Type =
- FourByteAS";
- }
- type Rdas-index;
- description "AS:nn (hex or decimal format)";
- }
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- when "../type = 'ipv4-address'" {
- description "../Type = IPV4Address";
- }
- type inet:ipv4-address-no-zone;
- description "IPV4 address";
- }
- leaf addr-index {
- xr:xr-xml-map "l2vpn_cfg:AddrIndex";
- when "../type = 'ipv4-address'" {
- description "../Type = IPV4Address";
- }
- type Rd-addr-index;
- description "Addr index";
- }
- }
-
- container bgp-signaling-protocol {
- xr:xr-xml-map "l2vpn_cfg:BGPSignalingProtocol";
- description
- "Enable Signaling Protocol BGP in this
- VFI";
-
- container flow-label-load-balance {
- xr:xr-xml-map "l2vpn_cfg:FlowLabelLoadBalan"+
- "ce";
- description
- "Enable Flow Label based load balancing";
- leaf flow-label {
- xr:xr-xml-map "l2vpn_cfg:FlowLabel";
- type Flow-label-load-balance;
- description
- "Flow Label load balance type";
- }
- leaf static {
- xr:xr-xml-map "l2vpn_cfg:Static";
- type empty;
- description "Static Flow Label";
- }
- }
- leaf ve-range {
- xr:xr-xml-map "l2vpn_cfg:VERange";
- xr:xr-cli-map "ve-range <number> ";
- type Vedge-range;
- description
- "Local Virtual Edge Block Configurable
- Range";
- }
- leaf veid {
- xr:xr-xml-map "l2vpn_cfg:VEID";
- xr:xr-cli-map "ve-id <number> ";
- type Veid-range;
- description "Local Virtual Edge Identifier";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description
- "Enable BGP as Signaling Protocol";
- }
- }
-
- container route-targets {
- xr:xr-xml-map "l2vpn_cfg:RouteTargetTable";
- description "Route Target";
-
- list route-target {
- xr:xr-xml-map "l2vpn_cfg:RouteTarget";
- must "two-byte-as-or-four-byte-as or"+
- " ipv4-address" {
- description
- "TwoByteAS-or-FourbyteAS or IPV4Address
- must be present.";
- }
- key "role format";
- description "Name of the Route Target";
- leaf role {
- xr:xr-xml-map "l2vpn_cfg:Role";
- type Bgp-route-target-role;
- description
- "Role of the router target type";
- }
- leaf format {
- xr:xr-xml-map "l2vpn_cfg:Format";
- type Bgp-route-target-format;
- description "Format of the route target";
- }
-
- list two-byte-as-or-four-byte-as {
- when "../format = 'two-byte-as' or"+
- " ../format = 'four-byte-as'" {
- description
- "../Format = TwoByteAS or ../Format =
- FourbyteAS";
- }
- key "as as-index";
- description "two byte as or four byte as";
- leaf as {
- xr:xr-xml-map "l2vpn_cfg:AS";
- type Rdas-range;
- description
- "Two byte or 4 byte AS number";
- }
- leaf as-index {
- xr:xr-xml-map "l2vpn_cfg:ASIndex";
- type Rdas-index;
- description
- "AS:nn (hex or decimal format)";
- }
- }
-
- list ipv4-address {
- when "../format = 'ipv4-address'" {
- description "../Format = IPV4Address";
- }
- key "address addr-index";
- description "ipv4 address";
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- type inet:ipv4-address-no-zone;
- description "IPV4 address";
- }
- leaf addr-index {
- xr:xr-xml-map "l2vpn_cfg:AddrIndex";
- type Rd-addr-index;
- description "Addr index";
- }
- }
- }
- }
- leaf ad-control-word {
- xr:xr-xml-map "l2vpn_cfg:ADControlWord";
- xr:xr-cli-map "control-word ";
- type empty;
- description
- "Enable control-word for this VFI";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Autodiscovery BGP";
- }
- }
- leaf vfi-shutdown {
- xr:xr-xml-map "l2vpn_cfg:VFIShutdown";
- xr:xr-cli-map "shutdown ";
- type empty;
- description "Enabling Shutdown";
- }
- leaf vpnid {
- xr:xr-xml-map "l2vpn_cfg:VPNID";
- xr:xr-cli-map "vpn-id <number> ";
- type Vpnid-range;
- description "VPN Identifier";
- }
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description
- "Name of the Virtual Forwarding Interface";
- }
- }
- }
-
- container bd-attachment-circuits {
- xr:xr-xml-map "l2vpn_cfg:BDAttachmentCircuitTable";
- description "Attachment Circuit table";
-
- list bd-attachment-circuit {
- xr:xr-xml-map "l2vpn_cfg:BDAttachmentCircuit";
- key "name";
- description "Name of the Attachment Circuit";
-
- container interface-ip-source-guard {
- xr:xr-xml-map "l2vpn_cfg:InterfaceIPSourceGuard";
- description "IP Source Guard";
- leaf logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- xr:xr-cli-map "logging (disable) ";
- type L2vpn-logging;
- description "Logging Type";
- }
- leaf disable {
- xr:xr-xml-map "l2vpn_cfg:Disable";
- xr:xr-cli-map "disable ";
- type empty;
- description
- "Disable L2 Interface Dynamic IP source
- guard";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable IP Source Guard";
- }
- }
-
- container interface-dai {
- xr:xr-xml-map "l2vpn_cfg:InterfaceDAI";
- description
- "L2 Interface Dynamic ARP Inspection";
-
- container interface-dai-address-validation {
- xr:xr-xml-map "l2vpn_cfg:InterfaceDAIAddressV"+
- "alidation";
- description "Address Validation";
- leaf ipv4-verification {
- xr:xr-xml-map "l2vpn_cfg:IPv4Verification";
- xr:xr-cli-map "ipv4 (disable) ";
- type L2vpn-verification;
- description "IPv4 Verification";
- }
- leaf destination-mac-verification {
- xr:xr-xml-map "l2vpn_cfg:DestinationMACVeri"+
- "fication";
- xr:xr-cli-map "dst-mac (disable) ";
- type L2vpn-verification;
- description "Destination MAC Verification";
- }
- leaf source-mac-verification {
- xr:xr-xml-map "l2vpn_cfg:SourceMACVerificat"+
- "ion";
- xr:xr-cli-map "src-mac (disable) ";
- type L2vpn-verification;
- description "Source MAC Verification";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Address Validation";
- }
- }
- leaf logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- xr:xr-cli-map "logging (disable) ";
- type L2vpn-logging;
- description "Logging Type";
- }
- leaf disable {
- xr:xr-xml-map "l2vpn_cfg:Disable";
- xr:xr-cli-map "disable ";
- type empty;
- description
- "Disable L2 Interface Dynamic ARP
- Inspection";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description
- "Enable L2 Interface Dynamic ARP
- Inspection";
- }
- }
-
- container interface-profile {
- xr:xr-xml-map "l2vpn_cfg:InterfaceProfile";
- description "Attach a DHCP profile";
- leaf profile-id {
- xr:xr-xml-map "l2vpn_cfg:ProfileId";
- type Interface-profile;
- description "Set the snooping profile";
- }
- leaf dhcp-snooping-id {
- xr:xr-xml-map "l2vpn_cfg:DhcpSnoopingID";
- type string;
- description "Disable DHCP snooping";
- }
- }
-
- container bdac-storm-control-types {
- xr:xr-xml-map "l2vpn_cfg:BDACStormControlTable";
- description "Storm Control";
-
- list bdac-storm-control-type {
- xr:xr-xml-map "l2vpn_cfg:BDACStormControlType";
- key "sctype";
- description "Storm Control Type";
- leaf sctype {
- xr:xr-xml-map "l2vpn_cfg:SCType";
- type Storm-control;
- description "Storm Control Type";
- }
- uses STORM-CONTROL-UNIT;
- }
- }
-
- container split-horizon {
- xr:xr-xml-map "l2vpn_cfg:SplitHorizon";
- description "Split Horizon";
-
- container split-horizon-group-id {
- xr:xr-xml-map "l2vpn_cfg:SplitHorizonGroupID";
- description "Split Horizon Group ID";
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- xr:xr-cli-map "split-horizon group ";
- type empty;
- description "Enable split horizon group";
- }
- }
- }
-
- container static-mac-addresses {
- xr:xr-xml-map "l2vpn_cfg:StaticMACAddressTable";
- description "Static Mac Address Table";
-
- list static-mac-address {
- xr:xr-xml-map "l2vpn_cfg:StaticMACAddress";
- key "address";
- description
- "Static Mac Address Configuration";
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- type yang:mac-address;
- description "Static MAC address";
- }
- }
- }
-
- container interface-mac {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMAC";
- description "MAC configuration commands";
-
- container interface-mac-aging {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMACAging";
- description
- "MAC-Aging configuration commands";
- leaf interface-mac-aging-time {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMACAgingT"+
- "ime";
- xr:xr-cli-map "aging time <number> ";
- type Mac-aging-range;
- description "Mac Aging Time";
- }
- leaf interface-mac-aging-type {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMACAgingT"+
- "ype";
- xr:xr-cli-map "aging type (absolute)|(inact"+
- "ivity) ";
- type Mac-aging;
- description "MAC address aging type";
- }
- }
-
- container interface-mac-secure {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMACSecure";
- description "MAC Secure";
- leaf logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- xr:xr-cli-map "logging (disable) ";
- type L2vpn-logging;
- description "MAC Secure Logging";
- }
- leaf disable {
- xr:xr-xml-map "l2vpn_cfg:Disable";
- xr:xr-cli-map "disable ";
- type empty;
- description
- "Disable L2 Interface MAC Secure";
- }
- leaf action {
- xr:xr-xml-map "l2vpn_cfg:Action";
- xr:xr-cli-map "action (none)|(shutdown)|(re"+
- "strict) ";
- type Mac-secure-action;
- description "MAC secure enforcement action";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable MAC Secure";
- }
- }
-
- container interface-mac-limit {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMACLimit";
- description
- "MAC-Limit configuration commands";
- leaf interface-mac-limit-max {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMACLimitM"+
- "ax";
- xr:xr-cli-map "maximum <number> ";
- type Mac-limit-range;
- description
- "Number of MAC addresses on an Interface
- after which MAC limit action is taken";
- }
- leaf interface-mac-limit-notif {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMACLimitN"+
- "otif";
- xr:xr-cli-map "notification (trap)|(both)|("+
- "none)|(syslog) ";
- type Mac-notification;
- description
- "MAC address limit notification action
- in a Interface";
- }
- leaf interface-mac-limit-action {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMACLimitA"+
- "ction";
- xr:xr-cli-map "action (flood)|(no-flood)|(s"+
- "hutdown)|(none) ";
- type Mac-limit-action;
- description
- "Interface MAC address limit enforcement
- action";
- }
- }
- leaf interface-mac-port-down-flush {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMACPortDown"+
- "Flush";
- xr:xr-cli-map "port-down flush (disable) ";
- type Port-down-flush;
- description
- "Enable/Disable MAC Flush When Port goes
- down";
- }
- leaf interface-mac-learning {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMACLearning";
- xr:xr-cli-map "learning (disable) ";
- type Mac-learn;
- description "Enable Mac Learning";
- }
- }
- leaf interface-flooding {
- xr:xr-xml-map "l2vpn_cfg:InterfaceFlooding";
- xr:xr-cli-map "flooding (disable) ";
- type Interface-traffic-flood;
- description "Enable or Disable Flooding";
- }
- leaf interface-igmp-snoop {
- xr:xr-xml-map "l2vpn_cfg:InterfaceIGMPSnoop";
- xr:xr-cli-map "igmp snooping profile <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Attach a IGMP Snooping profile";
- }
- leaf interface-flooding-unknown-unicast {
- xr:xr-xml-map "l2vpn_cfg:InterfaceFloodingUnkno"+
- "wnUnicast";
- xr:xr-cli-map "flooding unknown-unicast (disabl"+
- "e) ";
- type Interface-traffic-flood;
- description
- "Enable or Disable Unknown Unicast
- Flooding";
- }
- leaf interface-mld-snoop {
- xr:xr-xml-map "l2vpn_cfg:InterfaceMLDSnoop";
- xr:xr-cli-map "mld snooping profile <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Attach a MLD Snooping profile";
- }
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Interface-name;
- description
- "The name of the Attachment Circuit";
- }
- }
- }
-
- container ip-source-guard {
- xr:xr-xml-map "l2vpn_cfg:IPSourceGuard";
- description "IP Source Guard";
- leaf logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- xr:xr-cli-map "logging ";
- type empty;
- description "Enable Logging";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable IP Source Guard";
- }
- }
-
- container dai {
- xr:xr-xml-map "l2vpn_cfg:DAI";
- description "Dynamic ARP Inspection";
-
- container dai-address-validation {
- xr:xr-xml-map "l2vpn_cfg:DAIAddressValidation";
- description "Address Validation";
- leaf ipv4-verification {
- xr:xr-xml-map "l2vpn_cfg:IPv4Verification";
- xr:xr-cli-map "ipv4 ";
- type empty;
- description "Enable IPv4 Verification";
- }
- leaf destination-mac-verification {
- xr:xr-xml-map "l2vpn_cfg:DestinationMACVerifica"+
- "tion";
- xr:xr-cli-map "dst-mac ";
- type empty;
- description
- "Enable Destination MAC Verification";
- }
- leaf source-mac-verification {
- xr:xr-xml-map "l2vpn_cfg:SourceMACVerification";
- xr:xr-cli-map "src-mac ";
- type empty;
- description "Enable Source MAC Verification";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Address Validation";
- }
- }
- leaf logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- xr:xr-cli-map "logging ";
- type empty;
- description "Enable Logging";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Dynamic ARP Inspection";
- }
- }
-
- container routed-interfaces {
- xr:xr-xml-map "l2vpn_cfg:RoutedInterfaceTable";
- description "Bridge Domain Routed Interface Table";
-
- list routed-interface {
- xr:xr-xml-map "l2vpn_cfg:RoutedInterface";
- key "interface-name";
- description "Bridge Domain Routed Interface";
- leaf interface-name {
- xr:xr-xml-map "l2vpn_cfg:InterfaceName";
- type xr:Interface-name;
- description "The name of the Routed Interface";
- }
- }
- }
- leaf coupled-mode {
- xr:xr-xml-map "l2vpn_cfg:CoupledMode";
- xr:xr-cli-map "l2vpn bridge group <string> bridge-d"+
- "omain <string> coupled-mode ";
- type empty;
- description "Coupled-mode configuration";
- }
- leaf shutdown {
- xr:xr-xml-map "l2vpn_cfg:Shutdown";
- xr:xr-cli-map "l2vpn bridge group <string> bridge-d"+
- "omain <string> shutdown ";
- type empty;
- description "shutdown the Bridge Domain";
- }
- leaf flooding-unknown-unicast {
- xr:xr-xml-map "l2vpn_cfg:FloodingUnknownUnicast";
- xr:xr-cli-map "l2vpn bridge group <string> bridge-d"+
- "omain <string> flooding unknown-unicast [disable"+
- "] ";
- type empty;
- description "Disable Unknown Unicast flooding";
- }
- leaf igmp-snooping-disable {
- xr:xr-xml-map "l2vpn_cfg:IGMPSnoopingDisable";
- xr:xr-cli-map "l2vpn bridge group <string> bridge-d"+
- "omain <string> igmp snooping disable ";
- type empty;
- description "Disable IGMP Snooping";
- }
- leaf transport-mode {
- xr:xr-xml-map "l2vpn_cfg:TransportMode";
- xr:xr-cli-map "l2vpn bridge group <string> bridge-d"+
- "omain <string> transport-mode vlan passthrough ";
- type Bridge-domain-transport-mode;
- description "Bridge Domain Transport mode";
- }
- leaf mld-snooping {
- xr:xr-xml-map "l2vpn_cfg:MLDSnooping";
- xr:xr-cli-map "l2vpn bridge group <string> bridge-d"+
- "omain <string> mld snooping profile <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Attach MLD Snooping Profile Name";
- }
- leaf bridge-domain-mtu {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomainMTU";
- xr:xr-cli-map "l2vpn bridge group <string> bridge-d"+
- "omain <string> mtu <number> ";
- type Bridge-bd-mtu-range;
- units "byte";
- description
- "Maximum transmission unit for this Bridge
- Domain";
- }
- leaf dhcp {
- xr:xr-xml-map "l2vpn_cfg:DHCP";
- xr:xr-cli-map "l2vpn bridge group <string> bridge-d"+
- "omain <string> dhcp ipv4 snoop profile <string> ";
- type string {
- length "0..32";
- }
- description "DHCPv4 Snooping profile name";
- }
- leaf igmp-snooping {
- xr:xr-xml-map "l2vpn_cfg:IGMPSnooping";
- xr:xr-cli-map "l2vpn bridge group <string> bridge-d"+
- "omain <string> igmp snooping profile <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Attach IGMP Snooping Profile Name";
- }
- leaf flooding {
- xr:xr-xml-map "l2vpn_cfg:Flooding";
- xr:xr-cli-map "l2vpn bridge group <string> bridge-d"+
- "omain <string> flooding [disable] ";
- type empty;
- description "Disable flooding";
- }
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Cisco-ios-xr-string {
- length "0..27";
- }
- description "Name of the bridge domain";
- }
- }
- }
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the Bridge group";
- }
- }
- }
-
- container pseudowire-classes {
- xr:xr-xml-map "l2vpn_cfg:PseudowireClassTable";
- description "List of pseudowire classes";
-
- list pseudowire-class {
- xr:xr-xml-map "l2vpn_cfg:PseudowireClass";
- key "name";
- description "Pseudowire class";
-
- container l2tpv3-encapsulation {
- xr:xr-xml-map "l2vpn_cfg:L2TPv3Encapsulation";
- description "L2TPv3 encapsulation";
-
- container sequencing {
- xr:xr-xml-map "l2vpn_cfg:Sequencing";
- description "Sequencing";
- leaf sequencing {
- xr:xr-xml-map "l2vpn_cfg:Sequencing";
- type L2tpv3-sequencing;
- default "off";
- description "Sequencing";
- }
- leaf resync-threshold {
- xr:xr-xml-map "l2vpn_cfg:ResyncThreshold";
- type Resync-threshold-range;
- default "5";
- description "Out of sequence threshold";
- }
- }
-
- container type-of-service {
- xr:xr-xml-map "l2vpn_cfg:TypeOfService";
- description "Type of service";
- leaf type-of-service-value {
- xr:xr-xml-map "l2vpn_cfg:TypeOfServiceValue";
- type Type-of-service-range;
- description "Type of service value";
- }
- leaf type-of-service-mode {
- xr:xr-xml-map "l2vpn_cfg:TypeOfServiceMode";
- type Type-of-service-mode;
- description "Type of service mode";
- }
- }
-
- container signaling-protocol {
- xr:xr-xml-map "l2vpn_cfg:SignalingProtocol";
- description "L2TPv3 signaling protocol";
- leaf protocol {
- xr:xr-xml-map "l2vpn_cfg:Protocol";
- type L2tp-signaling-protocol;
- default "l2tpv3";
- description "L2TPv3 signaling protocol";
- }
- leaf l2tpv3-class-name {
- xr:xr-xml-map "l2vpn_cfg:L2TPv3ClassName";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the L2TPv3 class name";
- }
- }
-
- container path-mtu {
- xr:xr-xml-map "l2vpn_cfg:PathMTU";
- description "Path maximum transmission unit";
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable path MTU";
- }
- leaf max-path-mtu {
- xr:xr-xml-map "l2vpn_cfg:MaxPathMTU";
- type Max-path-mtu-range;
- description
- "Maximum path maximum transmission unit";
- }
- }
- leaf df-bit-set {
- xr:xr-xml-map "l2vpn_cfg:DFBitSet";
- xr:xr-cli-map "dfbit set ";
- type empty;
- description "Set the do not fragment bit to 1";
- }
- leaf cookie-size {
- xr:xr-xml-map "l2vpn_cfg:CookieSize";
- xr:xr-cli-map "cookie size (0)|(4)|(8) ";
- type L2tp-cookie-size;
- default "zero";
- description "Cookie size";
- }
- leaf source-address {
- xr:xr-xml-map "l2vpn_cfg:SourceAddress";
- xr:xr-cli-map "ipv4 source <IPv4 address> ";
- type inet:ipv4-address-no-zone;
- description "Source IP address";
- }
- leaf transport-mode {
- xr:xr-xml-map "l2vpn_cfg:TransportMode";
- xr:xr-cli-map "transport-mode (ethernet)|(vlan) ";
- type Transport-mode;
- description "Transport mode";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable L2TPv3 encapsulation";
- }
- leaf time-to-live {
- xr:xr-xml-map "l2vpn_cfg:TimeToLive";
- xr:xr-cli-map "ttl <number> ";
- type Time-to-live-range;
- description "Time to live";
- }
- }
-
- container backup-disable-delay {
- xr:xr-xml-map "l2vpn_cfg:BackupDisableDelay";
- description "Back Up Pseudowire class";
- leaf type {
- xr:xr-xml-map "l2vpn_cfg:Type";
- type Backup-disable;
- description "Delay or Never";
- }
- leaf disable-backup {
- xr:xr-xml-map "l2vpn_cfg:DisableBackup";
- when "../type = 'delay'" {
- description "../Type = Delay";
- }
- type Backup-disable-delay-range;
- description "Disable backup delay";
- }
- }
-
- container mpls-encapsulation {
- xr:xr-xml-map "l2vpn_cfg:MPLSEncapsulation";
- description "MPLS encapsulation";
-
- container sequencing {
- xr:xr-xml-map "l2vpn_cfg:Sequencing";
- description "Sequencing";
- leaf sequencing {
- xr:xr-xml-map "l2vpn_cfg:Sequencing";
- type Mpls-sequencing;
- default "off";
- description "Sequencing";
- }
- leaf resync-threshold {
- xr:xr-xml-map "l2vpn_cfg:ResyncThreshold";
- type Resync-threshold-range;
- default "5";
- description "Out of sequence threshold";
- }
- }
-
- container mpls-redundancy {
- xr:xr-xml-map "l2vpn_cfg:MPLSRedundancy";
- description
- "Redundancy options for MPLS encapsulation";
- leaf redundancy-one-way {
- xr:xr-xml-map "l2vpn_cfg:RedundancyOneWay";
- xr:xr-cli-map "one-way ";
- type empty;
- description
- "Force one-way PW redundancy behavior in
- Redundancy Group";
- }
- leaf redundancy-initial-delay {
- xr:xr-xml-map "l2vpn_cfg:RedundancyInitialDelay";
- xr:xr-cli-map "initial-delay <number> ";
- type Pw-redundancy-initial-delay-range;
- units "second";
- description
- "Initial delay before activating the
- redundant PW, in seconds";
- }
- }
-
- container preferred-path {
- xr:xr-xml-map "l2vpn_cfg:PreferredPath";
- description "Preferred path";
- leaf type {
- xr:xr-xml-map "l2vpn_cfg:Type";
- type Preferred-path;
- description "Preferred Path Type";
- }
- leaf interface-tunnel-number {
- xr:xr-xml-map "l2vpn_cfg:InterfaceTunnelNumber";
- type uint32 {
- range "0..65535";
- }
- description
- "Interface Tunnel number for preferred path";
- }
- leaf fallback-disable {
- xr:xr-xml-map "l2vpn_cfg:FallbackDisable";
- type empty;
- description "Fallback disable";
- }
- }
-
- container load-balance-group {
- xr:xr-xml-map "l2vpn_cfg:LoadBalanceGroup";
- description "Load Balancing";
-
- container flow-label-load-balance {
- xr:xr-xml-map "l2vpn_cfg:FlowLabelLoadBalance";
- description
- "Enable Flow Label based load balancing";
- leaf flow-label {
- xr:xr-xml-map "l2vpn_cfg:FlowLabel";
- type Flow-label-load-balance;
- description "Flow Label load balance type";
- }
- leaf static {
- xr:xr-xml-map "l2vpn_cfg:Static";
- type empty;
- description "Static Flow Label";
- }
- }
- leaf flow-label-load-balance-code {
- xr:xr-xml-map "l2vpn_cfg:FlowLabelLoadBalanceCode";
- xr:xr-cli-map "flow-label code 17 (disable) ";
- type Flow-label-tlv-code;
- description "Enable Legacy Flow Label TLV code";
- }
- leaf pw-label-load-balance {
- xr:xr-xml-map "l2vpn_cfg:PWLabelLoadBalance";
- xr:xr-cli-map "pw-label ";
- type Load-balance;
- description "Enable PW Label based Load Balancing";
- }
- }
- leaf pw-switching-tlv {
- xr:xr-xml-map "l2vpn_cfg:PWSwitchingTlv";
- xr:xr-cli-map "l2vpn pw-class <string> encapsulation "+
- "mpls switching-tlv hide ";
- type Pw-switching-point-tlv;
- description "Pseudowire Switching Point Tlv";
- }
- leaf static-tag-rewrite {
- xr:xr-xml-map "l2vpn_cfg:StaticTagRewrite";
- xr:xr-cli-map "l2vpn pw-class <string> encapsulation "+
- "mpls tag-rewrite [ingress [vlan <number>]] ";
- type Tag-rewrite-range;
- description "Static Tag rewrite";
- }
- leaf signaling-protocol {
- xr:xr-xml-map "l2vpn_cfg:SignalingProtocol";
- xr:xr-cli-map "l2vpn pw-class <string> encapsulation "+
- "mpls protocol ldp ";
- type Mpls-signaling-protocol;
- default "ldp";
- description "MPLS signaling protocol";
- }
- leaf vccv-type {
- xr:xr-xml-map "l2vpn_cfg:VCCVType";
- xr:xr-cli-map "l2vpn pw-class <string> encapsulation "+
- "mpls vccv verification-type none ";
- type Vccv-verification;
- default "lsp-ping";
- description "VCCV verification type";
- }
- leaf source-address {
- xr:xr-xml-map "l2vpn_cfg:SourceAddress";
- xr:xr-cli-map "l2vpn pw-class <string> encapsulation "+
- "mpls ipv4 source <IPv4 address> ";
- type inet:ipv4-address-no-zone;
- description "Source IP address";
- }
- leaf transport-mode {
- xr:xr-xml-map "l2vpn_cfg:TransportMode";
- xr:xr-cli-map "l2vpn pw-class <string> encapsulation "+
- "mpls transport-mode (ethernet)|(vlan (passthrough)"+
- ") ";
- type Transport-mode;
- description "Transport mode";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable MPLS encapsulation";
- }
- leaf control-word {
- xr:xr-xml-map "l2vpn_cfg:ControlWord";
- xr:xr-cli-map "l2vpn pw-class <string> encapsulation "+
- "mpls control-word disable ";
- type Control-word;
- description "Enable control word";
- }
- }
- leaf mac-withdraw {
- xr:xr-xml-map "l2vpn_cfg:MACWithdraw";
- xr:xr-cli-map "l2vpn pw-class <string> mac-withdraw ";
- type empty;
- description "Enable backup MAC withdraw";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable pseudowire class";
- }
- leaf name {
- xr:xr-xml-map "l2vpn_cfg:Name";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the pseudowire class";
- }
- }
- }
-
- container redundancy {
- xr:xr-xml-map "l2vpn_cfg:Redundancy";
- description "Redundancy groups";
-
- container iccp-redundancy-groups {
- xr:xr-xml-map "l2vpn_cfg:ICCPGroupTable";
- description
- "List of Inter-Chassis Communication Protocol
- redundancy groups";
-
- list iccp-redundancy-group {
- xr:xr-xml-map "l2vpn_cfg:ICCPRedundancyGroup";
- key "group-id";
- description "ICCP Redundancy group";
-
- container iccp-interfaces {
- xr:xr-xml-map "l2vpn_cfg:ICCPInterfaceTable";
- description "List of interfaces";
-
- list iccp-interface {
- xr:xr-xml-map "l2vpn_cfg:ICCPInterface";
- key "interface-name";
- description "Interface name";
- leaf secondary-vlan-range {
- xr:xr-xml-map "l2vpn_cfg:SecondaryVLANRange";
- xr:xr-cli-map "l2vpn redundancy iccp group <numbe"+
- "r> interface <interface> secondary vlan <strin"+
- "g> ";
- type string;
- description
- "Secondary VLAN range, in the form of 1-3,5
- ,8-11";
- }
- leaf recovery-delay {
- xr:xr-xml-map "l2vpn_cfg:RecoveryDelay";
- xr:xr-cli-map "l2vpn redundancy iccp group <numbe"+
- "r> interface <interface> recovery delay <numbe"+
- "r> ";
- type uint32 {
- range "30..3600";
- }
- default "180";
- description "Failure clear recovery delay";
- }
- leaf primary-vlan-range {
- xr:xr-xml-map "l2vpn_cfg:PrimaryVLANRange";
- xr:xr-cli-map "l2vpn redundancy iccp group <numbe"+
- "r> interface <interface> primary vlan <string>"+
- " ";
- type string;
- description
- "Primary VLAN range, in the form of 1-3,5
- ,8-11";
- }
- leaf mac-flush-tcn {
- xr:xr-xml-map "l2vpn_cfg:MACFlushTCN";
- xr:xr-cli-map "l2vpn redundancy iccp group <numbe"+
- "r> interface <interface> mac-flush stp-tcn ";
- type empty;
- description "Enable STP-TCN MAC flushing";
- }
- leaf interface-name {
- xr:xr-xml-map "l2vpn_cfg:InterfaceName";
- type xr:Interface-name;
- description "Interface name";
- }
- }
- }
- leaf multi-homing-node-id {
- xr:xr-xml-map "l2vpn_cfg:MultiHomingNodeID";
- xr:xr-cli-map "l2vpn redundancy iccp group <number> m"+
- "ulti-homing node-id <number> ";
- type uint32 {
- range "0..254";
- }
- description "ICCP-based service multi-homing node ID";
- }
- leaf group-id {
- xr:xr-xml-map "l2vpn_cfg:GroupID";
- type int32;
- description "Group ID";
- }
- }
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable redundancy groups";
- }
- }
- }
-
- container pbb {
- xr:xr-xml-map "l2vpn_cfg:PBB";
- description "L2VPN PBB Global";
- leaf backbone-source-mac {
- xr:xr-xml-map "l2vpn_cfg:BackboneSourceMAC";
- type yang:mac-address;
- description "Backbone Source MAC";
- }
- }
-
- container auto-discovery {
- xr:xr-xml-map "l2vpn_cfg:AutoDiscovery";
- description "Global auto-discovery attributes";
-
- container bgp-signaling {
- xr:xr-xml-map "l2vpn_cfg:BGPSignaling";
- description "Global bgp signaling attributes";
- leaf mtu-mismatch-ignore {
- xr:xr-xml-map "l2vpn_cfg:MTUMismatchIgnore";
- xr:xr-cli-map "l2vpn autodiscovery bgp signaling-protocol"+
- " bgp mtu mismatch ignore ";
- type empty;
- description
- "Ignore MTU mismatch for auto-discovered
- pseudowires";
- }
- }
- }
-
- container utility {
- xr:xr-xml-map "l2vpn_cfg:Utility";
- description "L2VPN utilities";
-
- container logging {
- xr:xr-xml-map "l2vpn_cfg:Logging";
- description "L2VPN logging utility";
- leaf bridge-domain-state-change {
- xr:xr-xml-map "l2vpn_cfg:BridgeDomainStateChange";
- xr:xr-cli-map "l2vpn logging bridge-domain [status] ";
- type empty;
- description "Enable Bridge Domain state change logging";
- }
- leaf pseudowire-state-change {
- xr:xr-xml-map "l2vpn_cfg:PseudowireStateChange";
- xr:xr-cli-map "l2vpn logging pseudowire [status] ";
- type empty;
- description "Enable pseudowire state change logging";
- }
- leaf vfi {
- xr:xr-xml-map "l2vpn_cfg:VFI";
- xr:xr-cli-map "l2vpn logging vfi [status] ";
- type empty;
- description "Enable VFI state change logging";
- }
- leaf nsr-state-change {
- xr:xr-xml-map "l2vpn_cfg:NSRStateChange";
- xr:xr-cli-map "l2vpn logging nsr ";
- type empty;
- description
- "Enable Non Stop Routing state change logging";
- }
- leaf pwhe-replication-state-change {
- xr:xr-xml-map "l2vpn_cfg:PWHEReplicationStateChange";
- xr:xr-cli-map "l2vpn logging pwhe-replication disable ";
- type empty;
- description
- "Enable PW-HE Replication state change logging";
- }
- }
- }
-
- container snmp {
- xr:xr-xml-map "l2vpn_cfg:SNMP";
- description "SNMP related configuration";
-
- container mib {
- xr:xr-xml-map "l2vpn_cfg:MIB";
- description "MIB related configuration";
-
- container mib-interface {
- xr:xr-xml-map "l2vpn_cfg:MIBInterface";
- description "Interface related configuration for MIB";
-
- container format {
- xr:xr-xml-map "l2vpn_cfg:Format";
- description "MIB interface name output format";
- leaf external-interface-format {
- xr:xr-xml-map "l2vpn_cfg:ExternalInterfaceFormat";
- xr:xr-cli-map "l2vpn snmp mib interface format extern"+
- "al ";
- type empty;
- description
- "Set MIB interface name output in slash
- format (/)";
- }
- }
- }
-
- container mib-pseudowire {
- xr:xr-xml-map "l2vpn_cfg:MIBPseudowire";
- description "Pseudowire related configuration for MIB";
- leaf statistics {
- xr:xr-xml-map "l2vpn_cfg:Statistics";
- xr:xr-cli-map "l2vpn snmp mib pseudowire statistics ";
- type empty;
- description
- "Enable pseudowire statistics in MIB output";
- }
- }
- }
- }
- leaf nsr {
- xr:xr-xml-map "l2vpn_cfg:NSR";
- xr:xr-cli-map "l2vpn nsr ";
- type empty;
- description "Enable Non-Stop Routing";
- }
- leaf mtu-mismatch-ignore {
- xr:xr-xml-map "l2vpn_cfg:MTUMismatchIgnore";
- xr:xr-cli-map "l2vpn ignore-mtu-mismatch ";
- type empty;
- description "Ignore MTU Mismatch for XCs";
- }
- leaf tcn-propagation {
- xr:xr-xml-map "l2vpn_cfg:TCNPropagation";
- xr:xr-cli-map "l2vpn tcn-propagation ";
- type empty;
- description "Topology change notification propagation";
- }
- leaf pwoam-refresh {
- xr:xr-xml-map "l2vpn_cfg:PWOAMRefresh";
- xr:xr-cli-map "l2vpn pw-oam refresh transmit <number> ";
- type uint32 {
- range "1..4095";
- }
- units "second";
- description "Configure PW OAM refresh interval";
- }
- leaf load-balance {
- xr:xr-xml-map "l2vpn_cfg:LoadBalance";
- xr:xr-cli-map "l2vpn load-balancing [flow (src-dst-mac)|(src-"+
- "dst-ip)] ";
- type Load-balance;
- description "Enable flow load balancing on l2vpn bridges";
- }
- leaf mspw-description {
- xr:xr-xml-map "l2vpn_cfg:MSPWDescription";
- xr:xr-cli-map "l2vpn description <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..64";
- }
- description "MS-PW global description";
- }
- leaf pw-status-disable {
- xr:xr-xml-map "l2vpn_cfg:PWStatusDisable";
- xr:xr-cli-map "l2vpn pw-status disable ";
- type empty;
- description "Disable PW status";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable L2VPN feature";
- }
- leaf pw-grouping {
- xr:xr-xml-map "l2vpn_cfg:PWGrouping";
- xr:xr-cli-map "l2vpn pw-grouping ";
- type empty;
- description "Enable PW grouping";
- }
- leaf capability {
- xr:xr-xml-map "l2vpn_cfg:Capability";
- xr:xr-cli-map "l2vpn capability (single-mode)|(high-mode) ";
- type L2vpn-capability-mode;
- description "L2VPN Capability Mode";
- }
- leaf l2vpn-router-id {
- xr:xr-xml-map "l2vpn_cfg:L2VPNRouterID";
- xr:xr-cli-map "l2vpn router-id <IPv4 address> ";
- type inet:ipv4-address-no-zone;
- description "Global L2VPN Router ID";
- }
- }
-
- container generic-interface-lists {
- xr:xr-xml-map "iflist_cfg:GenericInterfaceListTable";
- description "generic interface lists";
-
- list generic-interface {
- xr:xr-xml-map "iflist_cfg:GenericInterfaceList";
- key "generic-interface-list-name";
- description "Bridge group";
-
- container interfaces {
- xr:xr-xml-map "iflist_cfg:InterfaceTable";
- description "Interface table";
-
- list interface {
- xr:xr-xml-map "iflist_cfg:Interface";
- key "interface-name";
- description "Interface";
- leaf enable {
- xr:xr-xml-map "iflist_cfg:Enable";
- xr:xr-cli-map "generic-interface-list <string> interfac"+
- "e (<interface>)|(<interface>) ";
- type empty;
- description "Enable interface";
- }
- leaf interface-name {
- xr:xr-xml-map "iflist_cfg:InterfaceName";
- type xr:Interface-name;
- description "Name of the interface";
- }
- }
- }
- leaf enable {
- xr:xr-xml-map "iflist_cfg:Enable";
- type empty;
- description "Enable interface list";
- }
- leaf generic-interface-list-name {
- xr:xr-xml-map "iflist_cfg:GenericInterfaceListName";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the interface list";
- }
- }
- }
-
- container evpn {
- xr:xr-xml-map "l2vpn_cfg:EVPN";
- description "evpn";
-
- container evpn-tables {
- xr:xr-xml-map "l2vpn_cfg:EVPNTables";
- description "EVPN submodes";
-
- container evpn-timers {
- xr:xr-xml-map "l2vpn_cfg:EVPNTimers";
- description "Enter EVPN timers configuration submode";
- leaf evpn-programming {
- xr:xr-xml-map "l2vpn_cfg:EVPNProgramming";
- type uint32 {
- range "0..100000";
- }
- default "1500";
- description "Global Programming timer";
- }
- leaf evpn-flush-again {
- xr:xr-xml-map "l2vpn_cfg:EVPNFlushAgain";
- type uint32 {
- range "0..120";
- }
- default "60";
- description "Global MAC Flush again timer";
- }
- leaf evpn-recovery {
- xr:xr-xml-map "l2vpn_cfg:EVPNRecovery";
- xr:xr-cli-map "recovery <number> ";
- type uint32 {
- range "20..3600";
- }
- default "30";
- description "Global Recovery timer";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable EVPN timers";
- }
- leaf evpn-peering {
- xr:xr-xml-map "l2vpn_cfg:EVPNPeering";
- xr:xr-cli-map "peering <number> ";
- type uint32 {
- range "0..300";
- }
- default "3";
- description "Global Peering timer";
- }
- }
-
- container evpnevis {
- xr:xr-xml-map "l2vpn_cfg:EVPNEVIMode";
- description "Enter EVPN EVI configuration submode";
-
- list evpnevi {
- xr:xr-xml-map "l2vpn_cfg:EVPNEVI";
- key "eviid";
- description "Enter EVPN EVI configuration submode";
-
- container evi-load-balancing {
- xr:xr-xml-map "l2vpn_cfg:EVILoadBalancing";
- description
- "Enter EVI Loadbalancing configuration submode";
- leaf evi-flow-label {
- xr:xr-xml-map "l2vpn_cfg:EVIFlowLabel";
- xr:xr-cli-map "flow-label static ";
- type empty;
- description "Enable Flow Label based load balancing";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable EVI Loadbalancing";
- }
- }
-
- container evpnevibgp-auto-discovery {
- xr:xr-xml-map "l2vpn_cfg:EVPNEVIBGPAutoDiscovery";
- description "Enable Autodiscovery BGP in EVPN EVI";
-
- container evpn-route-targets {
- xr:xr-xml-map "l2vpn_cfg:EVPNRouteTargetTable";
- description "Route Target";
-
- list evpn-route-target {
- xr:xr-xml-map "l2vpn_cfg:EVPNRouteTarget";
- must "two-byte-as-or-four-byte-as or ipv4-address" {
- description
- "TwoByteAS-or-FourbyteAS or IPV4Address
- must be present.";
- }
- key "role format";
- description "Name of the Route Target";
- leaf role {
- xr:xr-xml-map "l2vpn_cfg:Role";
- type Bgp-route-target-role;
- description "Role of the router target type";
- }
- leaf format {
- xr:xr-xml-map "l2vpn_cfg:Format";
- type Bgp-route-target-format;
- description "Format of the route target";
- }
-
- list two-byte-as-or-four-byte-as {
- when "../format = 'two-byte-as' or ../format ="+
- " 'four-byte-as'" {
- description
- "../Format = TwoByteAS or ../Format =
- FourbyteAS";
- }
- key "as as-index";
- description "two byte as or four byte as";
- leaf as {
- xr:xr-xml-map "l2vpn_cfg:AS";
- type Rdas-range;
- description "Two byte or 4 byte AS number";
- }
- leaf as-index {
- xr:xr-xml-map "l2vpn_cfg:ASIndex";
- type Rdas-index;
- description "AS:nn (hex or decimal format)";
- }
- }
-
- list ipv4-address {
- when "../format = 'ipv4-address'" {
- description "../Format = IPV4Address";
- }
- key "address addr-index";
- description "ipv4 address";
- leaf address {
- xr:xr-xml-map "l2vpn_cfg:Address";
- type inet:ipv4-address-no-zone;
- description "IPV4 address";
- }
- leaf addr-index {
- xr:xr-xml-map "l2vpn_cfg:AddrIndex";
- type Rd-addr-index;
- description "Addr index";
- }
- }
- }
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Autodiscovery BGP";
- }
- uses EVPN-ROUTE-DISTINGUISHER;
- }
- leaf eviid {
- xr:xr-xml-map "l2vpn_cfg:EVIID";
- type Vpnid-range;
- description "EVI ID";
- }
- }
- }
-
- container evpn-load-balancing {
- xr:xr-xml-map "l2vpn_cfg:EVPNLoadBalancing";
- description
- "Enter EVPN Loadbalancing configuration submode";
- leaf evpn-flow-label {
- xr:xr-xml-map "l2vpn_cfg:EVPNFlowLabel";
- xr:xr-cli-map "flow-label static ";
- type empty;
- description "Enable Flow Label based load balancing";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable EVPN Loadbalancing";
- }
- }
-
- container evpnbgp-auto-discovery {
- xr:xr-xml-map "l2vpn_cfg:EVPNBGPAutoDiscovery";
- description "Enable Autodiscovery BGP in EVPN";
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Autodiscovery BGP";
- }
- uses EVPN-ROUTE-DISTINGUISHER;
- }
-
- container evpn-interfaces {
- xr:xr-xml-map "l2vpn_cfg:EVPNInterfaceTable";
- description "Attachment Circuit interfaces";
-
- list evpn-interface {
- xr:xr-xml-map "l2vpn_cfg:EVPNInterface";
- key "interface-name";
- description "Attachment circuit interface";
-
- container evpnac-timers {
- xr:xr-xml-map "l2vpn_cfg:EVPNACTimers";
- description
- "Enter Interface-specific timers configuration
- submode";
- leaf evpnac-flush-again {
- xr:xr-xml-map "l2vpn_cfg:EVPNACFlushAgain";
- type uint32 {
- range "0..120";
- }
- default "60";
- description
- "Interface-specific MAC Flush again timer";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Interface-specific timers";
- }
- leaf evpnac-recovery {
- xr:xr-xml-map "l2vpn_cfg:EVPNACRecovery";
- xr:xr-cli-map "recovery <number> ";
- type uint32 {
- range "20..3600";
- }
- default "30";
- description "Interface-specific Recovery timer";
- }
- }
-
- container ethernet-segment {
- xr:xr-xml-map "l2vpn_cfg:EthernetSegment";
- description
- "Enter Ethernet Segment configuration submode";
-
- container identifier-type0 {
- xr:xr-xml-map "l2vpn_cfg:IdentifierType0";
- description "Ethernet segment identifier (Type 0)";
- leaf bytes1 {
- xr:xr-xml-map "l2vpn_cfg:Bytes1";
- type xr:Hex-integer;
- description "Type 0's 1st Byte";
- }
- leaf bytes23 {
- xr:xr-xml-map "l2vpn_cfg:Bytes23";
- type xr:Hex-integer;
- units "byte";
- description "Type 0's 2nd and 3rd Bytes";
- }
- leaf bytes45 {
- xr:xr-xml-map "l2vpn_cfg:Bytes45";
- type xr:Hex-integer;
- units "byte";
- description "Type 0's 4th and 5th Bytes";
- }
- leaf bytes67 {
- xr:xr-xml-map "l2vpn_cfg:Bytes67";
- type xr:Hex-integer;
- units "byte";
- description "Type 0's 6th and 7th Bytes";
- }
- leaf bytes89 {
- xr:xr-xml-map "l2vpn_cfg:Bytes89";
- type xr:Hex-integer;
- units "byte";
- description "Type 0's 8th and 9th Bytes";
- }
- }
-
- container manual-service-carving {
- xr:xr-xml-map "l2vpn_cfg:ManualServiceCarving";
- description
- "Enter Manual service carving configuration
- submode";
-
- container service-list {
- xr:xr-xml-map "l2vpn_cfg:ServiceList";
- description
- "Manual service carving primary,secondary
- lists";
- leaf primary {
- xr:xr-xml-map "l2vpn_cfg:Primary";
- type string {
- length "0..150";
- }
- description "Primary services list";
- }
- leaf secondary {
- xr:xr-xml-map "l2vpn_cfg:Secondary";
- type string {
- length "0..150";
- }
- description "Secondary services list";
- }
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Manual service carving";
- }
- }
- leaf force-single-homed {
- xr:xr-xml-map "l2vpn_cfg:ForceSingleHomed";
- xr:xr-cli-map "force single-homed ";
- type empty;
- description
- "Force ethernet segment to remain
- single-homed";
- }
- leaf load-balancing-per-service {
- xr:xr-xml-map "l2vpn_cfg:LoadBalancingPerService";
- xr:xr-cli-map "load-balancing-mode (per-service)|(sin"+
- "gle-active) ";
- type empty;
- description "Enable per service load balancing mode";
- }
- leaf es-import-route-target {
- xr:xr-xml-map "l2vpn_cfg:ESImportRouteTarget";
- type yang:mac-address;
- description "ES-Import Route Target";
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable Ethernet Segment";
- }
- leaf backbone-source-mac {
- xr:xr-xml-map "l2vpn_cfg:BackboneSourceMAC";
- type yang:mac-address;
- description "Backbone Source MAC";
- }
- }
- leaf mac-flush {
- xr:xr-xml-map "l2vpn_cfg:MACFlush";
- xr:xr-cli-map "evpn interface (<interface>)|(<interface"+
- ">) mac-flush mvrp ";
- type empty;
- description "Enable MVRP MAC Flush mode";
- }
- leaf interface-name {
- xr:xr-xml-map "l2vpn_cfg:InterfaceName";
- type xr:Interface-name;
- description "Name of the attachment circuit interface";
- }
- }
- }
- }
-
- container standard-version {
- xr:xr-xml-map "l2vpn_cfg:StandardVersion";
- description "Set Standard EVPN Version";
- leaf draft-04 {
- xr:xr-xml-map "l2vpn_cfg:Draft-04";
- xr:xr-cli-map "evpn standard-version draft-04 ";
- type empty;
- description "Set IETF Draft version to 04";
- }
- }
- leaf enable {
- xr:xr-xml-map "l2vpn_cfg:Enable";
- type empty;
- description "Enable EVPN feature";
- }
- }
-
- augment "/a1:interface-configurations/a1:interface-configuration" {
-
- container pseudowire-ether {
- xr:xr-xml-map "l2vpn_pw_ether_cfg:PseudowireEther";
- description "PW-Ether attributes";
- leaf generic-interface-list {
- xr:xr-xml-map "l2vpn_pw_ether_cfg:GenericInterfaceList";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the interface list";
- }
- leaf l2-overhead {
- xr:xr-xml-map "l2vpn_pw_ether_cfg:L2Overhead";
- type uint32 {
- range "1..64";
- }
- description "PW Ether L2 overhead requirement";
- }
- }
- description
- "This augment extends the configuration data of
- 'Cisco-IOS-XR-ifmgr-cfg'";
- }
-
- augment "/a1:interface-configurations/a1:interface-configuration" {
-
- container pseudowire-iw {
- xr:xr-xml-map "l2vpn_pw_iw_cfg:PseudowireIW";
- description "PW-IW attributes";
- leaf l2-overhead {
- xr:xr-xml-map "l2vpn_pw_iw_cfg:L2Overhead";
- type uint32 {
- range "1..64";
- }
- units "byte";
- description "L2 overhead size in bytes";
- }
- leaf generic-interface-list {
- xr:xr-xml-map "l2vpn_pw_iw_cfg:GenericInterfaceList";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the interface list";
- }
- }
- description
- "This augment extends the configuration data of
- 'Cisco-IOS-XR-ifmgr-cfg'";
- }
-
- augment "/a1:interface-configurations/a1:interface-configuration" {
-
- container l2-transport {
- xr:xr-xml-map "l2vpn_ac_l2transport_cfg:L2Transport";
- description
- "Interface Layer 2 Transport service
- configuration data";
- leaf enabled {
- xr:xr-xml-map "l2vpn_ac_l2transport_cfg:Enabled";
- type empty;
- description
- "This object is only valid on physical
- interfaces and it controls whether that
- interface is a port mode Layer 2 attachment
- circuit (note that for subinterfaces, the Layer
- 2 property is specified when the subinterface
- is created).The object must be set before any
- other L2Transport configuration is supplied for
- the interface, and must be the last
- per-interface configuration object to be
- removed.";
- }
- }
- description
- "This augment extends the configuration data of
- 'Cisco-IOS-XR-ifmgr-cfg'";
- }
-
- augment "/a2:snmp/a2:notification" {
-
- container vpls {
- xr:xr-xml-map "vplsmib_cfg:VPLS";
- description
- "CISCO-IETF-VPLS-GENERIC-MIB notification
- configuration";
- leaf full-clear {
- xr:xr-xml-map "vplsmib_cfg:FullClear";
- type empty;
- description "Enable cvplsFwdFullAlarmCleared notification";
- }
- leaf status {
- xr:xr-xml-map "vplsmib_cfg:Status";
- type empty;
- description "Enable cvplsStatusChanged notification";
- }
- leaf enable {
- xr:xr-xml-map "vplsmib_cfg:Enable";
- type empty;
- description
- "Enable CISCO-IETF-VPLS-GENERIC-MIB
- notifications";
- }
- leaf full-raise {
- xr:xr-xml-map "vplsmib_cfg:FullRaise";
- type empty;
- description "Enable cvplsFwdFullAlarmRaised notification";
- }
- }
- description
- "This augment extends the configuration data of
- 'Cisco-IOS-XR-snmp-agent-cfg'";
- }
-
- augment "/a2:snmp/a2:notification" {
-
- container l2vpn {
- xr:xr-xml-map "pwmib_cfg:L2VPN";
- description "CISCO-IETF-PW-MIB notification configuration";
- leaf cisco {
- xr:xr-xml-map "pwmib_cfg:Cisco";
- type empty;
- description "Enable Cisco format including extra varbinds";
- }
- leaf enable {
- xr:xr-xml-map "pwmib_cfg:Enable";
- type empty;
- description "Enable CISCO-IETF-PW-MIB notifications";
- }
- leaf vc-down {
- xr:xr-xml-map "pwmib_cfg:VCDown";
- type empty;
- description "Enable cpwVcDown notification";
- }
- leaf vc-up {
- xr:xr-xml-map "pwmib_cfg:VCUp";
- type empty;
- description "Enable cpwVcUp notification";
- }
- }
- description
- "This augment extends the configuration data of
- 'Cisco-IOS-XR-snmp-agent-cfg'";
- }
-}
\ No newline at end of file
--- /dev/null
+module Cisco-IOS-XR-l2vpn-cfg {
+ namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2vpn-cfg";
+ prefix l2vpn-cfg;
+
+ import ietf-inet-types {
+ prefix inet;
+ }
+ import ietf-yang-types {
+ prefix yang;
+ }
+ import Cisco-IOS-XR-types {
+ prefix xr;
+ }
+ import Cisco-IOS-XR-ifmgr-cfg {
+ prefix a1;
+ }
+ import Cisco-IOS-XR-snmp-agent-cfg {
+ prefix a2;
+ }
+
+ organization
+ "Cisco Systems, Inc.";
+ contact
+ "Cisco Systems, Inc.
+ Customer Service
+
+ Postal: 170 West Tasman Drive
+ San Jose, CA 95134
+
+ Tel: +1 800 553-NETS
+
+ E-mail: cs-yang@cisco.com";
+ description
+ "This module contains a collection of YANG definitions
+ for Cisco IOS-XR l2vpn package configuration.
+
+ This module contains definitions
+ for the following management objects:
+ l2vpn: L2VPN configuration
+ generic-interface-lists: generic interface lists
+ evpn: evpn
+
+ This YANG module augments the
+ Cisco-IOS-XR-ifmgr-cfg,
+ Cisco-IOS-XR-snmp-agent-cfg
+ modules with configuration data.
+
+ Copyright (c) 2013-2017 by Cisco Systems, Inc.
+ All rights reserved.";
+
+ revision 2017-06-26 {
+ description
+ "Change identifiers to be more readable.";
+ }
+ revision 2017-05-01 {
+ description
+ "Fixing backward compatibility error in module.";
+ }
+ revision 2015-11-09 {
+ description
+ "IOS XR 6.0 revision.";
+ }
+
+ typedef Evpn-encapsulation {
+ type enumeration {
+ enum "evpn-encapsulationvxlan" {
+ value 8;
+ description
+ "VXLAN Encapsulation";
+ }
+ enum "evpn-encapsulation-mpls" {
+ value 10;
+ description
+ "MPLS Encapsulation";
+ }
+ }
+ description
+ "Evpn encapsulation";
+ }
+
+ typedef Interworking {
+ type enumeration {
+ enum "ethernet" {
+ value 1;
+ description
+ "Ethernet interworking";
+ }
+ enum "ipv4" {
+ value 3;
+ description
+ "IPv4 interworking";
+ }
+ }
+ description
+ "Interworking";
+ }
+
+ typedef L2vpn-capability-mode {
+ type enumeration {
+ enum "high-mode" {
+ value 1;
+ description
+ "Compute global capability as the highest node
+ capability";
+ }
+ enum "single-mode" {
+ value 2;
+ description
+ "Disable global capability re-computation";
+ }
+ }
+ description
+ "L2vpn capability mode";
+ }
+
+ typedef Evpn-side {
+ type enumeration {
+ enum "evpn-side-stitching" {
+ value 2;
+ description
+ "EVPN Instance side defined as stitching";
+ }
+ }
+ description
+ "Evpn side";
+ }
+
+ typedef Move-interval-range {
+ type uint32 {
+ range "5..3600";
+ }
+ description
+ "Move interval range";
+ }
+
+ typedef Vpls-id-addr-index {
+ type uint32 {
+ range "0..32767";
+ }
+ description
+ "Vpls id addr index";
+ }
+
+ typedef Evpn-core-group-id-range {
+ type uint32 {
+ range "1..4294967295";
+ }
+ description
+ "Evpn core group id range";
+ }
+
+ typedef Tag-rewrite-range {
+ type uint32 {
+ range "1..4094";
+ }
+ description
+ "Tag rewrite range";
+ }
+
+ typedef Pseudowire-evpnacid-range {
+ type uint32 {
+ range "1..16777215";
+ }
+ description
+ "Pseudowire evpnacid range";
+ }
+
+ typedef Evpnvpnid-range {
+ type uint32 {
+ range "1..65534";
+ }
+ description
+ "Evpnvpnid range";
+ }
+
+ typedef Pseudowire-label-range {
+ type uint32 {
+ range "16..1048575";
+ }
+ description
+ "Pseudowire label range";
+ }
+
+ typedef Bridge-domain-transport-mode {
+ type enumeration {
+ enum "vlan-passthrough" {
+ value 3;
+ description
+ "Vlan tagged passthrough mode";
+ }
+ }
+ description
+ "Bridge domain transport mode";
+ }
+
+ typedef Preferred-path {
+ type enumeration {
+ enum "te-tunnel" {
+ value 2;
+ description
+ "TE Tunnel";
+ }
+ enum "ip-tunnel" {
+ value 3;
+ description
+ "IP Tunnel";
+ }
+ enum "tp-tunnel" {
+ value 4;
+ description
+ "TP Tunnel";
+ }
+ enum "sr-te-policy" {
+ value 5;
+ description
+ "SR TE Policy";
+ }
+ }
+ description
+ "Preferred path";
+ }
+
+ typedef Rd-addr-index {
+ type uint32 {
+ range "0..65535";
+ }
+ description
+ "Rd addr index";
+ }
+
+ typedef Vccv-verification {
+ type enumeration {
+ enum "none" {
+ value 0;
+ description
+ "No connectivity verification over VCCV";
+ }
+ enum "lsp-ping" {
+ value 2;
+ description
+ "LSP Ping over VCCV";
+ }
+ }
+ description
+ "Vccv verification";
+ }
+
+ typedef L2vpn-mtu-range {
+ type uint32 {
+ range "64..65535";
+ }
+ description
+ "L2vpn mtu range";
+ }
+
+ typedef Mac-withdraw-behavior {
+ type enumeration {
+ enum "legacy" {
+ value 1;
+ description
+ "MAC Withdrawal sent on state-down (legacy)";
+ }
+ enum "optimized" {
+ value 2;
+ description
+ "Optimized MAC Withdrawal";
+ }
+ }
+ description
+ "Mac withdraw behavior";
+ }
+
+ typedef Port-down-flush {
+ type enumeration {
+ enum "port-down-flush" {
+ value 0;
+ description
+ "MAC Port Down Flush";
+ }
+ enum "enable-port-down-flush" {
+ value 1;
+ description
+ "Enable Port Down Flush";
+ }
+ enum "disable-port-down-flush" {
+ value 2;
+ description
+ "Disable Port Down Flush";
+ }
+ }
+ description
+ "Port down flush";
+ }
+
+ typedef Storm-control-pps-range {
+ type uint32 {
+ range "1..160000";
+ }
+ description
+ "Storm control pps range";
+ }
+
+ typedef Type-of-service-mode {
+ type enumeration {
+ enum "none" {
+ value 0;
+ description
+ "Do not reflect the type of service";
+ }
+ enum "reflect" {
+ value 1;
+ description
+ "Reflect the type of service";
+ }
+ }
+ description
+ "Type of service mode";
+ }
+
+ typedef Pseudowire-tag-range {
+ type uint32 {
+ range "1..4094";
+ }
+ description
+ "Pseudowire tag range";
+ }
+
+ typedef Multicast-p2mp-signaling {
+ type string {
+ pattern "(BGP)";
+ }
+ description
+ "BGP:BGP Signaling";
+ }
+
+ typedef Cedge-range {
+ type uint32 {
+ range "11..100";
+ }
+ description
+ "Cedge range";
+ }
+
+ typedef Ethernet-segment-load-balance {
+ type enumeration {
+ enum "single-active" {
+ value 1;
+ description
+ "Single Active";
+ }
+ enum "port-active" {
+ value 2;
+ description
+ "Port Active";
+ }
+ }
+ description
+ "Ethernet segment load balance";
+ }
+
+ typedef Mpls-signaling-protocol {
+ type enumeration {
+ enum "none" {
+ value 1;
+ description
+ "No signaling";
+ }
+ enum "ldp" {
+ value 4;
+ description
+ "LDP";
+ }
+ }
+ description
+ "Mpls signaling protocol";
+ }
+
+ typedef Erpaps {
+ type enumeration {
+ enum "interface" {
+ value 1;
+ description
+ "ERP APS type interface";
+ }
+ enum "bridge-domain" {
+ value 2;
+ description
+ "ERP APS type bridge domain";
+ }
+ enum "xconnect" {
+ value 3;
+ description
+ "ERP APS type xconnect";
+ }
+ enum "none" {
+ value 4;
+ description
+ "ERP APS type none";
+ }
+ }
+ description
+ "Erpaps";
+ }
+
+ typedef Mac-secure-action {
+ type enumeration {
+ enum "restrict" {
+ value 1;
+ description
+ "MAC Secure Action Restrict";
+ }
+ enum "none" {
+ value 2;
+ description
+ "No Action";
+ }
+ enum "shutdown" {
+ value 3;
+ description
+ "MAC Secure Action Shutdown";
+ }
+ }
+ description
+ "Mac secure action";
+ }
+
+ typedef Erp-port {
+ type enumeration {
+ enum "none" {
+ value 1;
+ description
+ "ERP port type none";
+ }
+ enum "virtual" {
+ value 2;
+ description
+ "ERP port type virtual";
+ }
+ enum "interface" {
+ value 3;
+ description
+ "ERP port type interface";
+ }
+ }
+ description
+ "Erp port";
+ }
+
+ typedef Resync-threshold-range {
+ type uint32 {
+ range "5..65535";
+ }
+ description
+ "Resync threshold range";
+ }
+
+ typedef Bgp-route-target-role {
+ type enumeration {
+ enum "both" {
+ value 0;
+ description
+ "Both Import and export roles";
+ }
+ enum "import" {
+ value 1;
+ description
+ "Import role";
+ }
+ enum "export" {
+ value 2;
+ description
+ "Export role";
+ }
+ }
+ description
+ "Bgp route target role";
+ }
+
+ typedef Backup-disable {
+ type enumeration {
+ enum "never" {
+ value 0;
+ description
+ "Never";
+ }
+ enum "delay" {
+ value 1;
+ description
+ "Delay seconds";
+ }
+ }
+ description
+ "Backup disable";
+ }
+
+ typedef Time-to-live-range {
+ type uint32 {
+ range "1..255";
+ }
+ description
+ "Time to live range";
+ }
+
+ typedef Multicast-p2mp-transport {
+ type string {
+ pattern "(RSVP_TE)";
+ }
+ description
+ "RSVP_TE:RSVP-TE Transport";
+ }
+
+ typedef Transport-mode {
+ type enumeration {
+ enum "ethernet" {
+ value 1;
+ description
+ "Ethernet port mode";
+ }
+ enum "vlan" {
+ value 2;
+ description
+ "Vlan tagged mode";
+ }
+ enum "vlan-passthrough" {
+ value 3;
+ description
+ "Vlan tagged passthrough mode";
+ }
+ }
+ description
+ "Transport mode";
+ }
+
+ typedef Flow-label-tlv-code {
+ type enumeration {
+ enum "17" {
+ value 4;
+ description
+ "Set Flow Label Legacy TLV code (DEPRECATED)";
+ }
+ enum "disable" {
+ value 8;
+ description
+ "Disable Sending Flow Label Legacy TLV";
+ }
+ }
+ description
+ "Flow label tlv code";
+ }
+
+ typedef Bgp-route-target {
+ type enumeration {
+ enum "no-stitching" {
+ value 0;
+ description
+ "RT is default type";
+ }
+ enum "stitching" {
+ value 1;
+ description
+ "RT is for stitching (Golf-L2)";
+ }
+ }
+ description
+ "Bgp route target";
+ }
+
+ typedef Pseudowire-acid-range {
+ type uint32 {
+ range "1..4294967295";
+ }
+ description
+ "Pseudowire acid range";
+ }
+
+ typedef Pseudowire-id-range {
+ type uint32 {
+ range "1..4294967295";
+ }
+ description
+ "Pseudowire id range";
+ }
+
+ typedef Interface-profile {
+ type enumeration {
+ enum "snoop" {
+ value 1;
+ description
+ "Set the snooping";
+ }
+ enum "dhcp-protocol" {
+ value 2;
+ description
+ "disable DHCP protocol";
+ }
+ }
+ description
+ "Interface profile";
+ }
+
+ typedef Ethernet-segment-identifier {
+ type enumeration {
+ enum "type0" {
+ value 0;
+ description
+ "ESI type 0";
+ }
+ enum "legacy" {
+ value 128;
+ description
+ "Legacy ESI type";
+ }
+ enum "override" {
+ value 129;
+ description
+ "Override ESI type";
+ }
+ }
+ description
+ "Ethernet segment identifier";
+ }
+
+ typedef Rpl-role {
+ type enumeration {
+ enum "owner" {
+ value 1;
+ description
+ "ERP RPL owner";
+ }
+ enum "neighbor" {
+ value 2;
+ description
+ "ERP RPL neighbor";
+ }
+ enum "next-neighbor" {
+ value 3;
+ description
+ "ERP RPL next neighbor";
+ }
+ }
+ description
+ "Rpl role";
+ }
+
+ typedef Pw-switching-point-tlv {
+ type enumeration {
+ enum "hide" {
+ value 2;
+ description
+ "Hide TLV";
+ }
+ }
+ description
+ "Pw switching point tlv";
+ }
+
+ typedef Erpaps-level-range {
+ type uint32 {
+ range "0..7";
+ }
+ description
+ "Erpaps level range";
+ }
+
+ typedef Evpn-esi-type-range {
+ type uint32;
+ description
+ "Evpn esi type range";
+ }
+
+ typedef Storm-control {
+ type enumeration {
+ enum "unicast" {
+ value 1;
+ description
+ "Unknown-unicast Storm Control";
+ }
+ enum "multicast" {
+ value 2;
+ description
+ "Multicast Storm Control";
+ }
+ enum "broadcast" {
+ value 4;
+ description
+ "Broadcast Storm Control";
+ }
+ }
+ description
+ "Storm control";
+ }
+
+ typedef L2tp-session-id-range {
+ type uint32 {
+ range "1..65535";
+ }
+ description
+ "L2tp session id range";
+ }
+
+ typedef Mac-learn {
+ type enumeration {
+ enum "default-learning" {
+ value 0;
+ description
+ "Mac Learning";
+ }
+ enum "enable-learning" {
+ value 1;
+ description
+ "Enable Learning";
+ }
+ enum "disable-learning" {
+ value 2;
+ description
+ "Disable Learning";
+ }
+ }
+ description
+ "Mac learn";
+ }
+
+ typedef L2tpv3-sequencing {
+ type enumeration {
+ enum "off" {
+ value 0;
+ description
+ "Sequencing is off";
+ }
+ enum "both" {
+ value 4;
+ description
+ "Sequencing on both transmit and receive side";
+ }
+ }
+ description
+ "L2tpv3 sequencing";
+ }
+
+ typedef Veid-range {
+ type uint32 {
+ range "1..16384";
+ }
+ description
+ "Veid range";
+ }
+
+ typedef Load-balance {
+ type enumeration {
+ enum "source-dest-mac" {
+ value 1;
+ description
+ "Source and Destination MAC hashing";
+ }
+ enum "source-dest-ip" {
+ value 2;
+ description
+ "Source and Destination IP hashing";
+ }
+ enum "pseudowire-label" {
+ value 4;
+ description
+ "PW Label hashing";
+ }
+ }
+ description
+ "Load balance";
+ }
+
+ typedef L2tp-signaling-protocol {
+ type enumeration {
+ enum "none" {
+ value 1;
+ description
+ "No signaling";
+ }
+ enum "l2tpv3" {
+ value 2;
+ description
+ "L2TPv3";
+ }
+ }
+ description
+ "L2tp signaling protocol";
+ }
+
+ typedef Move-count-range {
+ type uint32 {
+ range "1..1000";
+ }
+ description
+ "Move count range";
+ }
+
+ typedef Retry-count-range {
+ type uint32 {
+ range "0..1000";
+ }
+ description
+ "Retry count range";
+ }
+
+ typedef Bdmac-learn {
+ type enumeration {
+ enum "disable-learning" {
+ value 2;
+ description
+ "Disable Learning";
+ }
+ }
+ description
+ "Bdmac learn";
+ }
+
+ typedef L2vpn-verification {
+ type enumeration {
+ enum "enable" {
+ value 1;
+ description
+ "enable verification";
+ }
+ enum "disable" {
+ value 2;
+ description
+ "disable verification";
+ }
+ }
+ description
+ "L2vpn verification";
+ }
+
+ typedef Max-path-mtu-range {
+ type uint32 {
+ range "68..65535";
+ }
+ description
+ "Max path mtu range";
+ }
+
+ typedef Interface-traffic-flood {
+ type enumeration {
+ enum "traffic-flooding" {
+ value 0;
+ description
+ "Traffic flooding";
+ }
+ enum "enable-flooding" {
+ value 1;
+ description
+ "Enable Flooding";
+ }
+ enum "disable-flooding" {
+ value 2;
+ description
+ "Disable flooding";
+ }
+ }
+ description
+ "Interface traffic flood";
+ }
+
+ typedef Pbbvid-range {
+ type uint32 {
+ range "1..4094";
+ }
+ description
+ "Pbbvid range";
+ }
+
+ typedef L2tp-cookie-value-range {
+ type uint32 {
+ range "0..4294967295";
+ }
+ description
+ "L2tp cookie value range";
+ }
+
+ typedef L2-encapsulation {
+ type enumeration {
+ enum "vlan" {
+ value 4;
+ description
+ "Vlan tagged mode";
+ }
+ enum "ethernet" {
+ value 5;
+ description
+ "Ethernet port mode";
+ }
+ }
+ description
+ "L2 encapsulation";
+ }
+
+ typedef L2vpn-logging {
+ type enumeration {
+ enum "enable" {
+ value 1;
+ description
+ "enable logging";
+ }
+ enum "disable" {
+ value 2;
+ description
+ "disable logging";
+ }
+ }
+ description
+ "L2vpn logging";
+ }
+
+ typedef Mac-aging-range {
+ type uint32 {
+ range "300..30000";
+ }
+ description
+ "Mac aging range";
+ }
+
+ typedef Vpls-id-as-index {
+ type uint32 {
+ range "0..4294967295";
+ }
+ description
+ "Vpls id as index";
+ }
+
+ typedef Pseudowire-gbl-id-range {
+ type uint32 {
+ range "1..4294967295";
+ }
+ description
+ "Pseudowire gbl id range";
+ }
+
+ typedef Rdas-index {
+ type uint32 {
+ range "0..4294967295";
+ }
+ description
+ "Rdas index";
+ }
+
+ typedef Mac-flush-mode {
+ type enumeration {
+ enum "mvrp" {
+ value 1;
+ description
+ "MVRP MAC Flushing";
+ }
+ }
+ description
+ "Mac flush mode";
+ }
+
+ typedef L2tp-cookie-size {
+ type enumeration {
+ enum "zero" {
+ value 0;
+ description
+ "Cookie size is zero bytes";
+ }
+ enum "four" {
+ value 4;
+ description
+ "Cookie size is four bytes";
+ }
+ enum "eight" {
+ value 8;
+ description
+ "Cookie size is eight bytes";
+ }
+ }
+ description
+ "L2tp cookie size";
+ }
+
+ typedef Mpls-sequencing {
+ type enumeration {
+ enum "off" {
+ value 0;
+ description
+ "Sequencing is off";
+ }
+ enum "transmit" {
+ value 1;
+ description
+ "Sequencing on transmit side";
+ }
+ enum "receive" {
+ value 2;
+ description
+ "Sequencing on receive side";
+ }
+ enum "both" {
+ value 4;
+ description
+ "Sequencing on both transmit and receive side";
+ }
+ }
+ description
+ "Mpls sequencing";
+ }
+
+ typedef Erp-instance-range {
+ type uint32 {
+ range "1..2";
+ }
+ description
+ "Erp instance range";
+ }
+
+ typedef Pw-redundancy-initial-delay-range {
+ type uint32 {
+ range "0..120";
+ }
+ description
+ "Pw redundancy initial delay range";
+ }
+
+ typedef Vpls-id-as-range {
+ type uint32 {
+ range "1..65535";
+ }
+ description
+ "Vpls id as range";
+ }
+
+ typedef Rdas-range {
+ type uint32 {
+ range "1..4294967295";
+ }
+ description
+ "Rdas range";
+ }
+
+ typedef Bridge-bd-mtu-range {
+ type uint32 {
+ range "46..65535";
+ }
+ description
+ "Bridge bd mtu range";
+ }
+
+ typedef Backup-disable-delay-range {
+ type uint32 {
+ range "0..180";
+ }
+ description
+ "Backup disable delay range";
+ }
+
+ typedef Storm-control-kbps-range {
+ type uint32 {
+ range "64..1280000";
+ }
+ description
+ "Storm control kbps range";
+ }
+
+ typedef Mac-limit-action {
+ type enumeration {
+ enum "none" {
+ value 0;
+ description
+ "No action";
+ }
+ enum "flood" {
+ value 1;
+ description
+ "Flood Mac Limit Action";
+ }
+ enum "no-flood" {
+ value 2;
+ description
+ "NoFlood Mac Limit Action";
+ }
+ enum "shutdown" {
+ value 3;
+ description
+ "Shutdown Mac Limit Action";
+ }
+ }
+ description
+ "Mac limit action";
+ }
+
+ typedef Erp-port1 {
+ type enumeration {
+ enum "port0" {
+ value 0;
+ description
+ "ERP main port 0";
+ }
+ enum "port1" {
+ value 1;
+ description
+ "ERP main port 1";
+ }
+ }
+ description
+ "Erp port1";
+ }
+
+ typedef Mac-notification {
+ type enumeration {
+ enum "no-notif" {
+ value 0;
+ description
+ "No_Notification Trap";
+ }
+ enum "syslog" {
+ value 1;
+ description
+ "syslog message";
+ }
+ enum "trap" {
+ value 2;
+ description
+ "Snmp Trap";
+ }
+ enum "syslog-snmp" {
+ value 3;
+ description
+ "Syslog_snmp Trap";
+ }
+ }
+ description
+ "Mac notification";
+ }
+
+ typedef Control-word {
+ type enumeration {
+ enum "enable" {
+ value 1;
+ description
+ "Enable control word";
+ }
+ enum "disable" {
+ value 2;
+ description
+ "Disable control word";
+ }
+ }
+ description
+ "Control word";
+ }
+
+ typedef Bgp-route-distinguisher {
+ type enumeration {
+ enum "auto" {
+ value 1;
+ description
+ "RD automatically assigned";
+ }
+ enum "two-byte-as" {
+ value 2;
+ description
+ "RD in 2 byte AS:nn format";
+ }
+ enum "four-byte-as" {
+ value 3;
+ description
+ "RD in 4 byte AS:nn format";
+ }
+ enum "ipv4-address" {
+ value 4;
+ description
+ "RD in IpV4address";
+ }
+ }
+ description
+ "Bgp route distinguisher";
+ }
+
+ typedef Bgp-route-target-format {
+ type enumeration {
+ enum "none" {
+ value 0;
+ description
+ "No route target";
+ }
+ enum "two-byte-as" {
+ value 1;
+ description
+ "2 Byte AS:nn format";
+ }
+ enum "four-byte-as" {
+ value 2;
+ description
+ "4 byte AS:nn format";
+ }
+ enum "ipv4-address" {
+ value 3;
+ description
+ "IP:nn format";
+ }
+ enum "es-import" {
+ value 1538;
+ description
+ "a.a.i format";
+ }
+ }
+ description
+ "Bgp route target format";
+ }
+
+ typedef Evpn-group-id-range {
+ type uint32 {
+ range "1..4294967295";
+ }
+ description
+ "Evpn group id range";
+ }
+
+ typedef Mac-limit-threshold-range {
+ type uint32 {
+ range "1..100";
+ }
+ description
+ "Mac limit threshold range";
+ }
+
+ typedef Vedge-range {
+ type uint32 {
+ range "11..100";
+ }
+ description
+ "Vedge range";
+ }
+
+ typedef Vpnid-range {
+ type uint32 {
+ range "1..4294967295";
+ }
+ description
+ "Vpnid range";
+ }
+
+ typedef Freeze-time-range {
+ type uint32 {
+ range "5..3600";
+ }
+ description
+ "Freeze time range";
+ }
+
+ typedef Ldp-vpls-id {
+ type enumeration {
+ enum "two-byte-as" {
+ value 10;
+ description
+ "VPLS-ID in 2 byte AS:nn format";
+ }
+ enum "ipv4-address" {
+ value 266;
+ description
+ "VPLS-ID in IPv4 IP:nn format";
+ }
+ }
+ description
+ "Ldp vpls id";
+ }
+
+ typedef Ce-id-range {
+ type uint32 {
+ range "1..16384";
+ }
+ description
+ "Ce id range";
+ }
+
+ typedef Mac-aging {
+ type enumeration {
+ enum "absolute" {
+ value 1;
+ description
+ "Absolute aging type";
+ }
+ enum "inactivity" {
+ value 2;
+ description
+ "Inactivity aging type";
+ }
+ }
+ description
+ "Mac aging";
+ }
+
+ typedef Mac-limit-range {
+ type uint32 {
+ range "0..4294967295";
+ }
+ description
+ "Mac limit range";
+ }
+
+ typedef Pbbisid-range {
+ type uint32 {
+ range "256..16777214";
+ }
+ description
+ "Pbbisid range";
+ }
+
+ typedef Type-of-service-range {
+ type uint32 {
+ range "0..255";
+ }
+ description
+ "Type of service range";
+ }
+
+ typedef Flow-label-load-balance {
+ type enumeration {
+ enum "off" {
+ value 0;
+ description
+ "Flow Label load balance is off";
+ }
+ enum "receive" {
+ value 1;
+ description
+ "Delete Flow Label on receive side";
+ }
+ enum "transmit" {
+ value 2;
+ description
+ "Insert Flow Label on transmit side";
+ }
+ enum "both" {
+ value 3;
+ description
+ "Insert/Delete Flow Label on transmit/receive
+ side";
+ }
+ }
+ description
+ "Flow label load balance";
+ }
+
+ grouping EVI-ADVERTISE-MAC-DEPRECATED {
+ description
+ "Common node of evpn-evi, evpn-instance";
+ leaf evi-advertise-mac-deprecated {
+ type empty;
+ description
+ "DEPRECATED: Advertise local MAC-only and BVI MAC
+ routes";
+ }
+ }
+
+ grouping TABLE-POLICY {
+ description
+ "Common node of evpn-evi-bgp-auto-discovery,
+ evpn-instance-bgp-auto-discovery";
+ leaf table-policy {
+ type string;
+ description
+ "Table Policy for installation of forwarding data
+ to L2FIB";
+ }
+ }
+
+ grouping STORM-CONTROL-UNIT {
+ description
+ "Common node of bd-storm-control,
+ bdac-storm-control-type, bdpw-storm-control-type";
+ container storm-control-unit {
+ must "kbits-per-sec or pkts-per-sec";
+ description
+ "Specify units for Storm Control Configuration";
+ leaf kbits-per-sec {
+ type Storm-control-kbps-range;
+ units "kbit/s";
+ description
+ "Kilobits Per Second, PktsPerSec and KbitsPerSec
+ cannot be configured together";
+ }
+ leaf pkts-per-sec {
+ type Storm-control-pps-range;
+ units "packet/s";
+ description
+ "Packets Per Second, PktsPerSec and KbitsPerSec
+ cannot be configured together";
+ }
+ }
+ }
+
+ grouping EVI-ECMP-DISABLE {
+ description
+ "Common node of evpn-evi, evpn-instance";
+ leaf evi-ecmp-disable {
+ type empty;
+ description
+ "Disable ECMP on the EVI";
+ }
+ }
+
+ grouping MANUAL-SERVICE-CARVING {
+ description
+ "Common node of ethernet-segment,
+ evpn-virtual-ethernet-segment";
+ container manual-service-carving {
+ description
+ "Enter Manual service carving configuration
+ submode";
+ container service-list {
+ description
+ "Manual service carving primary,secondary lists";
+ leaf primary {
+ type string {
+ length "1..150";
+ }
+ description
+ "Primary services list";
+ }
+ leaf secondary {
+ type string {
+ length "1..150";
+ }
+ description
+ "Secondary services list";
+ }
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Manual service carving";
+ }
+ }
+ }
+
+ grouping EVPN-ROUTE-DISTINGUISHER {
+ description
+ "Common node of evpn-bgp-auto-discovery,
+ evpn-evi-bgp-auto-discovery,
+ evpn-instance-bgp-auto-discovery, pw-routing-bgp";
+ container evpn-route-distinguisher {
+ description
+ "Route Distinguisher";
+ leaf type {
+ type Bgp-route-distinguisher;
+ description
+ "Router Distinguisher Type";
+ }
+ leaf as {
+ when "../type = 'two-byte-as' or ../type = 'four-byte-as'" {
+ description
+ "../Type = TwoByteAS or ../Type = FourByteAS";
+ }
+ type Rdas-range;
+ description
+ "Two byte or 4 byte AS number";
+ }
+ leaf as-index {
+ when "../type = 'two-byte-as' or ../type = 'four-byte-as'" {
+ description
+ "../Type = TwoByteAS or ../Type = FourByteAS";
+ }
+ type Rdas-index;
+ description
+ "AS:nn (hex or decimal format)";
+ }
+ leaf address {
+ when "../type = 'ipv4-address'" {
+ description
+ "../Type = IPV4Address";
+ }
+ type inet:ipv4-address-no-zone;
+ description
+ "IPV4 address";
+ }
+ leaf addr-index {
+ when "../type = 'ipv4-address'" {
+ description
+ "../Type = IPV4Address";
+ }
+ type Rd-addr-index;
+ description
+ "Addr index";
+ }
+ }
+ }
+
+ grouping EVPN-VIRTUAL-ETHERNET-SEGMENT {
+ description
+ "Common node of evpn-virtual-access-pw,
+ evpn-virtual-access-vfi";
+ container evpn-virtual-ethernet-segment {
+ description
+ "Enter Ethernet Segment configuration submode";
+ leaf enable {
+ type empty;
+ description
+ "Enable Ethernet Segment";
+ }
+ uses ES-IMPORT-ROUTE-TARGET;
+ uses IDENTIFIER;
+ uses MANUAL-SERVICE-CARVING;
+ }
+ }
+
+ grouping ES-IMPORT-ROUTE-TARGET {
+ description
+ "Common node of ethernet-segment,
+ evpn-virtual-ethernet-segment";
+ leaf es-import-route-target {
+ type yang:mac-address;
+ description
+ "ES-Import Route Target";
+ }
+ }
+
+ grouping IDENTIFIER {
+ description
+ "Common node of ethernet-segment,
+ evpn-virtual-ethernet-segment";
+ container identifier {
+ presence "Indicates a identifier node is configured.";
+ description
+ "Ethernet segment identifier";
+ leaf bytes01 {
+ type xr:Hex-integer;
+ mandatory true;
+ description
+ "Type 0's 1st Byte or Type Byte and 1st Byte";
+ }
+ leaf bytes23 {
+ type xr:Hex-integer;
+ units "byte";
+ mandatory true;
+ description
+ "2nd and 3rd Bytes";
+ }
+ leaf bytes45 {
+ type xr:Hex-integer;
+ units "byte";
+ mandatory true;
+ description
+ "4th and 5th Bytes";
+ }
+ leaf bytes67 {
+ type xr:Hex-integer;
+ units "byte";
+ mandatory true;
+ description
+ "6th and 7th Bytes";
+ }
+ leaf bytes89 {
+ type xr:Hex-integer;
+ units "byte";
+ mandatory true;
+ description
+ "8th and 9th Bytes";
+ }
+ leaf type {
+ type Ethernet-segment-identifier;
+ mandatory true;
+ description
+ "Ethernet segment identifier type";
+ }
+ }
+ }
+
+ grouping EVPN-ROUTE-TARGET-TABLE {
+ description
+ "Common node of evpn-evi-bgp-auto-discovery,
+ evpn-instance-bgp-auto-discovery";
+ container evpn-route-targets {
+ description
+ "Route Target";
+ list evpn-route-target-as {
+ must "format = 'two-byte-as' or format = 'four-byte-as'" {
+ description
+ "path for evpn-route-target when format is 2 or 4 byte AS";
+ }
+ key "format role as as-index stitching";
+ description
+ "Name of the Route Target";
+ xr:xr-xml-map "l2vpn_cfg:EVPNRouteTarget";
+ leaf format {
+ type Bgp-route-target-format;
+ description
+ "Format of the route target";
+ xr:xr-xml-map "l2vpn_cfg:Format";
+ }
+ leaf role {
+ type Bgp-route-target-role;
+ description
+ "Role of the router target type";
+ xr:xr-xml-map "l2vpn_cfg:Role";
+ }
+ leaf as {
+ type Rdas-range;
+ description
+ "Two byte or 4 byte AS number";
+ xr:xr-xml-map "l2vpn_cfg:AS";
+ }
+ leaf as-index {
+ type Rdas-index;
+ description
+ "AS:nn (hex or decimal format)";
+ xr:xr-xml-map "l2vpn_cfg:ASIndex";
+ }
+ leaf stitching {
+ type Bgp-route-target;
+ description
+ "whether RT is Stitching RT";
+ xr:xr-xml-map "l2vpn_cfg:Stitching";
+ }
+ }
+ list evpn-route-target-none {
+ must "format = 'none'" {
+ description
+ "path for evpn-route-target when format is none";
+ }
+ key "format role stitching";
+ description
+ "Name of the Route Target";
+ xr:xr-xml-map "l2vpn_cfg:EVPNRouteTarget";
+ leaf format {
+ type Bgp-route-target-format;
+ description
+ "Format of the route target";
+ xr:xr-xml-map "l2vpn_cfg:Format";
+ }
+ leaf role {
+ type Bgp-route-target-role;
+ description
+ "Role of the router target type";
+ xr:xr-xml-map "l2vpn_cfg:Role";
+ }
+ leaf stitching {
+ type Bgp-route-target;
+ description
+ "whether RT is Stitching RT";
+ xr:xr-xml-map "l2vpn_cfg:Stitching";
+ }
+ }
+ list evpn-route-target-ipv4-address {
+ must "format = 'ipv4-address'" {
+ description
+ "path for evpn-route-target when format is an ipv4 address";
+ }
+ key "format role address addr-index stitching";
+ description
+ "Name of the Route Target";
+ xr:xr-xml-map "l2vpn_cfg:EVPNRouteTarget";
+ leaf format {
+ type Bgp-route-target-format;
+ description
+ "Format of the route target";
+ xr:xr-xml-map "l2vpn_cfg:Format";
+ }
+ leaf role {
+ type Bgp-route-target-role;
+ description
+ "Role of the router target type";
+ xr:xr-xml-map "l2vpn_cfg:Role";
+ }
+ leaf address {
+ type inet:ipv4-address-no-zone;
+ description
+ "IPV4 address";
+ xr:xr-xml-map "l2vpn_cfg:Address";
+ }
+ leaf addr-index {
+ type Rd-addr-index;
+ description
+ "Addr index";
+ xr:xr-xml-map "l2vpn_cfg:AddrIndex";
+ }
+ leaf stitching {
+ type Bgp-route-target;
+ description
+ "whether RT is Stitching RT";
+ xr:xr-xml-map "l2vpn_cfg:Stitching";
+ }
+ }
+ }
+ }
+
+ grouping EVI-REORIG-DISABLE {
+ description
+ "Common node of evpn-evi, evpn-instance";
+ leaf evi-reorig-disable {
+ type empty;
+ description
+ "Disable route re-origination";
+ }
+ }
+
+ grouping EVI-STATIC-FLOW-LABEL {
+ description
+ "Common node of evi-load-balancing,
+ evpn-instance-load-balancing";
+ leaf evi-static-flow-label {
+ type empty;
+ description
+ "Enable Static Flow Label based load balancing";
+ }
+ }
+
+ grouping EVI-ADVERTISE-MAC-BVI {
+ description
+ "Common node of evi-advertise-mac,
+ evpn-instance-advertise-mac";
+ leaf evi-advertise-mac-bvi {
+ type empty;
+ description
+ "Advertise local MAC-only and BVI MAC routes";
+ }
+ }
+
+ grouping EVPN-EVI-DESCRIPTION {
+ description
+ "Common node of evpn-evi, evpn-instance";
+ leaf evpn-evi-description {
+ type string {
+ length "1..64";
+ }
+ description
+ "EVPN Instance description";
+ }
+ }
+
+ grouping EVI-UNKNOWN-UNICAST-FLOODING-DISABLE {
+ description
+ "Common node of evpn-evi, evpn-instance";
+ leaf evi-unknown-unicast-flooding-disable {
+ type empty;
+ description
+ "Disable Unknown Unicast Flooding on this EVI";
+ }
+ }
+
+ grouping EVPN-EVI-CW-DISABLE {
+ description
+ "Common node of evpn-evi, evpn-instance";
+ leaf evpn-evi-cw-disable {
+ type empty;
+ description
+ "CW disable for EVPN EVI";
+ }
+ }
+
+ augment "/a1:interface-configurations/a1:interface-configuration" {
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-ifmgr-cfg'";
+ container pseudowire-ether {
+ description
+ "PW-Ether attributes";
+ leaf generic-interface-list {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the interface list";
+ }
+ leaf l2-overhead {
+ type uint32 {
+ range "1..64";
+ }
+ description
+ "PW Ether L2 overhead requirement";
+ }
+ }
+ }
+ augment "/a1:interface-configurations/a1:interface-configuration" {
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-ifmgr-cfg'";
+ container pseudowire-iw {
+ description
+ "PW-IW attributes";
+ leaf l2-overhead {
+ type uint32 {
+ range "1..64";
+ }
+ units "byte";
+ description
+ "L2 overhead size in bytes";
+ }
+ leaf generic-interface-list {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the interface list";
+ }
+ }
+ }
+ augment "/a1:interface-configurations/a1:interface-configuration" {
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-ifmgr-cfg'";
+ container bvi {
+ description
+ "BVI attributes";
+ leaf host-routing {
+ type empty;
+ description
+ "Enable host-routing on this BVI";
+ }
+ }
+ }
+ augment "/a1:interface-configurations/a1:interface-configuration" {
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-ifmgr-cfg'";
+ container l2-transport {
+ description
+ "Interface Layer 2 Transport service
+ configuration data";
+ leaf enabled {
+ type empty;
+ description
+ "This object is only valid on physical
+ interfaces and it controls whether that
+ interface is a port mode Layer 2 attachment
+ circuit (note that for subinterfaces, the Layer
+ 2 property is specified when the subinterface
+ is created).The object must be set before any
+ other L2Transport configuration is supplied for
+ the interface, and must be the last
+ per-interface configuration object to be
+ removed.";
+ }
+ }
+ }
+ augment "/a2:snmp/a2:notification" {
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-snmp-agent-cfg'";
+ container vpls {
+ description
+ "CISCO-IETF-VPLS-GENERIC-MIB notification
+ configuration";
+ leaf full-clear {
+ type empty;
+ description
+ "Enable cvplsFwdFullAlarmCleared notification";
+ }
+ leaf status {
+ type empty;
+ description
+ "Enable cvplsStatusChanged notification";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable CISCO-IETF-VPLS-GENERIC-MIB
+ notifications";
+ }
+ leaf full-raise {
+ type empty;
+ description
+ "Enable cvplsFwdFullAlarmRaised notification";
+ }
+ }
+ }
+ augment "/a2:snmp/a2:notification" {
+ description
+ "This augment extends the configuration data of
+ 'Cisco-IOS-XR-snmp-agent-cfg'";
+ container l2vpn {
+ description
+ "CISCO-IETF-PW-MIB notification configuration";
+ leaf cisco {
+ type empty;
+ description
+ "Enable Cisco format including extra varbinds";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable CISCO-IETF-PW-MIB notifications";
+ }
+ leaf vc-down {
+ type empty;
+ description
+ "Enable cpwVcDown notification";
+ }
+ leaf vc-up {
+ type empty;
+ description
+ "Enable cpwVcUp notification";
+ }
+ }
+ }
+ container l2vpn {
+ description
+ "L2VPN configuration";
+ container pw-routing {
+ description
+ "Pseudowire-routing attributes";
+ container pw-routing-bgp {
+ description
+ "Enable Autodiscovery BGP Pseudowire-routing BGP";
+ leaf enable {
+ type empty;
+ description
+ "Enable Autodiscovery BGP";
+ }
+ uses EVPN-ROUTE-DISTINGUISHER;
+ }
+ leaf pw-routing-global-id {
+ type Pseudowire-gbl-id-range;
+ description
+ "Pseudowire-routing Global ID";
+ }
+ }
+ container neighbor {
+ description
+ "L2VPN neighbor submode";
+ leaf ldp-flap {
+ type empty;
+ description
+ "Enable targetted LDP session flap action";
+ }
+ }
+ container database {
+ description
+ "L2VPN databases";
+ container g8032-rings {
+ description
+ "List of G8032 Ring";
+ list g8032-ring {
+ key "g8032-ring-name";
+ description
+ "G8032 Ring";
+ container erp-port0s {
+ description
+ "Ethernet ring protection port0";
+ list erp-port0 {
+ key "interface-name";
+ description
+ "Configure ERP main port0";
+ leaf monitor {
+ type xr:Interface-name;
+ description
+ "Ethernet ring protection port0 monitor";
+ }
+ leaf interface-name {
+ type xr:Interface-name;
+ description
+ "Port0 interface";
+ }
+ }
+ }
+ container erp-instances {
+ description
+ "List of ethernet ring protection instance";
+ list erp-instance {
+ key "erp-instance-id";
+ description
+ "Ethernet ring protection instance";
+ container rpl {
+ description
+ "Ring protection link";
+ leaf port {
+ type Erp-port1;
+ description
+ "ERP main port number";
+ }
+ leaf role {
+ type Rpl-role;
+ description
+ "RPL role";
+ }
+ }
+ container aps {
+ description
+ "Automatic protection switching";
+ container port1 {
+ description
+ "APS channel for ERP port1";
+ leaf aps-type {
+ type Erpaps;
+ description
+ "Port1 APS type";
+ }
+ leaf aps-channel {
+ type string;
+ description
+ "Port1 APS channel in the format of
+ InterfaceName, BDName or XconnectName";
+ }
+ }
+ leaf port0 {
+ type string;
+ description
+ "Port0 APS channel in the format of
+ InterfaceName";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable automatic protection switching";
+ }
+ leaf level {
+ type Erpaps-level-range;
+ description
+ "Automatic protection switching level";
+ }
+ }
+ leaf description {
+ type string {
+ length "1..32";
+ }
+ description
+ "Ethernet ring protection instance
+ description";
+ }
+ leaf inclusion-list {
+ type string;
+ description
+ "Associates a set of VLAN IDs with the G
+ .8032 instance";
+ }
+ leaf profile {
+ type string {
+ length "1..32";
+ }
+ description
+ "Ethernet ring protection instance profile";
+ }
+ leaf erp-instance-id {
+ type Erp-instance-range;
+ description
+ "ERP instance number";
+ }
+ }
+ }
+ container erp-port1s {
+ description
+ "Ethernet ring protection port0";
+ list erp-port1 {
+ must "none-or-virtual or interface" {
+ description
+ "None-or-Virtual or Interface must be
+ present.";
+ }
+ key "erp-port-type";
+ description
+ "Ethernet ring protection port1";
+
+ grouping ERP-PORT1-CONTENT {
+ description
+ "ERP PORT1 CONTENT";
+ leaf monitor {
+ type xr:Interface-name;
+ description
+ "Ethernet ring protection port1 monitor";
+ }
+ }
+ container none-or-virtual {
+ when "../erp-port-type = 'none' or ../erp-port-type = 'virtual'" {
+ description
+ "../ERPPortType = None or ../ERPPortType =
+ Virtual";
+ }
+ presence "Indicates that this node is configured.";
+ description
+ "none or virtual";
+ uses ERP-PORT1-CONTENT;
+ }
+ leaf erp-port-type {
+ type Erp-port;
+ description
+ "Port1 type";
+ }
+ list interface {
+ when "../erp-port-type = 'interface'" {
+ description
+ "../ERPPortType = Interface";
+ }
+ key "interface-name";
+ description
+ "interface";
+ leaf interface-name {
+ type xr:Interface-name;
+ description
+ "Port1 interface";
+ }
+ uses ERP-PORT1-CONTENT;
+ }
+ }
+ }
+ leaf open-ring {
+ type empty;
+ description
+ "Specify the G.8032 instance as open ring";
+ }
+ leaf exclusion-list {
+ type string;
+ description
+ "Vlan IDs in the format of a-b,c,d,e-f,g
+ ,untagged";
+ }
+ leaf erp-provider-bridge {
+ type empty;
+ description
+ "Ethernet ring protection provider bridge";
+ }
+ leaf g8032-ring-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the G8032 ring";
+ }
+ }
+ }
+ container xconnect-groups {
+ description
+ "List of xconnect groups";
+ list xconnect-group {
+ key "name";
+ description
+ "Xconnect group";
+ container p2p-xconnects {
+ description
+ "List of point to point xconnects";
+ list p2p-xconnect {
+ key "name";
+ description
+ "Point to point xconnect";
+ container backup-attachment-circuits {
+ description
+ "List of backup attachment circuits";
+ list backup-attachment-circuit {
+ key "interface-name";
+ description
+ "Backup attachment circuit";
+ leaf interface-name {
+ type xr:Interface-name;
+ description
+ "Name of the attachment circuit interface";
+ }
+ }
+ }
+ container pseudowire-evpns {
+ description
+ "List of EVPN Services";
+ list pseudowire-evpn {
+ key "eviid remote-acid source-acid";
+ description
+ "EVPN P2P Service Configuration";
+ leaf class {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the pseudowire class";
+ }
+ leaf eviid {
+ type Evpnvpnid-range;
+ description
+ "Ethernet VPN ID";
+ }
+ leaf remote-acid {
+ type Pseudowire-evpnacid-range;
+ description
+ "Remote AC ID";
+ }
+ leaf source-acid {
+ type Pseudowire-evpnacid-range;
+ description
+ "Source AC ID";
+ }
+ }
+ }
+ container pseudowires {
+ description
+ "List of pseudowires";
+ list pseudowire {
+ must "pseudowire-address or neighbor" {
+ description
+ "pseudowire-address or neighbor must be
+ present.";
+ }
+ key "pseudowire-id";
+ description
+ "Pseudowire configuration";
+
+ grouping PSEUDOWIRE-CONTENT {
+ description
+ "Content grouping.";
+ container mpls-static-labels {
+ description
+ "MPLS static labels";
+ leaf local-static-label {
+ type Pseudowire-label-range;
+ description
+ "Pseudowire local static label";
+ }
+ leaf remote-static-label {
+ type Pseudowire-label-range;
+ description
+ "Pseudowire remote static label";
+ }
+ }
+ container backup-pseudowires {
+ description
+ "List of pseudowires";
+ list backup-pseudowire {
+ key "neighbor pseudowire-id";
+ description
+ "Backup pseudowire for the cross connect";
+ container backup-mpls-static-labels {
+ description
+ "MPLS static labels";
+ leaf local-static-label {
+ type Pseudowire-label-range;
+ description
+ "Pseudowire local static label";
+ }
+ leaf remote-static-label {
+ type Pseudowire-label-range;
+ description
+ "Pseudowire remote static label";
+ }
+ }
+ leaf backup-pw-class {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "PW class template name to use for the
+ backup PW";
+ }
+ leaf neighbor {
+ type inet:ipv4-address-no-zone;
+ description
+ "Neighbor IP address";
+ }
+ leaf pseudowire-id {
+ type Pseudowire-id-range;
+ description
+ "Pseudowire ID";
+ }
+ }
+ }
+ container l2tp-static-attributes {
+ description
+ "L2TP Static Attributes";
+ container l2tp-remote-cookie {
+ description
+ "L2TP remote cookie";
+ leaf size {
+ type L2tp-cookie-size;
+ description
+ "Remote cookie size";
+ }
+ leaf lower-value {
+ type L2tp-cookie-value-range;
+ description
+ "Lower remote cookie value";
+ }
+ leaf higher-value {
+ type L2tp-cookie-value-range;
+ description
+ "Higher remote cookie value";
+ }
+ }
+ container l2tp-secondary-local-cookie {
+ description
+ "L2TP secondary local cookie";
+ leaf size {
+ type L2tp-cookie-size;
+ description
+ "Local cookie size";
+ }
+ leaf lower-value {
+ type L2tp-cookie-value-range;
+ description
+ "Lower local cookie value";
+ }
+ leaf higher-value {
+ type L2tp-cookie-value-range;
+ description
+ "Higher local cookie value";
+ }
+ }
+ container l2tp-local-cookie {
+ description
+ "L2TP local cookie";
+ leaf size {
+ type L2tp-cookie-size;
+ description
+ "Local cookie size";
+ }
+ leaf lower-value {
+ type L2tp-cookie-value-range;
+ description
+ "Lower local cookie value";
+ }
+ leaf higher-value {
+ type L2tp-cookie-value-range;
+ description
+ "Higher local cookie value";
+ }
+ }
+ leaf l2tp-remote-session-id {
+ type L2tp-session-id-range;
+ description
+ "L2TP remote session ID";
+ }
+ leaf l2tp-local-session-id {
+ type L2tp-session-id-range;
+ description
+ "L2TP local session ID";
+ }
+ }
+ container l2tp-static {
+ description
+ "Pseudowire L2TPv3 static configuration";
+ leaf enable {
+ type empty;
+ description
+ "Enable pseudowire L2TPv3 static
+ configuration";
+ }
+ }
+ leaf tag-impose {
+ type Pseudowire-tag-range;
+ description
+ "Tag Impose vlan tagged mode";
+ }
+ leaf class {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the pseudowire class";
+ }
+ leaf source-address {
+ type inet:ip-address-no-zone;
+ description
+ "Value of the Pseudowire source address.
+ Must be IPv6 only.";
+ }
+ leaf bandwidth {
+ type uint32 {
+ range "0..4294967295";
+ }
+ description
+ "Pseudowire Bandwidth";
+ }
+ }
+ leaf pseudowire-id {
+ type Pseudowire-id-range;
+ description
+ "Pseudowire ID";
+ }
+ list neighbor {
+ key "neighbor";
+ description
+ "keys: neighbor";
+ leaf neighbor {
+ type inet:ipv4-address-no-zone;
+ description
+ "Pseudowire IPv4 address";
+ }
+ uses PSEUDOWIRE-CONTENT;
+ }
+ list pseudowire-address {
+ key "pseudowire-address";
+ description
+ "keys: pseudowire-address";
+ leaf pseudowire-address {
+ type inet:ipv6-address-no-zone;
+ description
+ "Pseudowire IPv6 address. A pseudowire
+ can have only one address: IPv4 or IPv6";
+ }
+ uses PSEUDOWIRE-CONTENT;
+ }
+ }
+ }
+ container monitor-sessions {
+ description
+ "List of Monitor session segments";
+ list monitor-session {
+ key "name";
+ description
+ "Monitor session segment";
+ leaf enable {
+ type empty;
+ description
+ "Enable monitor session segment ";
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..64";
+ }
+ description
+ "Name of the monitor session";
+ }
+ }
+ }
+ container pseudowire-routeds {
+ description
+ "List of pseudowire-routed";
+ list pseudowire-routed {
+ key "global-id prefix acid sacid";
+ description
+ "Pseudowire configuration";
+ leaf tag-impose {
+ type Pseudowire-tag-range;
+ description
+ "Tag Impose vlan tagged mode";
+ }
+ leaf class {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the pseudowire class";
+ }
+ leaf global-id {
+ type Pseudowire-gbl-id-range;
+ description
+ "Target Global ID";
+ }
+ leaf prefix {
+ type inet:ipv4-address-no-zone;
+ description
+ "Target Prefix";
+ }
+ leaf acid {
+ type Pseudowire-acid-range;
+ description
+ "Target AC ID";
+ }
+ leaf sacid {
+ type Pseudowire-acid-range;
+ description
+ "Source AC ID";
+ }
+ }
+ }
+ container attachment-circuits {
+ description
+ "List of attachment circuits";
+ list attachment-circuit {
+ key "name";
+ description
+ "Attachment circuit interface";
+ leaf enable {
+ type empty;
+ description
+ "Enable attachment circuit interface";
+ }
+ leaf name {
+ type xr:Interface-name;
+ description
+ "Name of the attachment circuit interface";
+ }
+ }
+ }
+ leaf p2p-description {
+ type string {
+ length "1..64";
+ }
+ description
+ "cross connect description Name";
+ }
+ leaf interworking {
+ type Interworking;
+ description
+ "Interworking";
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..38";
+ }
+ description
+ "Name of the point to point xconnect";
+ }
+ }
+ }
+ container mp2mp-xconnects {
+ description
+ "List of multi point to multi point xconnects";
+ list mp2mp-xconnect {
+ key "name";
+ description
+ "Multi point to multi point xconnect";
+ container mp2mp-auto-discovery {
+ description
+ "auto-discovery in this MP2MP";
+ container route-distinguisher {
+ description
+ "Route Distinguisher";
+ leaf type {
+ type Bgp-route-distinguisher;
+ description
+ "Router distinguisher type";
+ }
+ leaf as {
+ when "../type = 'two-byte-as' or ../type = 'four-byte-as'" {
+ description
+ "../Type = TwoByteAS or ../Type =
+ FourByteAS";
+ }
+ type Rdas-range;
+ description
+ "Two byte or 4 byte AS number";
+ }
+ leaf as-index {
+ when "../type = 'two-byte-as' or ../type = 'four-byte-as'" {
+ description
+ "../Type = TwoByteAS or ../Type =
+ FourByteAS";
+ }
+ type Rdas-index;
+ description
+ "AS:nn (hex or decimal format)";
+ }
+ leaf address {
+ when "../type = 'ipv4-address'" {
+ description
+ "../Type = IPV4Address";
+ }
+ type inet:ipv4-address-no-zone;
+ description
+ "IPV4 address";
+ }
+ leaf addr-index {
+ when "../type = 'ipv4-address'" {
+ description
+ "../Type = IPV4Address";
+ }
+ type Rd-addr-index;
+ description
+ "Addr index";
+ }
+ }
+ container mp2mp-route-policy {
+ description
+ "Route policy";
+ leaf export {
+ type string;
+ description
+ "Export route policy";
+ }
+ }
+ container mp2mp-route-targets {
+ description
+ "Route Target";
+ list mp2mp-route-target {
+ must "two-byte-as-or-four-byte-as or ipv4-address" {
+ description
+ "TwoByteAS-or-FourbyteAS or IPV4Address
+ must be present.";
+ }
+ key "role format";
+ description
+ "Name of the Route Target";
+ leaf role {
+ type Bgp-route-target-role;
+ description
+ "Role of the router target type";
+ }
+ leaf format {
+ type Bgp-route-target-format;
+ description
+ "Format of the route target";
+ }
+ list two-byte-as-or-four-byte-as {
+ when "../format = 'two-byte-as' or ../format = 'four-byte-as'" {
+ description
+ "../Format = TwoByteAS or ../Format =
+ FourbyteAS";
+ }
+ key "as as-index";
+ description
+ "two byte as or four byte as";
+ leaf as {
+ type Rdas-range;
+ description
+ "Two byte or 4 byte AS number";
+ }
+ leaf as-index {
+ type Rdas-index;
+ description
+ "AS:nn (hex or decimal format)";
+ }
+ }
+ list ipv4-address {
+ when "../format = 'ipv4-address'" {
+ description
+ "../Format = IPV4Address";
+ }
+ key "address addr-index";
+ description
+ "ipv4 address";
+ leaf address {
+ type inet:ipv4-address-no-zone;
+ description
+ "IPV4 address";
+ }
+ leaf addr-index {
+ type Rd-addr-index;
+ description
+ "Addr index";
+ }
+ }
+ }
+ }
+ container mp2mp-signaling-protocol {
+ description
+ "signaling protocol in this MP2MP";
+ container flow-label-load-balance {
+ description
+ "Enable Flow Label based load balancing";
+ leaf flow-label {
+ type Flow-label-load-balance;
+ description
+ "Flow Label load balance type";
+ }
+ leaf static {
+ type empty;
+ description
+ "Static Flow Label";
+ }
+ }
+ container ceids {
+ description
+ "Local Customer Edge Identifier Table";
+ list ceid {
+ key "ce-id";
+ description
+ "Local Customer Edge Identifier ";
+ container remote-ceid-attachment-circuits {
+ description
+ "AC And Remote Customer Edge Identifier
+ Table";
+ list remote-ceid-attachment-circuit {
+ key "name remote-ce-id";
+ description
+ "AC And Remote Customer Edge Identifier";
+ leaf name {
+ type xr:Interface-name;
+ description
+ "The name of the Attachment Circuit";
+ }
+ leaf remote-ce-id {
+ type Ce-id-range;
+ description
+ "Remote Customer Edge Identifier";
+ }
+ }
+ }
+ leaf ce-id {
+ type Ce-id-range;
+ description
+ "Local Customer Edge Identifier";
+ }
+ }
+ }
+ leaf ce-range {
+ type Cedge-range;
+ description
+ "Local Customer Edge Identifier";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable signaling protocol";
+ }
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable auto-discovery";
+ }
+ }
+ leaf mp2mpmtu {
+ type L2vpn-mtu-range;
+ units "byte";
+ description
+ "Maximum transmission unit for this MP2MP
+ VPWS instance";
+ }
+ leaf mp2mp-control-word {
+ type empty;
+ description
+ "Disable control word";
+ }
+ leaf mp2mpl2-encapsulation {
+ type L2-encapsulation;
+ description
+ "Configure Layer 2 Encapsulation";
+ }
+ leaf mp2mp-interworking {
+ type Interworking;
+ description
+ "Interworking";
+ }
+ leaf mp2mp-shutdown {
+ type empty;
+ description
+ "shutdown this MP2MP VPWS instance";
+ }
+ leaf mp2mpvpn-id {
+ type Vpnid-range;
+ description
+ "VPN Identifier";
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..26";
+ }
+ description
+ "Name of the multi point to multi point
+ xconnect";
+ }
+ }
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the xconnect group";
+ }
+ }
+ }
+ container bridge-domain-groups {
+ description
+ "List of bridge groups";
+ list bridge-domain-group {
+ key "name";
+ description
+ "Bridge group";
+ container bridge-domains {
+ description
+ "List of Bridge Domain";
+ list bridge-domain {
+ key "name";
+ description
+ "bridge domain";
+ container bd-storm-controls {
+ description
+ "Storm Control";
+ list bd-storm-control {
+ must "storm-control-unit";
+ key "sctype";
+ description
+ "Storm Control Type";
+ leaf sctype {
+ type Storm-control;
+ description
+ "Storm Control Type";
+ }
+ uses STORM-CONTROL-UNIT;
+ }
+ }
+ container member-vnis {
+ description
+ "Bridge Domain VxLAN Network Identifier
+ Table";
+ list member-vni {
+ key "vni";
+ description
+ "Bridge Domain Member VxLAN Network
+ Identifier ";
+ container member-vni-static-mac-addresses {
+ description
+ "Static Mac Address Table";
+ list member-vni-static-mac-address {
+ key "mac-address";
+ description
+ "Static Mac Address Configuration";
+ leaf next-hop-ip {
+ type inet:ipv4-address-no-zone;
+ description
+ "Enable Static Mac Address Configuration";
+ }
+ leaf mac-address {
+ type yang:mac-address;
+ description
+ "Static MAC address";
+ }
+ }
+ }
+ leaf vni {
+ type uint32 {
+ range "1..16777215";
+ }
+ description
+ "VxLAN Network Identifier number";
+ }
+ }
+ }
+ container bridge-domain-mac {
+ description
+ "MAC configuration commands";
+ container bd-mac-limit {
+ description
+ "MAC-Limit configuration commands";
+ leaf bd-mac-limit-action {
+ type Mac-limit-action;
+ description
+ "MAC address limit enforcement action";
+ }
+ leaf bd-mac-limit-notif {
+ type Mac-notification;
+ description
+ "Mac Address Limit Notification";
+ }
+ leaf bd-mac-limit-max {
+ type Mac-limit-range;
+ description
+ "Number of MAC addresses after which MAC
+ limit action is taken";
+ }
+ }
+ container bd-mac-filters {
+ description
+ "Filter Mac Address";
+ list bd-mac-filter {
+ key "address";
+ description
+ "Static MAC address";
+ leaf drop {
+ type empty;
+ description
+ "MAC address for filtering";
+ }
+ leaf address {
+ type yang:mac-address;
+ description
+ "Static MAC address";
+ }
+ }
+ }
+ container mac-secure {
+ description
+ "MAC Secure";
+ leaf logging {
+ type empty;
+ description
+ "MAC Secure Logging";
+ }
+ leaf action {
+ type Mac-secure-action;
+ description
+ "MAC secure enforcement action";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable MAC Secure";
+ }
+ leaf threshold {
+ type empty;
+ description
+ "MAC Secure Threshold";
+ }
+ }
+ container bd-mac-aging {
+ description
+ "MAC-Aging configuration commands";
+ leaf bd-mac-aging-type {
+ type Mac-aging;
+ description
+ "MAC address aging type";
+ }
+ leaf bd-mac-aging-time {
+ type Mac-aging-range;
+ description
+ "Mac Aging Time";
+ }
+ }
+ leaf bd-mac-withdraw-relay {
+ type empty;
+ description
+ "Mac withdraw sent from access PW to access
+ PW";
+ }
+ leaf bd-mac-withdraw-access-pw-disable {
+ type empty;
+ description
+ "MAC withdraw on Access PW";
+ }
+ leaf bd-mac-port-down-flush {
+ type empty;
+ description
+ "Disable MAC Flush when Port goes Down";
+ }
+ leaf bd-mac-withdraw {
+ type empty;
+ description
+ "Disable Mac Withdraw";
+ }
+ leaf bd-mac-withdraw-behavior {
+ type Mac-withdraw-behavior;
+ description
+ "MAC withdraw sent on bridge port down";
+ }
+ leaf bd-mac-learn {
+ type Bdmac-learn;
+ description
+ "Mac Learning Type";
+ }
+ }
+ container nv-satellite {
+ description
+ "nV Satellite";
+ leaf offload-ipv4-multicast-enable {
+ type empty;
+ description
+ "Enable IPv4 Multicast Offload to Satellite
+ Nodes";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable nV Satellite Settings";
+ }
+ }
+ container bridge-domain-pbb {
+ description
+ "Bridge Domain PBB";
+ container pbb-edges {
+ description
+ "PBB Edge";
+ list pbb-edge {
+ key "isid core-bd-name";
+ description
+ "Configure BD as PBB Edge with ISID and
+ associated PBB Core BD";
+ container pbb-edge-split-horizon-group {
+ description
+ "Split Horizon Group";
+ leaf disable {
+ type empty;
+ description
+ "Disable split horizon group";
+ }
+ }
+ container pbb-static-mac-mappings {
+ description
+ "PBB Static Mac Address Mapping Table";
+ list pbb-static-mac-mapping {
+ key "address";
+ description
+ "PBB Static Mac Address Mapping
+ Configuration";
+ leaf pbb-static-mac-mapping-bmac {
+ type yang:mac-address;
+ description
+ "Static backbone MAC address to map
+ with";
+ }
+ leaf address {
+ type yang:mac-address;
+ description
+ "Static MAC address";
+ }
+ }
+ }
+ container pbb-edge-dhcp-profile {
+ description
+ "Attach a DHCP profile";
+ leaf profile-id {
+ type Interface-profile;
+ description
+ "Set the snooping profile";
+ }
+ leaf dhcp-snooping-id {
+ type string;
+ description
+ "Disable DHCP snooping";
+ }
+ }
+ container pbb-edge-mac {
+ description
+ "MAC configuration commands";
+ container pbb-edge-mac-limit {
+ description
+ "MAC-Limit configuration commands";
+ leaf pbb-edge-mac-limit-action {
+ type Mac-limit-action;
+ description
+ "MAC address limit enforcement action";
+ }
+ leaf pbb-edge-mac-limit-max {
+ type Mac-limit-range;
+ description
+ "Number of MAC addresses after which
+ MAC limit action is taken";
+ }
+ leaf pbb-edge-mac-limit-notif {
+ type Mac-notification;
+ description
+ "MAC address limit notification action";
+ }
+ }
+ container pbb-edge-mac-aging {
+ description
+ "MAC-Aging configuration commands";
+ leaf pbb-edge-mac-aging-type {
+ type Mac-aging;
+ description
+ "MAC address aging type";
+ }
+ leaf pbb-edge-mac-aging-time {
+ type Mac-aging-range;
+ description
+ "Mac Aging Time";
+ }
+ }
+ container pbb-edge-mac-secure {
+ description
+ "MAC Secure";
+ leaf logging {
+ type L2vpn-logging;
+ description
+ "MAC Secure Logging";
+ }
+ leaf disable {
+ type empty;
+ description
+ "Disable Virtual instance port MAC
+ Secure";
+ }
+ leaf action {
+ type Mac-secure-action;
+ description
+ "MAC secure enforcement action";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable MAC Secure";
+ }
+ leaf accept-shutdown {
+ type empty;
+ description
+ "Accept Virtual instance port to be
+ shutdown on mac violation";
+ }
+ }
+ leaf pbb-edge-mac-learning {
+ type Mac-learn;
+ description
+ "Enable Mac Learning";
+ }
+ }
+ leaf pbb-edge-igmp-profile {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Attach a IGMP Snooping profile";
+ }
+ leaf unknown-unicast-bmac {
+ type yang:mac-address;
+ description
+ "Configure Unknown Unicast BMAC address
+ for PBB Edge Port";
+ }
+ leaf isid {
+ type Pbbisid-range;
+ description
+ "ISID";
+ }
+ leaf core-bd-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..27";
+ }
+ description
+ "Core BD Name";
+ }
+ }
+ }
+ container pbb-core {
+ description
+ "PBB Core";
+ container pbb-core-mac {
+ description
+ "MAC configuration commands";
+ container pbb-core-mac-aging {
+ description
+ "MAC-Aging configuration commands";
+ leaf pbb-core-mac-aging-type {
+ type Mac-aging;
+ description
+ "MAC address aging type";
+ }
+ leaf pbb-core-mac-aging-time {
+ type Mac-aging-range;
+ description
+ "Mac Aging Time";
+ }
+ }
+ container pbb-core-mac-limit {
+ description
+ "MAC-Limit configuration commands";
+ leaf pbb-core-mac-limit-max {
+ type Mac-limit-range;
+ description
+ "Number of MAC addresses after which MAC
+ limit action is taken";
+ }
+ leaf pbb-core-mac-limit-notif {
+ type Mac-notification;
+ description
+ "MAC address limit notification action";
+ }
+ leaf pbb-core-mac-limit-action {
+ type Mac-limit-action;
+ description
+ "MAC address limit enforcement action";
+ }
+ }
+ leaf pbb-core-mac-learning {
+ type Mac-learn;
+ description
+ "Enable Mac Learning";
+ }
+ }
+ container pbb-core-evis {
+ description
+ "PBB Core EVI Table";
+ list pbb-core-evi {
+ key "eviid";
+ description
+ "PBB Core EVI";
+ leaf eviid {
+ type Vpnid-range;
+ description
+ "Ethernet VPN ID";
+ }
+ }
+ }
+ container pbb-core-dhcp-profile {
+ description
+ "Attach a DHCP profile";
+ leaf profile-id {
+ type Interface-profile;
+ description
+ "Set the snooping profile";
+ }
+ leaf dhcp-snooping-id {
+ type string;
+ description
+ "Disable DHCP snooping";
+ }
+ }
+ leaf pbb-core-mmrp-flood-optimization {
+ type empty;
+ description
+ "Enabling MMRP PBB-VPLS Flood Optimization";
+ }
+ leaf vlan-id {
+ type Pbbvid-range;
+ description
+ "VLAN ID to push";
+ }
+ leaf pbb-core-igmp-profile {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Attach a IGMP Snooping profile";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Bridge Domain PBB Core
+ Configuration";
+ }
+ }
+ }
+ container bridge-domain-evis {
+ description
+ "Bridge Domain EVI Table";
+ list bridge-domain-evi {
+ key "eviid";
+ description
+ "Bridge Domain EVI";
+ leaf eviid {
+ type Evpnvpnid-range;
+ description
+ "Ethernet VPN ID";
+ }
+ }
+ }
+ container access-vfis {
+ description
+ "Specify the access virtual forwarding
+ interface name";
+ list access-vfi {
+ key "name";
+ description
+ "Name of the Acess Virtual Forwarding
+ Interface";
+ container access-vfi-pseudowires {
+ description
+ "List of pseudowires";
+ list access-vfi-pseudowire {
+ key "neighbor pseudowire-id";
+ description
+ "Pseudowire configuration";
+ container access-vfi-pseudowire-static-mac-addresses {
+ description
+ "Static Mac Address Table";
+ list access-vfi-pseudowire-static-mac-address {
+ key "address";
+ description
+ "Static Mac Address Configuration";
+ leaf address {
+ type yang:mac-address;
+ description
+ "Static MAC address";
+ }
+ }
+ }
+ leaf access-vfi-pw-class {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Pseudowire class template name to use
+ for this pseudowire";
+ }
+ leaf neighbor {
+ type inet:ipv4-address-no-zone;
+ description
+ "Neighbor IP address";
+ }
+ leaf pseudowire-id {
+ type Pseudowire-id-range;
+ description
+ "Pseudowire ID";
+ }
+ }
+ }
+ leaf access-vfi-shutdown {
+ type empty;
+ description
+ "shutdown the AccessVfi";
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the AccessVirtual Forwarding
+ Interface";
+ }
+ }
+ }
+ container bd-pseudowires {
+ description
+ "List of pseudowires";
+ list bd-pseudowire {
+ key "neighbor pseudowire-id";
+ description
+ "Pseudowire configuration";
+ container pseudowire-dai {
+ description
+ "Access Pseudowire Dynamic ARP Inspection";
+ container pseudowire-dai-address-validation {
+ description
+ "Address Validation";
+ leaf ipv4-verification {
+ type L2vpn-verification;
+ description
+ "IPv4 Verification";
+ }
+ leaf destination-mac-verification {
+ type L2vpn-verification;
+ description
+ "Destination MAC Verification";
+ }
+ leaf source-mac-verification {
+ type L2vpn-verification;
+ description
+ "Source MAC Verification";
+ }
+ }
+ leaf logging {
+ type L2vpn-logging;
+ description
+ "Logging Type";
+ }
+ leaf disable {
+ type empty;
+ description
+ "Disable Dynamic ARP Inspection";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Access Pseudowire Dynamic ARP
+ Inspection";
+ }
+ }
+ container bdpw-storm-control-types {
+ description
+ "Storm Control";
+ list bdpw-storm-control-type {
+ must "storm-control-unit";
+ key "sctype";
+ description
+ "Storm Control Type";
+ leaf sctype {
+ type Storm-control;
+ description
+ "Storm Control Type";
+ }
+ uses STORM-CONTROL-UNIT;
+ }
+ }
+ container pseudowire-profile {
+ description
+ "Attach a DHCP profile";
+ leaf profile-id {
+ type Interface-profile;
+ description
+ "Set the snooping profile";
+ }
+ leaf dhcp-snooping-id {
+ type string;
+ description
+ "Disable DHCP snooping";
+ }
+ }
+ container bd-pw-static-mac-addresses {
+ description
+ "Static Mac Address Table";
+ list bd-pw-static-mac-address {
+ key "address";
+ description
+ "Static Mac Address Configuration";
+ leaf address {
+ type yang:mac-address;
+ description
+ "Static MAC address";
+ }
+ }
+ }
+ container pseudowire-ip-source-guard {
+ description
+ "IP Source Guard";
+ leaf logging {
+ type L2vpn-logging;
+ description
+ "Logging Type";
+ }
+ leaf disable {
+ type empty;
+ description
+ "Disable Dynamic IP source guard";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable IP Source Guard";
+ }
+ }
+ container pseudowire-mac {
+ description
+ "Bridge-domain Pseudowire MAC
+ configuration commands";
+ container pseudowire-mac-secure {
+ description
+ "MAC Secure";
+ leaf logging {
+ type L2vpn-logging;
+ description
+ "MAC Secure Logging";
+ }
+ leaf disable {
+ type empty;
+ description
+ "Disable L2 Pseudowire MAC Secure";
+ }
+ leaf action {
+ type Mac-secure-action;
+ description
+ "MAC secure enforcement action";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable MAC Secure";
+ }
+ }
+ container pseudowire-mac-aging {
+ description
+ "MAC-Aging configuration commands";
+ leaf pseudowire-mac-aging-type {
+ type Mac-aging;
+ description
+ "MAC address aging type";
+ }
+ leaf pseudowire-mac-aging-time {
+ type Mac-aging-range;
+ description
+ "MAC Aging Time";
+ }
+ }
+ container pseudowire-mac-limit {
+ description
+ "MAC-Limit configuration commands";
+ leaf pseudowire-mac-limit-action {
+ type Mac-limit-action;
+ description
+ "Bridge Access Pseudowire MAC address
+ limit enforcement action";
+ }
+ leaf pseudowire-mac-limit-notif {
+ type Mac-notification;
+ description
+ "MAC address limit notification action
+ in a Bridge Access Pseudowire";
+ }
+ leaf pseudowire-mac-limit-max {
+ type Mac-limit-range;
+ description
+ "Number of MAC addresses on a Bridge
+ Access Pseudowire after which MAC limit
+ action is taken";
+ }
+ }
+ leaf pseudowire-mac-port-down-flush {
+ type Port-down-flush;
+ description
+ "Enable/Disable MAC Flush When Port goes
+ down";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Bridge-domain Pseudowire MAC
+ configuration mode";
+ }
+ leaf pseudowire-mac-learning {
+ type Mac-learn;
+ description
+ "Enable MAC Learning";
+ }
+ }
+ container bd-pw-split-horizon {
+ description
+ "Split Horizon";
+ container bd-pw-split-horizon-group {
+ description
+ "Split Horizon Group";
+ leaf enable {
+ type empty;
+ description
+ "Enable split horizon group";
+ }
+ }
+ }
+ container bd-pw-mpls-static-labels {
+ description
+ "MPLS static labels";
+ leaf local-static-label {
+ type Pseudowire-label-range;
+ description
+ "Pseudowire local static label";
+ }
+ leaf remote-static-label {
+ type Pseudowire-label-range;
+ description
+ "Pseudowire remote static label";
+ }
+ }
+ container bridge-domain-backup-pseudowires {
+ description
+ "List of pseudowires";
+ list bridge-domain-backup-pseudowire {
+ key "neighbor pseudowire-id";
+ description
+ "Backup pseudowire configuration";
+ leaf bridge-domain-backup-pw-class {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "PW class template name to use for this
+ pseudowire";
+ }
+ leaf neighbor {
+ type inet:ipv4-address-no-zone;
+ description
+ "Neighbor IP address";
+ }
+ leaf pseudowire-id {
+ type Pseudowire-id-range;
+ description
+ "Pseudowire ID";
+ }
+ }
+ }
+ leaf pseudowire-mld-snoop {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Attach a MLD Snooping profile";
+ }
+ leaf pseudowire-igmp-snoop {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Attach a IGMP Snooping profile";
+ }
+ leaf pseudowire-flooding {
+ type Interface-traffic-flood;
+ description
+ "Bridge-domain Pseudowire flooding";
+ }
+ leaf bd-pw-class {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "PW class template name to use for this
+ pseudowire";
+ }
+ leaf pseudowire-flooding-unknown-unicast {
+ type Interface-traffic-flood;
+ description
+ "Bridge-domain Pseudowire flooding Unknown
+ Unicast";
+ }
+ leaf neighbor {
+ type inet:ipv4-address-no-zone;
+ description
+ "Neighbor IP address";
+ }
+ leaf pseudowire-id {
+ type Pseudowire-id-range;
+ description
+ "Pseudowire ID";
+ }
+ }
+ }
+ container vfis {
+ description
+ "Specify the virtual forwarding interface
+ name";
+ list vfi {
+ key "name";
+ description
+ "Name of the Virtual Forwarding Interface";
+ container multicast-p2mp {
+ description
+ "Enable Multicast P2MP in this VFI";
+ container transports {
+ description
+ "Multicast P2MP Transport";
+ list transport {
+ key "transport-name";
+ description
+ "Multicast P2MP Transport Type";
+ leaf attribute-set-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..64";
+ }
+ description
+ "Multicast P2MP TE Attribute Set Name";
+ }
+ leaf transport-name {
+ type Multicast-p2mp-transport;
+ description
+ "Transport Type";
+ }
+ }
+ }
+ container signalings {
+ description
+ "Multicast P2MP Signaling Type";
+ list signaling {
+ key "signaling-name";
+ description
+ "Multicast P2MP Signaling Type";
+ leaf signaling-name {
+ type Multicast-p2mp-signaling;
+ description
+ "Signaling Type";
+ }
+ }
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Autodiscovery P2MP";
+ }
+ }
+ container vfi-pseudowires {
+ description
+ "List of pseudowires";
+ list vfi-pseudowire {
+ key "neighbor pseudowire-id";
+ description
+ "Pseudowire configuration";
+ container vfi-pw-dhcp-snoop {
+ description
+ "Attach a DHCP Snooping profile";
+ leaf profile-id {
+ type Interface-profile;
+ description
+ "Set the snooping profile";
+ }
+ leaf dhcp-snooping-id {
+ type string;
+ description
+ "Disable DHCP snooping";
+ }
+ }
+ container vfi-pw-mpls-static-labels {
+ description
+ "MPLS static labels";
+ leaf local-static-label {
+ type Pseudowire-label-range;
+ description
+ "Pseudowire local static label";
+ }
+ leaf remote-static-label {
+ type Pseudowire-label-range;
+ description
+ "Pseudowire remote static label";
+ }
+ }
+ container pseudowire-static-mac-addresses {
+ description
+ "Static Mac Address Table";
+ list pseudowire-static-mac-address {
+ key "address";
+ description
+ "Static Mac Address Configuration";
+ leaf address {
+ type yang:mac-address;
+ description
+ "Static MAC address";
+ }
+ }
+ }
+ leaf vfi-pw-class {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "PW class template name to use for this
+ pseudowire";
+ }
+ leaf vfi-pw-igmp-snoop {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Attach a IGMP Snooping profile";
+ }
+ leaf vfi-pw-mld-snoop {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Attach a MLD Snooping profile";
+ }
+ leaf neighbor {
+ type inet:ipv4-address-no-zone;
+ description
+ "Neighbor IP address";
+ }
+ leaf pseudowire-id {
+ type Pseudowire-id-range;
+ description
+ "Pseudowire ID";
+ }
+ }
+ }
+ container bgp-auto-discovery {
+ description
+ "Enable Autodiscovery BGP in this VFI";
+ container ldp-signaling-protocol {
+ description
+ "Signaling Protocol LDP in this VFI
+ configuration";
+ container vpls-id {
+ description
+ "VPLS ID";
+ leaf type {
+ type Ldp-vpls-id;
+ description
+ "VPLS-ID Type";
+ }
+ leaf as {
+ when "../type = 'two-byte-as'" {
+ description
+ "../Type = TwoByteAS";
+ }
+ type Vpls-id-as-range;
+ description
+ "Two byte AS number";
+ }
+ leaf as-index {
+ when "../type = 'two-byte-as'" {
+ description
+ "../Type = TwoByteAS";
+ }
+ type Vpls-id-as-index;
+ description
+ "AS index";
+ }
+ leaf address {
+ when "../type = 'ipv4-address'" {
+ description
+ "../Type = IPV4Address";
+ }
+ type inet:ipv4-address-no-zone;
+ description
+ "IPV4 address";
+ }
+ leaf address-index {
+ when "../type = 'ipv4-address'" {
+ description
+ "../Type = IPV4Address";
+ }
+ type Vpls-id-addr-index;
+ description
+ "Address index";
+ }
+ }
+ container flow-label-load-balance {
+ description
+ "Enable Flow Label based load balancing";
+ leaf flow-label {
+ type Flow-label-load-balance;
+ description
+ "Flow Label load balance type";
+ }
+ leaf static {
+ type empty;
+ description
+ "Static Flow Label";
+ }
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable LDP as Signaling Protocol
+ .Deletion of this object also causes
+ deletion of all objects under
+ LDPSignalingProtocol.";
+ }
+ }
+ container bgp-route-policy {
+ description
+ "Route policy";
+ leaf export {
+ type string;
+ description
+ "Export route policy";
+ }
+ }
+ container route-distinguisher {
+ description
+ "Route Distinguisher";
+ leaf type {
+ type Bgp-route-distinguisher;
+ description
+ "Router Distinguisher Type";
+ }
+ leaf as {
+ when "../type = 'two-byte-as' or ../type = 'four-byte-as'" {
+ description
+ "../Type = TwoByteAS or ../Type =
+ FourByteAS";
+ }
+ type Rdas-range;
+ description
+ "Two byte or 4 byte AS number";
+ }
+ leaf as-index {
+ when "../type = 'two-byte-as' or ../type = 'four-byte-as'" {
+ description
+ "../Type = TwoByteAS or ../Type =
+ FourByteAS";
+ }
+ type Rdas-index;
+ description
+ "AS:nn (hex or decimal format)";
+ }
+ leaf address {
+ when "../type = 'ipv4-address'" {
+ description
+ "../Type = IPV4Address";
+ }
+ type inet:ipv4-address-no-zone;
+ description
+ "IPV4 address";
+ }
+ leaf addr-index {
+ when "../type = 'ipv4-address'" {
+ description
+ "../Type = IPV4Address";
+ }
+ type Rd-addr-index;
+ description
+ "Addr index";
+ }
+ }
+ container bgp-signaling-protocol {
+ description
+ "Enable Signaling Protocol BGP in this
+ VFI";
+ container flow-label-load-balance {
+ description
+ "Enable Flow Label based load balancing";
+ leaf flow-label {
+ type Flow-label-load-balance;
+ description
+ "Flow Label load balance type";
+ }
+ leaf static {
+ type empty;
+ description
+ "Static Flow Label";
+ }
+ }
+ leaf ve-range {
+ type Vedge-range;
+ description
+ "Local Virtual Edge Block Configurable
+ Range";
+ }
+ leaf veid {
+ type Veid-range;
+ description
+ "Local Virtual Edge Identifier";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable BGP as Signaling Protocol";
+ }
+ }
+ container route-targets {
+ description
+ "Route Target";
+ list route-target {
+ must "two-byte-as-or-four-byte-as or ipv4-address" {
+ description
+ "TwoByteAS-or-FourbyteAS or IPV4Address
+ must be present.";
+ }
+ key "role format";
+ description
+ "Name of the Route Target";
+ leaf role {
+ type Bgp-route-target-role;
+ description
+ "Role of the router target type";
+ }
+ leaf format {
+ type Bgp-route-target-format;
+ description
+ "Format of the route target";
+ }
+ list two-byte-as-or-four-byte-as {
+ when "../format = 'two-byte-as' or ../format = 'four-byte-as'" {
+ description
+ "../Format = TwoByteAS or ../Format =
+ FourbyteAS";
+ }
+ key "as as-index";
+ description
+ "two byte as or four byte as";
+ leaf as {
+ type Rdas-range;
+ description
+ "Two byte or 4 byte AS number";
+ }
+ leaf as-index {
+ type Rdas-index;
+ description
+ "AS:nn (hex or decimal format)";
+ }
+ }
+ list ipv4-address {
+ when "../format = 'ipv4-address'" {
+ description
+ "../Format = IPV4Address";
+ }
+ key "address addr-index";
+ description
+ "ipv4 address";
+ leaf address {
+ type inet:ipv4-address-no-zone;
+ description
+ "IPV4 address";
+ }
+ leaf addr-index {
+ type Rd-addr-index;
+ description
+ "Addr index";
+ }
+ }
+ }
+ }
+ leaf table-policy {
+ type string;
+ description
+ "Table Policy for installation of
+ forwarding data to L2FIB";
+ }
+ leaf ad-control-word {
+ type empty;
+ description
+ "Enable control-word for this VFI";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Autodiscovery BGP";
+ }
+ }
+ leaf vfi-shutdown {
+ type empty;
+ description
+ "Enabling Shutdown";
+ }
+ leaf vpnid {
+ type Vpnid-range;
+ description
+ "VPN Identifier";
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the Virtual Forwarding Interface";
+ }
+ }
+ }
+ container bd-attachment-circuits {
+ description
+ "Attachment Circuit table";
+ list bd-attachment-circuit {
+ key "name";
+ description
+ "Name of the Attachment Circuit";
+ container interface-ip-source-guard {
+ description
+ "IP Source Guard";
+ leaf logging {
+ type L2vpn-logging;
+ description
+ "Logging Type";
+ }
+ leaf disable {
+ type empty;
+ description
+ "Disable L2 Interface Dynamic IP source
+ guard";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable IP Source Guard";
+ }
+ }
+ container interface-dai {
+ description
+ "L2 Interface Dynamic ARP Inspection";
+ container interface-dai-address-validation {
+ description
+ "Address Validation";
+ leaf ipv4-verification {
+ type L2vpn-verification;
+ description
+ "IPv4 Verification";
+ }
+ leaf destination-mac-verification {
+ type L2vpn-verification;
+ description
+ "Destination MAC Verification";
+ }
+ leaf source-mac-verification {
+ type L2vpn-verification;
+ description
+ "Source MAC Verification";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Address Validation";
+ }
+ }
+ leaf logging {
+ type L2vpn-logging;
+ description
+ "Logging Type";
+ }
+ leaf disable {
+ type empty;
+ description
+ "Disable L2 Interface Dynamic ARP
+ Inspection";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable L2 Interface Dynamic ARP
+ Inspection";
+ }
+ }
+ container interface-profile {
+ description
+ "Attach a DHCP profile";
+ leaf profile-id {
+ type Interface-profile;
+ description
+ "Set the snooping profile";
+ }
+ leaf dhcp-snooping-id {
+ type string;
+ description
+ "Disable DHCP snooping";
+ }
+ }
+ container bdac-storm-control-types {
+ description
+ "Storm Control";
+ list bdac-storm-control-type {
+ must "storm-control-unit";
+ key "sctype";
+ description
+ "Storm Control Type";
+ leaf sctype {
+ type Storm-control;
+ description
+ "Storm Control Type";
+ }
+ uses STORM-CONTROL-UNIT;
+ }
+ }
+ container split-horizon {
+ description
+ "Split Horizon";
+ container split-horizon-group-id {
+ description
+ "Split Horizon Group ID";
+ leaf enable {
+ type empty;
+ description
+ "Enable split horizon group";
+ }
+ }
+ }
+ container static-mac-addresses {
+ description
+ "Static Mac Address Table";
+ list static-mac-address {
+ key "address";
+ description
+ "Static Mac Address Configuration";
+ leaf address {
+ type yang:mac-address;
+ description
+ "Static MAC address";
+ }
+ }
+ }
+ container interface-mac {
+ description
+ "MAC configuration commands";
+ container interface-mac-aging {
+ description
+ "MAC-Aging configuration commands";
+ leaf interface-mac-aging-time {
+ type Mac-aging-range;
+ description
+ "Mac Aging Time";
+ }
+ leaf interface-mac-aging-type {
+ type Mac-aging;
+ description
+ "MAC address aging type";
+ }
+ }
+ container interface-mac-secure {
+ description
+ "MAC Secure";
+ leaf logging {
+ type L2vpn-logging;
+ description
+ "MAC Secure Logging";
+ }
+ leaf disable {
+ type empty;
+ description
+ "Disable L2 Interface MAC Secure";
+ }
+ leaf action {
+ type Mac-secure-action;
+ description
+ "MAC secure enforcement action";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable MAC Secure";
+ }
+ }
+ container interface-mac-limit {
+ description
+ "MAC-Limit configuration commands";
+ leaf interface-mac-limit-max {
+ type Mac-limit-range;
+ description
+ "Number of MAC addresses on an Interface
+ after which MAC limit action is taken";
+ }
+ leaf interface-mac-limit-notif {
+ type Mac-notification;
+ description
+ "MAC address limit notification action
+ in a Interface";
+ }
+ leaf interface-mac-limit-action {
+ type Mac-limit-action;
+ description
+ "Interface MAC address limit enforcement
+ action";
+ }
+ }
+ leaf interface-mac-port-down-flush {
+ type Port-down-flush;
+ description
+ "Enable/Disable MAC Flush When Port goes
+ down";
+ }
+ leaf interface-mac-learning {
+ type Mac-learn;
+ description
+ "Enable Mac Learning";
+ }
+ }
+ leaf interface-flooding {
+ type Interface-traffic-flood;
+ description
+ "Enable or Disable Flooding";
+ }
+ leaf interface-igmp-snoop {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Attach a IGMP Snooping profile";
+ }
+ leaf interface-flooding-unknown-unicast {
+ type Interface-traffic-flood;
+ description
+ "Enable or Disable Unknown Unicast
+ Flooding";
+ }
+ leaf interface-mld-snoop {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Attach a MLD Snooping profile";
+ }
+ leaf name {
+ type xr:Interface-name;
+ description
+ "The name of the Attachment Circuit";
+ }
+ }
+ }
+ container bd-pseudowire-evpns {
+ description
+ "List of EVPN pseudowires";
+ list bd-pseudowire-evpn {
+ key "eviid acid";
+ description
+ "EVPN Pseudowire configuration";
+ leaf eviid {
+ type Evpnvpnid-range;
+ description
+ "Ethernet VPN ID";
+ }
+ leaf acid {
+ type Pseudowire-acid-range;
+ description
+ "AC ID";
+ }
+ }
+ }
+ container ip-source-guard {
+ description
+ "IP Source Guard";
+ leaf logging {
+ type empty;
+ description
+ "Enable Logging";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable IP Source Guard";
+ }
+ }
+ container dai {
+ description
+ "Dynamic ARP Inspection";
+ container dai-address-validation {
+ description
+ "Address Validation";
+ leaf ipv4-verification {
+ type empty;
+ description
+ "Enable IPv4 Verification";
+ }
+ leaf destination-mac-verification {
+ type empty;
+ description
+ "Enable Destination MAC Verification";
+ }
+ leaf source-mac-verification {
+ type empty;
+ description
+ "Enable Source MAC Verification";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Address Validation";
+ }
+ }
+ leaf logging {
+ type empty;
+ description
+ "Enable Logging";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Dynamic ARP Inspection";
+ }
+ }
+ container routed-interfaces {
+ description
+ "Bridge Domain Routed Interface Table";
+ list routed-interface {
+ key "interface-name";
+ description
+ "Bridge Domain Routed Interface";
+ container routed-interface-split-horizon-group {
+ description
+ "Routed interface split horizon group";
+ leaf routed-interface-split-horizon-group-core {
+ type empty;
+ description
+ "Configure BVI under SHG 1";
+ }
+ }
+ leaf interface-name {
+ type xr:Interface-name;
+ description
+ "The name of the Routed Interface";
+ }
+ }
+ }
+ leaf coupled-mode {
+ type empty;
+ description
+ "Coupled-mode configuration";
+ }
+ leaf shutdown {
+ type empty;
+ description
+ "shutdown the Bridge Domain";
+ }
+ leaf flooding-unknown-unicast {
+ type empty;
+ description
+ "Disable Unknown Unicast flooding";
+ }
+ leaf igmp-snooping-disable {
+ type empty;
+ description
+ "Disable IGMP Snooping";
+ }
+ leaf transport-mode {
+ type Bridge-domain-transport-mode;
+ description
+ "Bridge Domain Transport mode";
+ }
+ leaf mld-snooping {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Attach MLD Snooping Profile Name";
+ }
+ leaf bridge-domain-mtu {
+ type Bridge-bd-mtu-range;
+ units "byte";
+ description
+ "Maximum transmission unit for this Bridge
+ Domain";
+ }
+ leaf dhcp {
+ type string {
+ length "1..32";
+ }
+ description
+ "DHCPv4 Snooping profile name";
+ }
+ leaf bridge-description {
+ type string {
+ length "1..64";
+ }
+ description
+ "Bridge-domain description Name";
+ }
+ leaf igmp-snooping {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Attach IGMP Snooping Profile Name";
+ }
+ leaf flooding {
+ type empty;
+ description
+ "Disable flooding";
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..27";
+ }
+ description
+ "Name of the bridge domain";
+ }
+ }
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the Bridge group";
+ }
+ }
+ }
+ container pseudowire-classes {
+ description
+ "List of pseudowire classes";
+ list pseudowire-class {
+ key "name";
+ description
+ "Pseudowire class";
+ container l2tpv3-encapsulation {
+ description
+ "L2TPv3 encapsulation";
+ container sequencing {
+ description
+ "Sequencing";
+ leaf sequencing {
+ type L2tpv3-sequencing;
+ default "off";
+ description
+ "Sequencing";
+ }
+ leaf resync-threshold {
+ type Resync-threshold-range;
+ default "5";
+ description
+ "Out of sequence threshold";
+ }
+ }
+ container type-of-service {
+ description
+ "Type of service";
+ leaf type-of-service-value {
+ type Type-of-service-range;
+ description
+ "Type of service value";
+ }
+ leaf type-of-service-mode {
+ type Type-of-service-mode;
+ description
+ "Type of service mode";
+ }
+ }
+ container signaling-protocol {
+ description
+ "L2TPv3 signaling protocol";
+ leaf protocol {
+ type L2tp-signaling-protocol;
+ default "l2tpv3";
+ description
+ "L2TPv3 signaling protocol";
+ }
+ leaf l2tpv3-class-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the L2TPv3 class name";
+ }
+ }
+ container path-mtu {
+ description
+ "Path maximum transmission unit";
+ leaf enable {
+ type empty;
+ description
+ "Enable path MTU";
+ }
+ leaf max-path-mtu {
+ type Max-path-mtu-range;
+ description
+ "Maximum path maximum transmission unit";
+ }
+ }
+ leaf df-bit-set {
+ type empty;
+ description
+ "Set the do not fragment bit to 1";
+ }
+ leaf cookie-size {
+ type L2tp-cookie-size;
+ default "zero";
+ description
+ "Cookie size";
+ }
+ leaf source-address {
+ type inet:ipv4-address-no-zone;
+ description
+ "Source IP address";
+ }
+ leaf transport-mode {
+ type Transport-mode;
+ description
+ "Transport mode";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable L2TPv3 encapsulation";
+ }
+ leaf time-to-live {
+ type Time-to-live-range;
+ description
+ "Time to live";
+ }
+ }
+ container backup-disable-delay {
+ description
+ "Back Up Pseudowire class";
+ leaf type {
+ type Backup-disable;
+ description
+ "Delay or Never";
+ }
+ leaf disable-backup {
+ when "../type = 'delay'" {
+ description
+ "../Type = Delay";
+ }
+ type Backup-disable-delay-range;
+ description
+ "Disable backup delay";
+ }
+ }
+ container mpls-encapsulation {
+ description
+ "MPLS encapsulation";
+ container sequencing {
+ description
+ "Sequencing";
+ leaf sequencing {
+ type Mpls-sequencing;
+ default "off";
+ description
+ "Sequencing";
+ }
+ leaf resync-threshold {
+ type Resync-threshold-range;
+ default "5";
+ description
+ "Out of sequence threshold";
+ }
+ }
+ container mpls-redundancy {
+ description
+ "Redundancy options for MPLS encapsulation";
+ leaf redundancy-one-way {
+ type empty;
+ description
+ "Force one-way PW redundancy behavior in
+ Redundancy Group";
+ }
+ leaf redundancy-initial-delay {
+ type Pw-redundancy-initial-delay-range;
+ units "second";
+ description
+ "Initial delay before activating the
+ redundant PW, in seconds";
+ }
+ }
+ container preferred-path {
+ description
+ "Preferred path";
+ leaf type {
+ type Preferred-path;
+ description
+ "Preferred Path Type";
+ }
+ leaf interface-tunnel-number {
+ when "../type = 'te-tunnel' or ../type = 'ip-tunnel' or ../type = 'tp-tunnel'" {
+ description
+ "../Type = TE-Tunnel or ../Type =
+ IP-Tunnel or ../Type = TP-Tunnel";
+ }
+ type uint32 {
+ range "0..65535";
+ }
+ description
+ "Interface Tunnel number for preferred path";
+ }
+ leaf fallback-disable {
+ when "../type = 'te-tunnel' or ../type = 'ip-tunnel' or ../type = 'tp-tunnel' or ../type = 'sr-te-policy'" {
+ description
+ "../Type = TE-Tunnel or ../Type =
+ IP-Tunnel or ../Type = TP-Tunnel or .
+ ./Type = SR-TE-Policy";
+ }
+ type empty;
+ description
+ "Fallback disable";
+ }
+ leaf srte-policy {
+ when "../type = 'sr-te-policy'" {
+ description
+ "../Type = SR-TE-Policy";
+ }
+ type string {
+ length "1..60";
+ }
+ description
+ "Name of the SR TE Policy";
+ }
+ }
+ container load-balance-group {
+ description
+ "Load Balancing";
+ container flow-label-load-balance {
+ description
+ "Enable Flow Label based load balancing";
+ leaf flow-label {
+ type Flow-label-load-balance;
+ description
+ "Flow Label load balance type";
+ }
+ leaf static {
+ type empty;
+ description
+ "Static Flow Label";
+ }
+ }
+ leaf flow-label-load-balance-code {
+ type Flow-label-tlv-code;
+ description
+ "Enable Legacy Flow Label TLV code";
+ }
+ leaf pw-label-load-balance {
+ type Load-balance;
+ description
+ "Enable PW Label based Load Balancing";
+ }
+ }
+ leaf pw-switching-tlv {
+ type Pw-switching-point-tlv;
+ description
+ "Pseudowire Switching Point Tlv";
+ }
+ leaf static-tag-rewrite {
+ type Tag-rewrite-range;
+ description
+ "Static Tag rewrite";
+ }
+ leaf signaling-protocol {
+ type Mpls-signaling-protocol;
+ default "ldp";
+ description
+ "MPLS signaling protocol";
+ }
+ leaf vccv-type {
+ type Vccv-verification;
+ default "lsp-ping";
+ description
+ "VCCV verification type";
+ }
+ leaf source-address {
+ type inet:ipv4-address-no-zone;
+ description
+ "Source IP address";
+ }
+ leaf transport-mode {
+ type Transport-mode;
+ description
+ "Transport mode";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable MPLS encapsulation";
+ }
+ leaf control-word {
+ type Control-word;
+ description
+ "Enable control word";
+ }
+ }
+ leaf mac-withdraw {
+ type empty;
+ description
+ "Enable backup MAC withdraw";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable pseudowire class";
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the pseudowire class";
+ }
+ }
+ }
+ container flexible-xconnect-service-table {
+ description
+ "List of Flexible XConnect Services";
+ container vlan-unaware-flexible-xconnect-services {
+ description
+ "List of Vlan-Unaware Flexible XConnect
+ Services";
+ list vlan-unaware-flexible-xconnect-service {
+ key "name";
+ description
+ "Flexible XConnect Service";
+ container vlan-unaware-fxc-attachment-circuits {
+ description
+ "List of attachment circuits";
+ list vlan-unaware-fxc-attachment-circuit {
+ key "name";
+ description
+ "Attachment circuit interface";
+ leaf name {
+ type xr:Interface-name;
+ description
+ "Name of the attachment circuit interface";
+ }
+ }
+ }
+ container vlan-unaware-fxc-pseudowire-evpns {
+ description
+ "List of EVPN Services";
+ list vlan-unaware-fxc-pseudowire-evpn {
+ key "eviid acid";
+ description
+ "EVPN FXC Service Configuration";
+ leaf eviid {
+ type Evpnvpnid-range;
+ description
+ "Ethernet VPN ID";
+ }
+ leaf acid {
+ type Pseudowire-acid-range;
+ description
+ "AC ID";
+ }
+ }
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..23";
+ }
+ description
+ "Name of the Flexible XConnect Service";
+ }
+ }
+ }
+ container vlan-aware-flexible-xconnect-services {
+ description
+ "List of Vlan-Aware Flexible XConnect Services";
+ list vlan-aware-flexible-xconnect-service {
+ key "eviid";
+ description
+ "Flexible XConnect Service";
+ container vlan-aware-fxc-attachment-circuits {
+ description
+ "List of attachment circuits";
+ list vlan-aware-fxc-attachment-circuit {
+ key "name";
+ description
+ "Attachment circuit interface";
+ leaf name {
+ type xr:Interface-name;
+ description
+ "Name of the attachment circuit interface";
+ }
+ }
+ }
+ leaf eviid {
+ type Evpnvpnid-range;
+ description
+ "Ethernet VPN ID";
+ }
+ }
+ }
+ }
+ container redundancy {
+ description
+ "Redundancy groups";
+ container iccp-redundancy-groups {
+ description
+ "List of Inter-Chassis Communication Protocol
+ redundancy groups";
+ list iccp-redundancy-group {
+ key "group-id";
+ description
+ "ICCP Redundancy group";
+ container iccp-interfaces {
+ description
+ "List of interfaces";
+ list iccp-interface {
+ key "interface-name";
+ description
+ "Interface name";
+ leaf secondary-vlan-range {
+ type string;
+ description
+ "Secondary VLAN range, in the form of 1-3,5
+ ,8-11";
+ }
+ leaf recovery-delay {
+ type uint32 {
+ range "30..3600";
+ }
+ default "180";
+ description
+ "Failure clear recovery delay";
+ }
+ leaf primary-vlan-range {
+ type string;
+ description
+ "Primary VLAN range, in the form of 1-3,5
+ ,8-11";
+ }
+ leaf mac-flush-tcn {
+ type empty;
+ description
+ "Enable STP-TCN MAC flushing";
+ }
+ leaf interface-name {
+ type xr:Interface-name;
+ description
+ "Interface name";
+ }
+ }
+ }
+ leaf multi-homing-node-id {
+ type uint32 {
+ range "0..254";
+ }
+ description
+ "ICCP-based service multi-homing node ID";
+ }
+ leaf group-id {
+ type uint32 {
+ range "1..4294967295";
+ }
+ description
+ "Group ID";
+ }
+ }
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable redundancy groups";
+ }
+ }
+ }
+ container pbb {
+ description
+ "L2VPN PBB Global";
+ leaf backbone-source-mac {
+ type yang:mac-address;
+ description
+ "Backbone Source MAC";
+ }
+ }
+ container auto-discovery {
+ description
+ "Global auto-discovery attributes";
+ container bgp-signaling {
+ description
+ "Global bgp signaling attributes";
+ leaf mtu-mismatch-ignore {
+ type empty;
+ description
+ "Ignore MTU mismatch for auto-discovered
+ pseudowires";
+ }
+ }
+ }
+ container utility {
+ description
+ "L2VPN utilities";
+ container logging {
+ description
+ "L2VPN logging utility";
+ leaf bridge-domain-state-change {
+ type empty;
+ description
+ "Enable Bridge Domain state change logging";
+ }
+ leaf pseudowire-state-change {
+ type empty;
+ description
+ "Enable pseudowire state change logging";
+ }
+ leaf vfi {
+ type empty;
+ description
+ "Enable VFI state change logging";
+ }
+ leaf nsr-state-change {
+ type empty;
+ description
+ "Enable Non Stop Routing state change logging";
+ }
+ leaf pwhe-replication-state-change {
+ type empty;
+ description
+ "Enable PW-HE Replication state change logging";
+ }
+ }
+ }
+ container snmp {
+ description
+ "SNMP related configuration";
+ container mib {
+ description
+ "MIB related configuration";
+ container mib-interface {
+ description
+ "Interface related configuration for MIB";
+ container format {
+ description
+ "MIB interface name output format";
+ leaf external-interface-format {
+ type empty;
+ description
+ "Set MIB interface name output in slash
+ format (/)";
+ }
+ }
+ }
+ container mib-pseudowire {
+ description
+ "Pseudowire related configuration for MIB";
+ leaf statistics {
+ type empty;
+ description
+ "Enable pseudowire statistics in MIB output";
+ }
+ }
+ }
+ }
+ leaf nsr {
+ type empty;
+ description
+ "Enable Non-Stop Routing";
+ }
+ leaf mtu-mismatch-ignore {
+ type empty;
+ description
+ "Ignore MTU Mismatch for XCs";
+ }
+ leaf tcn-propagation {
+ type empty;
+ description
+ "Topology change notification propagation";
+ }
+ leaf pwoam-refresh {
+ type uint32 {
+ range "1..4095";
+ }
+ units "second";
+ description
+ "Configure PW OAM refresh interval";
+ }
+ leaf load-balance {
+ type Load-balance;
+ description
+ "Enable flow load balancing on l2vpn bridges";
+ }
+ leaf mspw-description {
+ type string {
+ length "1..64";
+ }
+ description
+ "MS-PW global description";
+ }
+ leaf mac-limit-threshold {
+ type Mac-limit-threshold-range;
+ units "percentage";
+ description
+ "Configure MAC limit threshold percent";
+ }
+ leaf pw-status-disable {
+ type empty;
+ description
+ "Disable PW status";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable L2VPN feature";
+ }
+ leaf pw-grouping {
+ type empty;
+ description
+ "Enable PW grouping";
+ }
+ leaf capability {
+ type L2vpn-capability-mode;
+ description
+ "L2VPN Capability Mode";
+ }
+ leaf l2vpn-router-id {
+ type inet:ipv4-address-no-zone;
+ description
+ "Global L2VPN Router ID";
+ }
+ }
+ container generic-interface-lists {
+ description
+ "generic interface lists";
+ list generic-interface-list {
+ key "generic-interface-list-name";
+ description
+ "Generic interface list";
+ container interfaces {
+ description
+ "Interface table";
+ list interface {
+ key "interface-name";
+ description
+ "Interface";
+ leaf enable {
+ type empty;
+ description
+ "Enable interface";
+ }
+ leaf interface-name {
+ type xr:Interface-name;
+ description
+ "Name of the interface";
+ }
+ }
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable interface list";
+ }
+ leaf generic-interface-list-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the interface list";
+ }
+ }
+ }
+ container evpn {
+ description
+ "evpn";
+ container evpn-tables {
+ description
+ "EVPN submodes";
+ container evpn-timers {
+ description
+ "Enter EVPN timers configuration submode";
+ leaf evpn-carving {
+ type uint32 {
+ range "0..10";
+ }
+ default "0";
+ description
+ "Global Carving timer";
+ }
+ leaf evpn-recovery {
+ type uint32 {
+ range "20..3600";
+ }
+ default "30";
+ description
+ "Global Recovery timer";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable EVPN timers";
+ }
+ leaf evpn-peering {
+ type uint32 {
+ range "0..300";
+ }
+ default "3";
+ description
+ "Global Peering timer";
+ }
+ }
+ container evpnmac {
+ description
+ "EVPN MAC Configuration";
+ container evpnmac-secure {
+ description
+ "EVPN MAC Secure Configuration";
+ leaf evpnmac-secure-freeze-time {
+ type Freeze-time-range;
+ description
+ "Length of time to lock the MAC after a MAC
+ security violation";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable EVPN MAC Secure Configuration";
+ }
+ leaf evpnmac-secure-retry-count {
+ type Retry-count-range;
+ description
+ "Number of times to unfreeze a MAC before
+ permanently freezing it";
+ }
+ leaf evpnmac-secure-move-count {
+ type Move-count-range;
+ description
+ "Number of moves to occur within the move
+ interval before locking the MAC";
+ }
+ leaf evpnmac-secure-move-interval {
+ type Move-interval-range;
+ description
+ "Interval to watch for subsequent MAC moves
+ before locking the MAC";
+ }
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable EVPN MAC Configuration";
+ }
+ }
+ container evpn-evis {
+ description
+ "Enter EVPN Instance configuration submode";
+ list evpn-evi {
+ key "eviid";
+ description
+ "Enter EVPN Instance configuration submode";
+ container evi-load-balancing {
+ description
+ "Enter Loadbalancing configuration submode";
+ leaf enable {
+ type empty;
+ description
+ "Enable Loadbalancing";
+ }
+ uses EVI-STATIC-FLOW-LABEL;
+ }
+ container evpn-evi-bgp-auto-discovery {
+ description
+ "Enable Autodiscovery BGP in EVPN Instance";
+ leaf enable {
+ type empty;
+ description
+ "Enable Autodiscovery BGP";
+ }
+ uses TABLE-POLICY;
+ uses EVPN-ROUTE-DISTINGUISHER;
+ uses EVPN-ROUTE-TARGET-TABLE;
+ }
+ container evi-advertise-mac {
+ description
+ "Enter Advertise local MAC-only routes
+ configuration submode";
+ leaf enable {
+ type empty;
+ description
+ "Enable Advertise local MAC-only routes";
+ }
+ uses EVI-ADVERTISE-MAC-BVI;
+ }
+ leaf eviid {
+ type Evpnvpnid-range;
+ description
+ "EVI ID";
+ }
+ uses EVI-REORIG-DISABLE;
+ uses EVI-ADVERTISE-MAC-DEPRECATED;
+ uses EVPN-EVI-DESCRIPTION;
+ uses EVI-ECMP-DISABLE;
+ uses EVI-UNKNOWN-UNICAST-FLOODING-DISABLE;
+ uses EVPN-EVI-CW-DISABLE;
+ }
+ }
+ container evpn-virtual-access-vfis {
+ description
+ "Virtual Access VFI interfaces";
+ list evpn-virtual-access-vfi {
+ key "name";
+ description
+ "Virtual Access VFI";
+ container evpn-virtual-access-vfi-timers {
+ description
+ "Enter Virtual Forwarding Interface timers
+ configuration submode";
+ leaf evpn-virtual-access-vfi-recovery {
+ type uint32 {
+ range "20..3600";
+ }
+ default "30";
+ description
+ "Virtual Forwarding Interface-specific
+ Recovery timer";
+ }
+ leaf evpn-virtual-access-vfi-peering {
+ type uint32 {
+ range "0..300";
+ }
+ default "3";
+ description
+ "Virtual Forwarding Interface-specific
+ Peering timer";
+ }
+ leaf evpn-virtual-access-vfi-carving {
+ type uint32 {
+ range "0..10";
+ }
+ default "0";
+ description
+ "Virtual Forwarding Interface-specific
+ Carving timer";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Virtual Forwarding Interface timers";
+ }
+ }
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the Virtual Access VFI";
+ }
+ uses EVPN-VIRTUAL-ETHERNET-SEGMENT;
+ }
+ }
+ container evpn-load-balancing {
+ description
+ "Enter EVPN Loadbalancing configuration submode";
+ leaf evpn-static-flow-label {
+ type empty;
+ description
+ "Enable Static Flow Label based load balancing";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable EVPN Loadbalancing";
+ }
+ }
+ container evpn-bgp-auto-discovery {
+ description
+ "Enable Autodiscovery BGP in EVPN";
+ leaf enable {
+ type empty;
+ description
+ "Enable Autodiscovery BGP";
+ }
+ uses EVPN-ROUTE-DISTINGUISHER;
+ }
+ container evpn-groups {
+ description
+ "Enter EVPN Group Table submode";
+ list evpn-group {
+ key "group-id";
+ description
+ "Enter EVPN Group submode";
+ container evpn-group-core-interfaces {
+ description
+ "EVPN Group core interfaces";
+ list evpn-group-core-interface {
+ key "interface-name";
+ description
+ "EVPN Group Core interface";
+ leaf interface-name {
+ type xr:Interface-name;
+ description
+ "Name of the EVPN Group core interface";
+ }
+ }
+ }
+ leaf group-id {
+ type Evpn-group-id-range;
+ description
+ "Group ID";
+ }
+ }
+ }
+ container evpn-instances {
+ description
+ "Enter EVPN Instance configuration submode";
+ list evpn-instance {
+ key "eviid encapsulation side";
+ description
+ "Enter EVPN Instance configuration submode";
+ container evpn-instance-bgp-auto-discovery {
+ description
+ "Enable Autodiscovery BGP in EVPN Instance";
+ leaf enable {
+ type empty;
+ description
+ "Enable Autodiscovery BGP";
+ }
+ uses TABLE-POLICY;
+ uses EVPN-ROUTE-DISTINGUISHER;
+ uses EVPN-ROUTE-TARGET-TABLE;
+ }
+ container evpn-instance-advertise-mac {
+ description
+ "Enter Advertise local MAC-only routes
+ configuration submode";
+ leaf enable {
+ type empty;
+ description
+ "Enable Advertise local MAC-only routes";
+ }
+ uses EVI-ADVERTISE-MAC-BVI;
+ }
+ container evpn-instance-load-balancing {
+ description
+ "Enter Loadbalancing configuration submode";
+ leaf enable {
+ type empty;
+ description
+ "Enable Loadbalancing";
+ }
+ uses EVI-STATIC-FLOW-LABEL;
+ }
+ leaf eviid {
+ type Evpnvpnid-range;
+ description
+ "EVPN Instance ID";
+ }
+ leaf encapsulation {
+ type Evpn-encapsulation;
+ description
+ "EVPN Instance Encapsulation";
+ }
+ leaf side {
+ type Evpn-side;
+ description
+ "EVPN Instance Side";
+ }
+ uses EVI-REORIG-DISABLE;
+ uses EVI-ADVERTISE-MAC-DEPRECATED;
+ uses EVPN-EVI-DESCRIPTION;
+ uses EVI-ECMP-DISABLE;
+ uses EVI-UNKNOWN-UNICAST-FLOODING-DISABLE;
+ uses EVPN-EVI-CW-DISABLE;
+ }
+ }
+ container evpn-logging {
+ description
+ "Enter EVPN Logging configuration submode";
+ leaf evpn-df-election {
+ type empty;
+ description
+ "Enable Designated Forwarder election logging";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable EVPN Logging";
+ }
+ }
+ container evpn-interfaces {
+ description
+ "Attachment Circuit interfaces";
+ list evpn-interface {
+ key "interface-name";
+ description
+ "Attachment circuit interface";
+ container evpnac-timers {
+ description
+ "Enter Interface-specific timers configuration
+ submode";
+ leaf evpnac-peering {
+ type uint32 {
+ range "0..300";
+ }
+ default "3";
+ description
+ "Interface-specific Peering timer";
+ }
+ leaf evpnac-carving {
+ type uint32 {
+ range "0..10";
+ }
+ default "0";
+ description
+ "Interface-specific Carving timer";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Interface-specific timers";
+ }
+ leaf evpnac-recovery {
+ type uint32 {
+ range "20..3600";
+ }
+ default "30";
+ description
+ "Interface-specific Recovery timer";
+ }
+ }
+ container ethernet-segment {
+ description
+ "Enter Ethernet Segment configuration submode";
+ leaf force-single-homed {
+ type empty;
+ description
+ "Force ethernet segment to remain
+ single-homed";
+ }
+ leaf load-balancing-mode {
+ type Ethernet-segment-load-balance;
+ description
+ "Ethernet-Segment Load Balancing mode";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Ethernet Segment";
+ }
+ leaf backbone-source-mac {
+ type yang:mac-address;
+ description
+ "Backbone Source MAC";
+ }
+ uses ES-IMPORT-ROUTE-TARGET;
+ uses IDENTIFIER;
+ uses MANUAL-SERVICE-CARVING;
+ }
+ leaf evpn-core-isolation-group {
+ type Evpn-core-group-id-range;
+ description
+ "Enter EVPN Core Isolation Group ID";
+ }
+ leaf mac-flush {
+ type Mac-flush-mode;
+ description
+ "Enable MAC Flushing";
+ }
+ leaf interface-name {
+ type xr:Interface-name;
+ description
+ "Name of the attachment circuit interface";
+ }
+ }
+ }
+ container evpn-virtual-access-pws {
+ description
+ "Virtual Access Pseudowire interfaces";
+ list evpn-virtual-access-pw {
+ key "neighbor pseudowire-id";
+ description
+ "Virtual Access Pseudowire";
+ container evpn-virtual-access-pw-timers {
+ description
+ "Enter Virtual Access Pseudowire-specific
+ timers configuration submode";
+ leaf evpn-virtual-access-pw-recovery {
+ type uint32 {
+ range "20..3600";
+ }
+ default "30";
+ description
+ "Virtual Access Pseudowire-specific Recovery
+ timer";
+ }
+ leaf evpn-virtual-access-pw-peering {
+ type uint32 {
+ range "0..300";
+ }
+ default "3";
+ description
+ "Virtual Access Pseudowire-specific Peering
+ timer";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable Virtual Access Pseudowire-specific
+ timers";
+ }
+ leaf evpn-virtual-access-pw-carving {
+ type uint32 {
+ range "0..10";
+ }
+ default "0";
+ description
+ "Virtual Access Pseudowire-specific Carving
+ timer";
+ }
+ }
+ leaf neighbor {
+ type inet:ipv4-address-no-zone;
+ description
+ "Neighbor IP address";
+ }
+ leaf pseudowire-id {
+ type Pseudowire-id-range;
+ description
+ "Pseudowire ID";
+ }
+ uses EVPN-VIRTUAL-ETHERNET-SEGMENT;
+ }
+ }
+ container evpn-ethernet-segment {
+ description
+ "EVPN Global Ethernet Segment submode";
+ container evpn-esi-types {
+ description
+ "EVPN ESI type table";
+ list evpn-esi-type {
+ key "esi-type";
+ description
+ "ESI type";
+ leaf disable-auto-generation {
+ type empty;
+ description
+ "Disable ESI Autogeneration";
+ }
+ leaf esi-type {
+ type Evpn-esi-type-range;
+ description
+ "ESI type";
+ }
+ }
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable EVPN Global Ethernet Segment submode";
+ }
+ }
+ leaf evi-cost-out {
+ type empty;
+ description
+ "Configure node to cost-out";
+ }
+ leaf evpn-source-interface {
+ type xr:Interface-name;
+ description
+ "Configure EVPN router-id implicitly through
+ Loopback Interface";
+ }
+ leaf evpn-cost-in-startup {
+ type uint32 {
+ range "30..86400";
+ }
+ units "second";
+ description
+ "Cost-in node after given time (seconds) on
+ startup timer";
+ }
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable EVPN feature";
+ }
+ }
+}
+++ /dev/null
-module Cisco-IOS-XR-snmp-agent-cfg {
-
- /*** NAMESPACE / PREFIX DEFINITION ***/
-
- namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-agent-cfg";
-
-
- prefix "snmp-agent-cfg";
-
- /*** LINKAGE (IMPORTS / INCLUDES) ***/
-
- import ietf-inet-types { prefix "inet"; }
-
- import Cisco-IOS-XR-types { prefix "xr"; }
-
- /*** META INFORMATION ***/
-
- organization "Cisco Systems, Inc.";
-
- contact
- "Cisco Systems, Inc.
- Customer Service
-
- Postal: 170 West Tasman Drive
- San Jose, CA 95134
-
- Tel: +1 800 553-NETS
-
- E-mail: cs-yang@cisco.com";
-
- description
- "This module contains a collection of YANG definitions
- for Cisco IOS-XR snmp-agent package configuration.
-
- This module contains definitions
- for the following management objects:
- snmp: The heirarchy point for all the SNMP configurations
- mib: mib
-
- Copyright (c) 2013-2015 by Cisco Systems, Inc.
- All rights reserved.";
-
- revision "2015-10-27" {
- description
- "IOS XR 5.3.2 revision.";
- }
-
- revision "2015-01-07" {
- description
- "IOS XR 5.3.1 revision.";
- }
-
- typedef Snmp-tos {
- type enumeration {
- enum precedence {
- value 0;
- description "SNMP TOS type Precedence";
- }
- enum dscp {
- value 1;
- description "SNMP TOS type DSCP";
- }
- }
- description "Snmp tos";
- }
- typedef Snmp-hash-algorithm {
- type enumeration {
- enum none {
- value 0;
- description "No authentication required";
- }
- enum md5 {
- value 1;
- description "Standard Message Digest algorithm";
- }
- enum sha {
- value 2;
- description "SHA algorithm";
- }
- }
- description "Snmp hash algorithm";
- }
- typedef Snmp-priv-algorithm {
- type enumeration {
- enum none {
- value 0;
- description "No Privacy";
- }
- enum des {
- value 1;
- description "Des algorithm";
- }
- enum 3des {
- value 2;
- description "3des algorithm";
- }
- enum aes128 {
- value 3;
- description "aes128 algorithm";
- }
- enum aes192 {
- value 4;
- description "aes192 algorithm";
- }
- enum aes256 {
- value 5;
- description "aes256 algorithm";
- }
- }
- description "Snmp priv algorithm";
- }
- typedef Snmp-owner-access {
- type enumeration {
- enum sdr-owner {
- value 0;
- description "Secure Domain Router Owner permissions";
- }
- enum system-owner {
- value 1;
- description "System owner permissions";
- }
- }
- description "Snmp owner access";
- }
- typedef Snmp-bulkstat-schema {
- type enumeration {
- enum exact-interface {
- value 1;
- description "Exact Interface";
- }
- enum exact-oid {
- value 2;
- description "Exact OID";
- }
- enum wild-interface {
- value 3;
- description "Wild Interface";
- }
- enum wild-oid {
- value 4;
- description "Wild OID";
- }
- enum range-oid {
- value 5;
- description "Range of OID";
- }
- enum repeat-oid {
- value 6;
- description "Repeated the instance";
- }
- }
- description "Snmp bulkstat schema";
- }
- typedef Snmpacl {
- type enumeration {
- enum ipv4 {
- value 1;
- description "Ipv4 Access-list";
- }
- enum ipv6 {
- value 2;
- description "Ipv6 Access-list";
- }
- }
- description "Snmpacl";
- }
- typedef Snmp-dscp-value {
- type union {
- type enumeration {
- enum default {
- value 0;
- description "Applicable to DSCP: bits 000000";
- }
- enum af11 {
- value 10;
- description "Applicable to DSCP: bits 001010";
- }
- enum af12 {
- value 12;
- description "Applicable to DSCP: bits 001100";
- }
- enum af13 {
- value 14;
- description "Applicable to DSCP: bits 001110";
- }
- enum af21 {
- value 18;
- description "Applicable to DSCP: bits 010010";
- }
- enum af22 {
- value 20;
- description "Applicable to DSCP: bits 010100";
- }
- enum af23 {
- value 22;
- description "Applicable to DSCP: bits 010110";
- }
- enum af31 {
- value 26;
- description "Applicable to DSCP: bits 011010";
- }
- enum af32 {
- value 28;
- description "Applicable to DSCP: bits 011100";
- }
- enum af33 {
- value 30;
- description "Applicable to DSCP: bits 011110";
- }
- enum af41 {
- value 34;
- description "Applicable to DSCP: bits 100010";
- }
- enum af42 {
- value 36;
- description "Applicable to DSCP: bits 100100";
- }
- enum af43 {
- value 38;
- description "Applicable to DSCP: bits 100110";
- }
- enum ef {
- value 46;
- description "Applicable to DSCP: bits 101110";
- }
- enum cs1 {
- value 8;
- description "Applicable to DSCP: bits 001000";
- }
- enum cs2 {
- value 16;
- description "Applicable to DSCP: bits 010000";
- }
- enum cs3 {
- value 24;
- description "Applicable to DSCP: bits 011000";
- }
- enum cs4 {
- value 32;
- description "Applicable to DSCP: bits 100000";
- }
- enum cs5 {
- value 40;
- description "Applicable to DSCP: bits 101000";
- }
- enum cs6 {
- value 48;
- description "Applicable to DSCP: bits 110000";
- }
- enum cs7 {
- value 56;
- description "Applicable to DSCP: bits 111000";
- }
- }
- type uint32 {
- range "0..63";
- }
- }
- description "Snmp dscp value";
- }
- typedef Snmp-precedence-value1 {
- type union {
- type enumeration {
- enum routine {
- value 0;
- description "Applicable to Precedence: value 0";
- }
- enum priority {
- value 1;
- description "Applicable to Precedence: value 1";
- }
- enum immediate {
- value 2;
- description "Applicable to Precedence: value 2";
- }
- enum flash {
- value 3;
- description "Applicable to Precedence: value 3";
- }
- enum flash-override {
- value 4;
- description "Applicable to Precedence: value 4";
- }
- enum critical {
- value 5;
- description "Applicable to Precedence: value 5";
- }
- enum internet {
- value 6;
- description "Applicable to Precedence: value 6";
- }
- enum network {
- value 7;
- description "Applicable to Precedence: value 7";
- }
- }
- type uint32 {
- range "0..7";
- }
- }
- description "Snmp precedence value1";
- }
- typedef Snmp-security-model {
- type enumeration {
- enum no-authentication {
- value 0;
- description "No Authentication required";
- }
- enum authentication {
- value 1;
- description
- "Authentication password alone required for
- access";
- }
- enum privacy {
- value 2;
- description
- "Authentication and privacy password required
- for access";
- }
- }
- description "Snmp security model";
- }
- typedef Snmp-mib-view-inclusion {
- type enumeration {
- enum included {
- value 1;
- description "MIB View to be included";
- }
- enum excluded {
- value 2;
- description "MIB View to be excluded";
- }
- }
- description "Snmp mib view inclusion";
- }
- typedef Snmp-bulkstat-file-format {
- type enumeration {
- enum schema-ascii {
- value 1;
- description "Tranfer file in schema Ascii format";
- }
- enum bulk-ascii {
- value 2;
- description "Tranfer file in Bulk Ascii format";
- }
- enum bulk-binary {
- value 3;
- description "Tranfer file in Bulk binary format";
- }
- }
- description "Snmp bulkstat file format";
- }
- typedef Snmp-access-level {
- type enumeration {
- enum read-only {
- value 0;
- description "Read Only Access for a community string";
- }
- enum read-write {
- value 1;
- description "Read Write Access for a community string";
- }
- }
- description "Snmp access level";
- }
- typedef Snmp-context {
- type enumeration {
- enum vrf {
- value 1;
- description "VRF feature";
- }
- enum bridge {
- value 4;
- description "BRIDGE feature";
- }
- enum ospf {
- value 5;
- description "OSPF feature";
- }
- enum ospfv3 {
- value 6;
- description "OSPFv3 feature";
- }
- }
- description "Snmp context";
- }
- typedef Group-snmp-version {
- type enumeration {
- enum v1 {
- value 0;
- description "SNMP version 1";
- }
- enum v2c {
- value 1;
- description "SNMP version 2";
- }
- enum v3 {
- value 2;
- description "SNMP version 3";
- }
- }
- description "Group snmp version";
- }
- typedef User-snmp-version {
- type enumeration {
- enum v1 {
- value 1;
- description "SNMP version 1";
- }
- enum v2c {
- value 2;
- description "SNMP version 2";
- }
- enum v3 {
- value 3;
- description "SNMP version 3";
- }
- }
- description "User snmp version";
- }
-
- grouping APPLIED-TO {
- description "Common node of rule, rule-set";
-
- container applied-to {
- xr:xr-xml-map "snmp_corr_cfg:AppliedTo";
- description "Applied to the Rule or Ruleset";
-
- container hosts {
- xr:xr-xml-map "snmp_corr_cfg:HostTable";
- description "Table of configured hosts to apply rules to";
-
- list host {
- xr:xr-xml-map "snmp_corr_cfg:Host";
- key "ip-address port";
- description "A destination host";
- leaf ip-address {
- xr:xr-xml-map "snmp_corr_cfg:IPAddress";
- type inet:ip-address-no-zone;
- description "IP address";
- }
- leaf port {
- xr:xr-xml-map "snmp_corr_cfg:Port";
- type xr:Cisco-ios-xr-port-number;
- description "Port (specify 162 for default)";
- }
- }
- }
- leaf all {
- xr:xr-xml-map "snmp_corr_cfg:All";
- type empty;
- description "Apply to all of the device";
- }
- }
- }
-
- grouping CONTEXT-TABLE {
- description "Common node of snmp, vrf";
-
- container contexts {
- xr:xr-xml-map "snmp_cfg:ContextTable";
- description "List of Context Names";
-
- list context {
- xr:xr-xml-map "snmp_cfg:Context";
- xr:xr-cli-map "vrf <string> context <string> ";
- xr:xr-cli-map "context <string> ";
- key "context-name";
- description "Context Name";
- leaf context-name {
- xr:xr-xml-map "snmp_cfg:ContextName";
- type xr:Cisco-ios-xr-string;
- description "Context Name";
- }
- }
- }
- }
-
- grouping VAR-BIND-TABLE {
- description "Common node of root-cause, non-root-cause";
-
- container var-binds {
- xr:xr-xml-map "snmp_corr_cfg:VarBindTable";
- description "Varbinds to match";
-
- list var-bind {
- xr:xr-xml-map "snmp_corr_cfg:VarBind";
- key "oid";
- description "Varbind match conditions";
-
- container match {
- xr:xr-xml-map "snmp_corr_cfg:Match";
- description "VarBind match conditions";
- leaf value {
- xr:xr-xml-map "snmp_corr_cfg:Value";
- type string;
- description "Regular Expression to match value";
- }
- leaf index {
- xr:xr-xml-map "snmp_corr_cfg:Index";
- type string;
- description "Regular Expression to match index";
- }
- }
- leaf oid {
- xr:xr-xml-map "snmp_corr_cfg:OID";
- type string;
- description "OID of varbind (dotted decimal)";
- }
- }
- }
- }
-
- grouping TRAP-HOST-TABLE {
- description "Common node of snmp, vrf";
-
- container trap-hosts {
- xr:xr-xml-map "snmp_cfg:TrapHostTable";
- description "Specify hosts to receive SNMP notifications";
-
- list trap-host {
- xr:xr-xml-map "snmp_cfg:TrapHost";
- key "ip-address";
- description "Specify hosts to receive SNMP notifications";
-
- container encrypted-user-communities {
- xr:xr-xml-map "snmp_cfg:EncryptedUserCommunityTable";
- description
- "Container class for defining Clear/encrypt
- communities for a trap host";
-
- list encrypted-user-community {
- xr:xr-xml-map "snmp_cfg:EncryptedUserCommunity";
- key "community-name";
- description
- "Clear/Encrypt Community name associated with
- a trap host";
- leaf community-name {
- xr:xr-xml-map "snmp_cfg:CommunityName";
- type xr:Cisco-ios-xr-string;
- description
- "SNMPv1/v2c community string or SNMPv3 user";
- }
- leaf port {
- xr:xr-xml-map "snmp_cfg:Port";
- type xr:Cisco-ios-xr-port-number;
- description "UDP port number";
- }
- leaf version {
- xr:xr-xml-map "snmp_cfg:Version";
- type string;
- mandatory true;
- description "SNMP Version to be used v1/v2c/v3";
- }
- leaf security-level {
- xr:xr-xml-map "snmp_cfg:SecurityLevel";
- type Snmp-security-model;
- description
- "Security level to be used noauth/auth/priv";
- }
- leaf basic-trap-types {
- xr:xr-xml-map "snmp_cfg:BasicTrapTypes";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setBasicTrapTypes is used for
- all traps except copy-completeSet this value
- to an integer corresponding to the trapBGP
- 8192, CONFIG 4096,SYSLOG 131072,SNMP_TRAP
- 1COPY_COMPLETE_TRAP 64To provide a
- combination of trap Add the respective
- numbersValue must be set to 0 for all traps";
- }
- leaf advanced-trap-types1 {
- xr:xr-xml-map "snmp_cfg:AdvancedTrapTypes1";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setUse this for providing
- copy-complete trapValue must be set to 0 if
- not used";
- }
- leaf advanced-trap-types2 {
- xr:xr-xml-map "snmp_cfg:AdvancedTrapTypes2";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setvalue should always to set as
- 0";
- }
- }
- }
-
- container inform-host {
- xr:xr-xml-map "snmp_cfg:InformHost";
- description
- "Container class for defining notification type
- for a Inform host";
-
- container inform-user-communities {
- xr:xr-xml-map "snmp_cfg:InformUserCommunityTable";
- description
- "Container class for defining communities for
- a inform host";
-
- list inform-user-community {
- xr:xr-xml-map "snmp_cfg:InformUserCommunity";
- key "community-name";
- description
- "Unencrpted Community name associated with a
- inform host";
- leaf community-name {
- xr:xr-xml-map "snmp_cfg:CommunityName";
- type xr:Cisco-ios-xr-string {
- length "0..128";
- }
- description
- "SNMPv2c community string or SNMPv3 user";
- }
- leaf port {
- xr:xr-xml-map "snmp_cfg:Port";
- type xr:Cisco-ios-xr-port-number;
- description "UDP port number";
- }
- leaf version {
- xr:xr-xml-map "snmp_cfg:Version";
- type string;
- mandatory true;
- description "SNMP Version to be used v2c/v3";
- }
- leaf security-level {
- xr:xr-xml-map "snmp_cfg:SecurityLevel";
- type Snmp-security-model;
- description
- "Security level to be used noauth/auth/priv";
- }
- leaf basic-trap-types {
- xr:xr-xml-map "snmp_cfg:BasicTrapTypes";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setBasicTrapTypes is used for
- all traps except copy-completeSet this
- value to an integer corresponding to the
- trapBGP 8192, CONFIG 4096,SYSLOG 131072
- ,SNMP_TRAP 1COPY_COMPLETE_TRAP 64To provide
- a combination of trap Add the respective
- numbersValue must be set to 0 for all traps";
- }
- leaf advanced-trap-types1 {
- xr:xr-xml-map "snmp_cfg:AdvancedTrapTypes1";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setUse this for providing
- copy-complete trapValue must be set to 0 if
- not used";
- }
- leaf advanced-trap-types2 {
- xr:xr-xml-map "snmp_cfg:AdvancedTrapTypes2";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setvalue should always to set
- as 0";
- }
- }
- }
-
- container inform-encrypted-user-communities {
- xr:xr-xml-map "snmp_cfg:InformEncryptedUserCommunityTab"+
- "le";
- description
- "Container class for defining Clear/encrypt
- communities for a inform host";
-
- list inform-encrypted-user-community {
- xr:xr-xml-map "snmp_cfg:InformEncryptedUserCommunity";
- key "community-name";
- description
- "Clear/Encrypt Community name associated with
- a inform host";
- leaf community-name {
- xr:xr-xml-map "snmp_cfg:CommunityName";
- type xr:Cisco-ios-xr-string;
- description
- "SNMPv2c community string or SNMPv3 user";
- }
- leaf port {
- xr:xr-xml-map "snmp_cfg:Port";
- type xr:Cisco-ios-xr-port-number;
- description "UDP port number";
- }
- leaf version {
- xr:xr-xml-map "snmp_cfg:Version";
- type string;
- mandatory true;
- description "SNMP Version to be used v2c/v3";
- }
- leaf security-level {
- xr:xr-xml-map "snmp_cfg:SecurityLevel";
- type Snmp-security-model;
- description
- "Security level to be used noauth/auth/priv";
- }
- leaf basic-trap-types {
- xr:xr-xml-map "snmp_cfg:BasicTrapTypes";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setBasicTrapTypes is used for
- all traps except copy-completeSet this
- value to an integer corresponding to the
- trapBGP 8192, CONFIG 4096,SYSLOG 131072
- ,SNMP_TRAP 1COPY_COMPLETE_TRAP 64To provide
- a combination of trap Add the respective
- numbersValue must be set to 0 for all traps";
- }
- leaf advanced-trap-types1 {
- xr:xr-xml-map "snmp_cfg:AdvancedTrapTypes1";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setUse this for providing
- copy-complete trapValue must be set to 0 if
- not used";
- }
- leaf advanced-trap-types2 {
- xr:xr-xml-map "snmp_cfg:AdvancedTrapTypes2";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setvalue should always to set
- as 0";
- }
- }
- }
- }
-
- container default-user-communities {
- xr:xr-xml-map "snmp_cfg:DefaultUserCommunityTable";
- description
- "Container class for defining communities for a
- trap host";
-
- list default-user-community {
- xr:xr-xml-map "snmp_cfg:DefaultUserCommunity";
- key "community-name";
- description
- "Unencrpted Community name associated with a
- trap host";
- leaf community-name {
- xr:xr-xml-map "snmp_cfg:CommunityName";
- type xr:Cisco-ios-xr-string {
- length "0..128";
- }
- description
- "SNMPv1/v2c community string or SNMPv3 user";
- }
- leaf port {
- xr:xr-xml-map "snmp_cfg:Port";
- type xr:Cisco-ios-xr-port-number;
- description "UDP port number";
- }
- leaf version {
- xr:xr-xml-map "snmp_cfg:Version";
- type string;
- mandatory true;
- description "SNMP Version to be used v1/v2c/v3";
- }
- leaf security-level {
- xr:xr-xml-map "snmp_cfg:SecurityLevel";
- type Snmp-security-model;
- description
- "Security level to be used noauth/auth/priv";
- }
- leaf basic-trap-types {
- xr:xr-xml-map "snmp_cfg:BasicTrapTypes";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setBasicTrapTypes is used for
- all traps except copy-completeSet this value
- to an integer corresponding to the trapBGP
- 8192, CONFIG 4096,SYSLOG 131072,SNMP_TRAP
- 1COPY_COMPLETE_TRAP 64To provide a
- combination of trap Add the respective
- numbersValue must be set to 0 for all traps";
- }
- leaf advanced-trap-types1 {
- xr:xr-xml-map "snmp_cfg:AdvancedTrapTypes1";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setUse this for providing
- copy-complete trapValue must be set to 0 if
- not used";
- }
- leaf advanced-trap-types2 {
- xr:xr-xml-map "snmp_cfg:AdvancedTrapTypes2";
- type int32;
- mandatory true;
- description
- "Number to signify the feature traps that
- needs to be setvalue should always to set as
- 0";
- }
- }
- }
- leaf ip-address {
- xr:xr-xml-map "snmp_cfg:IPAddress";
- type inet:ip-address-no-zone;
- description "IP address of SNMP notification host";
- }
- }
- }
- }
-
- grouping CONTEXT-MAPPING-TABLE {
- description "Common node of snmp, vrf";
-
- container context-mappings {
- xr:xr-xml-map "snmp_cfg:ContextMappingTable";
- description "List of context names";
-
- list context-mapping {
- xr:xr-xml-map "snmp_cfg:ContextMapping";
- xr:xr-cli-map "context mapping <string> [feature <enum> (in"+
- "stance <string>)|(vrf <string>)|(topology <string>)] ";
- key "context-mapping-name";
- description "Context mapping name";
- leaf context-mapping-name {
- xr:xr-xml-map "snmp_cfg:ContextMappingName";
- type xr:Cisco-ios-xr-string;
- description "Context mapping name";
- }
- leaf context {
- xr:xr-xml-map "snmp_cfg:Context";
- type Snmp-context;
- description "SNMP context feature type";
- }
- leaf instance-name {
- xr:xr-xml-map "snmp_cfg:InstanceName";
- type string;
- description "OSPF protocol instance";
- }
- leaf vrf-name {
- xr:xr-xml-map "snmp_cfg:VRFName";
- type string;
- description "VRF name associated with the context";
- }
- leaf topology-name {
- xr:xr-xml-map "snmp_cfg:TopologyName";
- type string;
- description "Topology name associated with the context";
- }
- }
- }
- }
-
- container snmp {
- xr:xr-xml-map "snmp_cfg:SNMP";
- description
- "The heirarchy point for all the SNMP
- configurations";
-
- container encrypted-community-maps {
- xr:xr-xml-map "snmp_cfg:EncryptedCommunityMapTable";
- description
- "Container class to hold clear/encrypted
- communitie maps";
-
- list encrypted-community-map {
- xr:xr-xml-map "snmp_cfg:EncryptedCommunityMap";
- key "community-name";
- description "Clear/encrypted SNMP community map";
- leaf community-name {
- xr:xr-xml-map "snmp_cfg:CommunityName";
- type xr:Cisco-ios-xr-string;
- description "SNMP community map";
- }
- leaf context {
- xr:xr-xml-map "snmp_cfg:Context";
- type string;
- description "SNMP Context Name ";
- }
- leaf security {
- xr:xr-xml-map "snmp_cfg:Security";
- type string;
- description "SNMP Security Name ";
- }
- leaf target-list {
- xr:xr-xml-map "snmp_cfg:TargetList";
- type string;
- description "target list name ";
- }
- }
- }
-
- container views {
- xr:xr-xml-map "snmp_cfg:ViewTable";
- description "Class to configure a SNMPv2 MIB view";
-
- list view {
- xr:xr-xml-map "snmp_cfg:View";
- xr:xr-cli-map "view <string> <string> (included)|(excluded)"+
- " ";
- key "view-name family";
- description "Name of the view";
- leaf view-name {
- xr:xr-xml-map "snmp_cfg:ViewName";
- type xr:Cisco-ios-xr-string;
- description "Name of the view";
- }
- leaf family {
- xr:xr-xml-map "snmp_cfg:Family";
- type string;
- description "MIB view family name";
- }
- leaf view-inclusion {
- xr:xr-xml-map "snmp_cfg:ViewInclusion";
- type Snmp-mib-view-inclusion;
- mandatory true;
- description "MIB view to be included or excluded";
- }
- }
- }
-
- container logging {
- xr:xr-xml-map "snmp_cfg:Logging";
- description "SNMP logging";
-
- container threshold {
- xr:xr-xml-map "snmp_cfg:Threshold";
- description "SNMP logging threshold";
- leaf oid-processing {
- xr:xr-xml-map "snmp_cfg:OIDProcessing";
- xr:xr-cli-map "logging threshold oid-processing <number> ";
- type uint32 {
- range "0..20000";
- }
- default "500";
- description "SNMP logging threshold for OID processing";
- }
- leaf pdu-processing {
- xr:xr-xml-map "snmp_cfg:PDUProcessing";
- xr:xr-cli-map "logging threshold pdu-processing <number> ";
- type uint32 {
- range "0..20000";
- }
- default "20000";
- description "SNMP logging threshold for PDU processing";
- }
- }
- }
-
- container administration {
- xr:xr-xml-map "snmp_cfg:Administration";
- description "Container class for SNMP administration";
-
- container default-communities {
- xr:xr-xml-map "snmp_cfg:DefaultCommunityTable";
- description
- "Container class to hold unencrpted communities";
-
- list default-community {
- xr:xr-xml-map "snmp_cfg:DefaultCommunity";
- key "community-name";
- description
- "Unencrpted SNMP community string and access
- priviledges";
- leaf community-name {
- xr:xr-xml-map "snmp_cfg:CommunityName";
- type string {
- length "0..128";
- }
- description "SNMP community string";
- }
- leaf priviledge {
- xr:xr-xml-map "snmp_cfg:Priviledge";
- type Snmp-access-level;
- description "Read/Write Access";
- }
- leaf view-name {
- xr:xr-xml-map "snmp_cfg:ViewName";
- type string;
- description
- "MIB view to which the community has access";
- }
- leaf v4acl-type {
- xr:xr-xml-map "snmp_cfg:V4ACLType";
- type Snmpacl;
- description "Access-list type";
- }
- leaf v4-access-list {
- xr:xr-xml-map "snmp_cfg:V4AccessList";
- type string;
- description "Ipv4 Access-list name";
- }
- leaf v6acl-type {
- xr:xr-xml-map "snmp_cfg:V6ACLType";
- type Snmpacl;
- description "Access-list type";
- }
- leaf v6-access-list {
- xr:xr-xml-map "snmp_cfg:V6AccessList";
- type string;
- description "Ipv6 Access-list name";
- }
- leaf owner {
- xr:xr-xml-map "snmp_cfg:Owner";
- type Snmp-owner-access;
- description "Logical Router or System owner access";
- }
- }
- }
-
- container encrypted-communities {
- xr:xr-xml-map "snmp_cfg:EncryptedCommunityTable";
- description
- "Container class to hold clear/encrypted
- communities";
-
- list encrypted-community {
- xr:xr-xml-map "snmp_cfg:EncryptedCommunity";
- key "community-name";
- description
- "Clear/encrypted SNMP community string and
- access priviledges";
- leaf community-name {
- xr:xr-xml-map "snmp_cfg:CommunityName";
- type xr:Cisco-ios-xr-string;
- description "SNMP community string";
- }
- leaf priviledge {
- xr:xr-xml-map "snmp_cfg:Priviledge";
- type Snmp-access-level;
- description "Read/Write Access";
- }
- leaf view-name {
- xr:xr-xml-map "snmp_cfg:ViewName";
- type string;
- description
- "MIB view to which the community has access";
- }
- leaf v4acl-type {
- xr:xr-xml-map "snmp_cfg:V4ACLType";
- type Snmpacl;
- description "Access-list type";
- }
- leaf v4-access-list {
- xr:xr-xml-map "snmp_cfg:V4AccessList";
- type string;
- description "Ipv4 Access-list name";
- }
- leaf v6acl-type {
- xr:xr-xml-map "snmp_cfg:V6ACLType";
- type Snmpacl;
- description "Access-list type";
- }
- leaf v6-access-list {
- xr:xr-xml-map "snmp_cfg:V6AccessList";
- type string;
- description "Ipv6 Access-list name";
- }
- leaf owner {
- xr:xr-xml-map "snmp_cfg:Owner";
- type Snmp-owner-access;
- description "Logical Router or System owner access";
- }
- }
- }
- }
-
- container agent {
- xr:xr-xml-map "snmp_cfg:Agent";
- description
- "The heirarchy point for SNMP Agent
- configurations";
-
- container engine-id {
- xr:xr-xml-map "snmp_cfg:EngineID";
- description "SNMPv3 engineID";
-
- container remotes {
- xr:xr-xml-map "snmp_cfg:RemoteTable";
- description "SNMPv3 remote SNMP Entity";
-
- list remote {
- xr:xr-xml-map "snmp_cfg:Remote";
- xr:xr-cli-map "engineID remote <IPv4"+
- "/IPv6 address> <string> [udp-port <number>] ";
- key "remote-address";
- description "engineID of the remote agent";
- leaf remote-address {
- xr:xr-xml-map "snmp_cfg:RemoteAddress";
- type inet:ip-address-no-zone;
- description "IP address of remote SNMP entity";
- }
- leaf remote-engine-id {
- xr:xr-xml-map "snmp_cfg:RemoteEngineID";
- type string;
- description "engine ID octet string";
- }
- leaf port {
- xr:xr-xml-map "snmp_cfg:Port";
- type xr:Cisco-ios-xr-port-number;
- description "UDP port number";
- }
- }
- }
- leaf local {
- xr:xr-xml-map "snmp_cfg:Local";
- xr:xr-cli-map "engineID local <string> ";
- type string;
- description "engineID of the local agent";
- }
- }
- }
-
- container trap {
- xr:xr-xml-map "snmp_cfg:Trap";
- description "Class to hold trap configurations";
- leaf timeout {
- xr:xr-xml-map "snmp_cfg:Timeout";
- xr:xr-cli-map "trap-timeout <number> ";
- type uint32 {
- range "1..1000";
- }
- description "Timeout for TRAP message retransmissions";
- }
- leaf throttle-time {
- xr:xr-xml-map "snmp_cfg:ThrottleTime";
- xr:xr-cli-map "throttle-time <number> ";
- type uint32 {
- range "10..500";
- }
- units "millisecond";
- description "Set throttle time for handling traps";
- }
- leaf queue-length {
- xr:xr-xml-map "snmp_cfg:QueueLength";
- xr:xr-cli-map "queue-length <number> ";
- type uint32 {
- range "1..5000";
- }
- description "Message queue length for each TRAP host";
- }
- }
-
- container ipv6 {
- xr:xr-xml-map "snmp_cfg:IPv6";
- description "SNMP TOS bit for outgoing packets";
-
- container tos {
- xr:xr-xml-map "snmp_cfg:TOS";
- description "Type of TOS";
- leaf type {
- xr:xr-xml-map "snmp_cfg:Type";
- type Snmp-tos;
- description "SNMP TOS type DSCP or Precedence";
- }
- leaf precedence {
- xr:xr-xml-map "snmp_cfg:Precedence";
- when "../type = 'precedence'" {
- description "../Type = Precedence";
- }
- type Snmp-precedence-value1;
- description "SNMP Precedence value";
- }
- leaf dscp {
- xr:xr-xml-map "snmp_cfg:DSCP";
- when "../type = 'dscp'" {
- description "../Type = DSCP";
- }
- type Snmp-dscp-value;
- description "SNMP DSCP value";
- }
- }
- }
-
- container ipv4 {
- xr:xr-xml-map "snmp_cfg:IPv4";
- description "SNMP TOS bit for outgoing packets";
-
- container tos {
- xr:xr-xml-map "snmp_cfg:TOS";
- description "Type of TOS";
- leaf type {
- xr:xr-xml-map "snmp_cfg:Type";
- type Snmp-tos;
- description "SNMP TOS type DSCP or Precedence";
- }
- leaf precedence {
- xr:xr-xml-map "snmp_cfg:Precedence";
- when "../type = 'precedence'" {
- description "../Type = Precedence";
- }
- type Snmp-precedence-value1;
- description "SNMP Precedence value";
- }
- leaf dscp {
- xr:xr-xml-map "snmp_cfg:DSCP";
- when "../type = 'dscp'" {
- description "../Type = DSCP";
- }
- type Snmp-dscp-value;
- description "SNMP DSCP value";
- }
- }
- }
-
- container system {
- xr:xr-xml-map "snmp_cfg:System";
- description "container to hold system information";
- leaf chassis-id {
- xr:xr-xml-map "snmp_cfg:ChassisID";
- xr:xr-cli-map "chassis-id <text> ";
- type string {
- length "0..255";
- }
- description "String to uniquely identify this chassis";
- }
- leaf location {
- xr:xr-xml-map "snmp_cfg:Location";
- xr:xr-cli-map "location <text> ";
- type string {
- length "0..255";
- }
- description "The physical location of this node";
- }
- leaf contact {
- xr:xr-xml-map "snmp_cfg:Contact";
- xr:xr-cli-map "contact <text> ";
- type string {
- length "0..255";
- }
- description
- "identification of the contact person for this
- managed node";
- }
- }
-
- container target {
- xr:xr-xml-map "snmp_cfg:Target";
- description "SNMP target configurations";
-
- container targets {
- xr:xr-xml-map "snmp_cfg:TargetListTable";
- description "List of targets";
-
- list target {
- xr:xr-xml-map "snmp_cfg:TargetList";
- key "target-list-name";
- description "Name of the target list";
-
- container vrf-names {
- xr:xr-xml-map "snmp_cfg:VRFNameTable";
- description "List of VRF Name for a target list";
-
- list vrf-name {
- xr:xr-xml-map "snmp_cfg:VRFName";
- xr:xr-cli-map "target list <string> vrf <string> ";
- key "name";
- description "VRF name of the target";
- leaf name {
- xr:xr-xml-map "snmp_cfg:Name";
- type xr:Cisco-ios-xr-string;
- description "VRF Name";
- }
- }
- }
-
- container target-addresses {
- xr:xr-xml-map "snmp_cfg:TargetAddressTable";
- description "SNMP Target address configurations";
-
- list target-address {
- xr:xr-xml-map "snmp_cfg:TargetAddress";
- xr:xr-cli-map "target list <string> host <IPv4"+
- "/IPv6 address> ";
- key "ip-address";
- description
- "IP Address to be configured for the Target";
- leaf ip-address {
- xr:xr-xml-map "snmp_cfg:IPAddress";
- type inet:ip-address-no-zone;
- description "IPv4/Ipv6 address";
- }
- }
- }
- leaf target-list-name {
- xr:xr-xml-map "snmp_cfg:TargetListName";
- type xr:Cisco-ios-xr-string;
- description "Name of the target list";
- }
- }
- }
- }
-
- container notification {
- xr:xr-xml-map "snmp_cfg:Notification";
- description "Enable SNMP notifications";
-
- container snmp {
- xr:xr-xml-map "snmpmib_cfg:SNMP";
- description "SNMP notification configuration";
- leaf authentication {
- xr:xr-xml-map "snmpmib_cfg:Authentication";
- xr:xr-cli-map "authentication ";
- type empty;
- description "Enable authentication notification";
- }
- leaf cold-start {
- xr:xr-xml-map "snmpmib_cfg:ColdStart";
- xr:xr-cli-map "coldstart ";
- type empty;
- description "Enable cold start notification";
- }
- leaf warm-start {
- xr:xr-xml-map "snmpmib_cfg:WarmStart";
- xr:xr-cli-map "warmstart ";
- type empty;
- description "Enable warm start notification";
- }
- leaf enable {
- xr:xr-xml-map "snmpmib_cfg:Enable";
- xr:xr-cli-map "traps snmp ";
- type empty;
- description "Enable SNMP notifications";
- }
- }
- }
-
- container correlator {
- xr:xr-xml-map "snmp_corr_cfg:Correlator";
- description "Configure properties of the trap correlator";
-
- container rules {
- xr:xr-xml-map "snmp_corr_cfg:RuleTable";
- description "Table of configured rules";
-
- list rule {
- xr:xr-xml-map "snmp_corr_cfg:Rule";
- key "name";
- description "Rule name";
-
- container non-stateful {
- xr:xr-xml-map "snmp_corr_cfg:NonStateful";
- presence "Indicates a non-stateful node is configured.";
- description "The Non-Stateful Rule Type";
-
- container root-causes {
- xr:xr-xml-map "snmp_corr_cfg:RootCauseTable";
- description
- "Table of configured rootcause (only one
- entry allowed)";
-
- list root-cause {
- xr:xr-xml-map "snmp_corr_cfg:RootCause";
- key "oid";
- description
- "The rootcause - maximum of one can be
- configured per rule";
- leaf created {
- xr:xr-xml-map "snmp_corr_cfg:Created";
- type empty;
- description "Create rootcause";
- }
- leaf oid {
- xr:xr-xml-map "snmp_corr_cfg:OID";
- type string;
- description
- "OID of rootcause trap (dotted decimal)";
- }
- uses VAR-BIND-TABLE;
- }
- }
-
- container non-root-causes {
- xr:xr-xml-map "snmp_corr_cfg:NonRootCauseTable";
- description "Table of configured non-rootcause";
-
- list non-root-cause {
- xr:xr-xml-map "snmp_corr_cfg:NonRootCause";
- key "oid";
- description "A non-rootcause";
- leaf created {
- xr:xr-xml-map "snmp_corr_cfg:Created";
- type empty;
- description "Create nonrootcause";
- }
- leaf oid {
- xr:xr-xml-map "snmp_corr_cfg:OID";
- type string;
- description
- "OID of nonrootcause trap (dotted decimal)";
- }
- uses VAR-BIND-TABLE;
- }
- }
- leaf timeout {
- xr:xr-xml-map "snmp_corr_cfg:Timeout";
- type uint32 {
- range "1..600000";
- }
- units "millisecond";
- description
- "Timeout (time to wait for active
- correlation) in milliseconds";
- }
- }
- leaf name {
- xr:xr-xml-map "snmp_corr_cfg:Name";
- type string {
- length "0..32";
- }
- description "Rule name";
- }
- uses APPLIED-TO;
- }
- }
-
- container rule-sets {
- xr:xr-xml-map "snmp_corr_cfg:RulesetTable";
- description "Table of configured rulesets";
-
- list rule-set {
- xr:xr-xml-map "snmp_corr_cfg:Ruleset";
- key "name";
- description "Ruleset name";
-
- container rulenames {
- xr:xr-xml-map "snmp_corr_cfg:RulenameTable";
- description "Table of configured rulenames";
-
- list rulename {
- xr:xr-xml-map "snmp_corr_cfg:Rulename";
- xr:xr-cli-map "ruleset <string> rulename <string> ";
- key "rulename";
- description "A rulename";
- leaf rulename {
- xr:xr-xml-map "snmp_corr_cfg:Rulename";
- type string {
- length "0..32";
- }
- description "Rule name";
- }
- }
- }
- leaf name {
- xr:xr-xml-map "snmp_corr_cfg:Name";
- type string {
- length "0..32";
- }
- description "Ruleset name";
- }
- uses APPLIED-TO;
- }
- }
- leaf buffer-size {
- xr:xr-xml-map "snmp_corr_cfg:BufferSize";
- xr:xr-cli-map "buffer-size <number> ";
- type uint32 {
- range "1024..52428800";
- }
- description "Configure size of the correlator buffer";
- }
- }
-
- container bulk-stats {
- xr:xr-xml-map "snmp_bulkstat_cfg:BulkStats";
- description "SNMP bulk stats configuration commands";
-
- container schemas {
- xr:xr-xml-map "snmp_bulkstat_cfg:SchemaTable";
- description "Configure schema definition";
-
- list schema {
- xr:xr-xml-map "snmp_bulkstat_cfg:Schema";
- key "schema-name";
- description "The name of the Schema";
-
- container instance {
- xr:xr-xml-map "snmp_bulkstat_cfg:Instance";
- presence "Indicates a instance node is configured.";
- description "Object instance information";
- leaf type {
- xr:xr-xml-map "snmp_bulkstat_cfg:Type";
- type Snmp-bulkstat-schema;
- mandatory true;
- description "Type of the instance";
- }
- leaf instance {
- xr:xr-xml-map "snmp_bulkstat_cfg:Instance";
- type xr:Interface-name;
- description "Instance of the schema";
- }
- leaf start {
- xr:xr-xml-map "snmp_bulkstat_cfg:Start";
- type string;
- mandatory true;
- description "Start Instance OID for repetition";
- }
- leaf end {
- xr:xr-xml-map "snmp_bulkstat_cfg:End";
- type string;
- mandatory true;
- description "End Instance OID for repetition";
- }
- leaf max {
- xr:xr-xml-map "snmp_bulkstat_cfg:Max";
- type int32;
- mandatory true;
- description "Max value of Instance repetition";
- }
- leaf sub-interface {
- xr:xr-xml-map "snmp_bulkstat_cfg:SubInterface";
- type boolean;
- mandatory true;
- description "Include all the subinterface";
- }
- }
- leaf type {
- xr:xr-xml-map "snmp_bulkstat_cfg:Type";
- type empty;
- description "Configure schema name";
- }
- leaf schema-object-list {
- xr:xr-xml-map "snmp_bulkstat_cfg:SchemaObjectList";
- xr:xr-cli-map "schema <string> object-list <string> ";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of an object List";
- }
- leaf poll-interval {
- xr:xr-xml-map "snmp_bulkstat_cfg:PollInterval";
- xr:xr-cli-map "schema <string> poll-interval <number> ";
- type uint32 {
- range "1..20000";
- }
- units "minute";
- description
- "Periodicity for polling of objects in this
- schema in minutes";
- }
- leaf schema-name {
- xr:xr-xml-map "snmp_bulkstat_cfg:SchemaName";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "The name of the schema";
- }
- }
- }
-
- container objects {
- xr:xr-xml-map "snmp_bulkstat_cfg:ObjectListTable";
- description "Configure an Object List ";
-
- list object {
- xr:xr-xml-map "snmp_bulkstat_cfg:ObjectList";
- key "object-list-name";
- description "Name of the object List";
-
- container objects {
- xr:xr-xml-map "snmp_bulkstat_cfg:ObjectTable";
- description "Configure an object List";
-
- list object {
- xr:xr-xml-map "snmp_bulkstat_cfg:Object";
- xr:xr-cli-map "object-list <string> add <string> ";
- key "oid";
- description "Object name or OID";
- leaf oid {
- xr:xr-xml-map "snmp_bulkstat_cfg:OID";
- type string;
- description "Object name or OID ";
- }
- }
- }
- leaf type {
- xr:xr-xml-map "snmp_bulkstat_cfg:Type";
- type empty;
- description "Configure object list name";
- }
- leaf object-list-name {
- xr:xr-xml-map "snmp_bulkstat_cfg:ObjectListName";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of the object List";
- }
- }
- }
-
- container transfers {
- xr:xr-xml-map "snmp_bulkstat_cfg:TransferTable";
- description
- "Periodicity for the transfer of bulk data in
- minutes";
-
- list transfer {
- xr:xr-xml-map "snmp_bulkstat_cfg:Transfer";
- key "transfer-name";
- description "Name of bulk transfer";
-
- container transfer-schemas {
- xr:xr-xml-map "snmp_bulkstat_cfg:TransferSchemaTable";
- description
- "Schema that contains objects to be collected";
-
- list transfer-schema {
- xr:xr-xml-map "snmp_bulkstat_cfg:TransferSchema";
- xr:xr-cli-map "transfer-id <string> schema <string> ";
- key "schema-name";
- description
- "Schema that contains objects to be collected";
- leaf schema-name {
- xr:xr-xml-map "snmp_bulkstat_cfg:SchemaName";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description
- "Schema that contains objects to be
- collected";
- }
- }
- }
- leaf secondary {
- xr:xr-xml-map "snmp_bulkstat_cfg:Secondary";
- xr:xr-cli-map "transfer-id <string> url secondary <stri"+
- "ng> ";
- type string;
- description
- "FTP or rcp or TFTP can be used for file
- transfer";
- }
- leaf type {
- xr:xr-xml-map "snmp_bulkstat_cfg:Type";
- type empty;
- description "Configure transfer list name";
- }
- leaf buffer-size {
- xr:xr-xml-map "snmp_bulkstat_cfg:BufferSize";
- xr:xr-cli-map "transfer-id <string> buffer-size <number"+
- "> ";
- type uint32 {
- range "1024..2147483647";
- }
- units "byte";
- description "Bulkstat data file maximum size in bytes";
- }
- leaf retain {
- xr:xr-xml-map "snmp_bulkstat_cfg:Retain";
- xr:xr-cli-map "transfer-id <string> retain <number> ";
- type uint32 {
- range "0..20000";
- }
- units "minute";
- description "Retention period in minutes";
- }
- leaf format {
- xr:xr-xml-map "snmp_bulkstat_cfg:Format";
- xr:xr-cli-map "transfer-id <string> format (bulkBinary)"+
- "|(bulkASCII)|(schemaASCII) ";
- type Snmp-bulkstat-file-format;
- description "Format of the bulk data file";
- }
- leaf retry {
- xr:xr-xml-map "snmp_bulkstat_cfg:Retry";
- xr:xr-cli-map "transfer-id <string> retry <number> ";
- type uint32 {
- range "0..100";
- }
- description "Number of transmission retries";
- }
- leaf enable {
- xr:xr-xml-map "snmp_bulkstat_cfg:Enable";
- xr:xr-cli-map "transfer-id <string> enable ";
- type empty;
- description
- "Start Data Collection for this Configuration";
- }
- leaf primary {
- xr:xr-xml-map "snmp_bulkstat_cfg:Primary";
- xr:xr-cli-map "transfer-id <string> url primary <string"+
- "> ";
- type string;
- description
- "FTP or rcp or TFTP can be used for file
- transfer";
- }
- leaf interval {
- xr:xr-xml-map "snmp_bulkstat_cfg:Interval";
- xr:xr-cli-map "transfer-id <string> transfer-interval <"+
- "number> ";
- type int32;
- units "minute";
- description
- "Periodicity for the transfer of bulk data in
- minutes";
- }
- leaf transfer-name {
- xr:xr-xml-map "snmp_bulkstat_cfg:TransferName";
- type xr:Cisco-ios-xr-string {
- length "0..32";
- }
- description "Name of bulk transfer";
- }
- }
- }
- leaf memory {
- xr:xr-xml-map "snmp_bulkstat_cfg:Memory";
- xr:xr-cli-map "mib bulkstat max-procmem-size <number> ";
- type uint32 {
- range "100..200000";
- }
- units "kilobyte";
- description "per process memory limit in kilo bytes";
- }
- }
-
- container default-community-maps {
- xr:xr-xml-map "snmp_cfg:DefaultCommunityMapTable";
- description
- "Container class to hold unencrpted community map";
-
- list default-community-map {
- xr:xr-xml-map "snmp_cfg:DefaultCommunityMap";
- key "community-name";
- description "Unencrpted SNMP community map name ";
- leaf community-name {
- xr:xr-xml-map "snmp_cfg:CommunityName";
- type xr:Cisco-ios-xr-string {
- length "0..128";
- }
- description "SNMP community map";
- }
- leaf context {
- xr:xr-xml-map "snmp_cfg:Context";
- type string;
- description "SNMP Context Name ";
- }
- leaf security {
- xr:xr-xml-map "snmp_cfg:Security";
- type string;
- description "SNMP Security Name ";
- }
- leaf target-list {
- xr:xr-xml-map "snmp_cfg:TargetList";
- type string;
- description "target list name ";
- }
- }
- }
-
- container overload-control {
- xr:xr-xml-map "snmp_cfg:OverloadControl";
- presence "Indicates a overload-control node is configured.";
- description
- "Set overload control params for handling
- incoming messages";
- leaf drop-time {
- xr:xr-xml-map "snmp_cfg:DropTime";
- type uint32 {
- range "0..300";
- }
- units "second";
- mandatory true;
- description
- "Drop time in seconds for incoming queue
- (default 1 sec)";
- }
- leaf throttle-rate {
- xr:xr-xml-map "snmp_cfg:ThrottleRate";
- type uint32 {
- range "0..1000";
- }
- units "millisecond";
- mandatory true;
- description
- "Throttle time in milliseconds for incoming
- queue (default 500 msec)";
- }
- }
-
- container timeouts {
- xr:xr-xml-map "snmp_cfg:Timeouts";
- description "SNMP timeouts";
- leaf duplicates {
- xr:xr-xml-map "snmp_cfg:Duplicates";
- xr:xr-cli-map "timeouts duplicate <number> ";
- type uint32 {
- range "0..20";
- }
- units "second";
- default "1";
- description "Duplicate request feature timeout";
- }
- leaf in-qdrop {
- xr:xr-xml-map "snmp_cfg:InQdrop";
- xr:xr-cli-map "timeouts inQdrop <number> ";
- type uint32 {
- range "0..20";
- }
- units "second";
- default "10";
- description "incoming queue drop feature timeout";
- }
- leaf subagent {
- xr:xr-xml-map "snmp_cfg:Subagent";
- xr:xr-cli-map "timeouts subagent <number> ";
- type uint32 {
- range "1..20";
- }
- units "second";
- default "10";
- description "Sub-Agent Request timeout";
- }
- leaf pdu-stats {
- xr:xr-xml-map "snmp_cfg:PDUStats";
- xr:xr-cli-map "timeouts pdu stats <number> ";
- type uint32 {
- range "1..10";
- }
- units "second";
- default "2";
- description "SNMP pdu statistics timeout";
- }
- }
-
- container users {
- xr:xr-xml-map "snmp_cfg:UserTable";
- description "Define a user who can access the SNMP engine";
-
- list user {
- xr:xr-xml-map "snmp_cfg:User";
- xr:xr-cli-map "user <string> <string> [remote <IPv4"+
- "/IPv6 address> [udp-port <number>]] (v1)|(v2c)|(v3 [auth"+
- " (md5)|(sha) ([0] <string>)|(clear)|((7)|(encrypted) <st"+
- "ring>)|(<string>) [priv (des56)|(3des)|(aes (128)|(192)|"+
- "(256)) ([0] <string>)|(clear)|((7)|(encrypted) <string>)"+
- "|(<string>)]])] [IPv4 <string> [IPv6 <string>]|IPv6 <str"+
- "ing> [IPv4 <string>]|<string>] [SDROwner|LROwner|SystemO"+
- "wner] ";
- key "user-name";
- description "Name of the user";
- leaf user-name {
- xr:xr-xml-map "snmp_cfg:UserName";
- type string;
- description "Name of the user";
- }
- leaf group-name {
- xr:xr-xml-map "snmp_cfg:GroupName";
- type string;
- mandatory true;
- description "Group to which the user belongs";
- }
- leaf version {
- xr:xr-xml-map "snmp_cfg:Version";
- type User-snmp-version;
- mandatory true;
- description "SNMP version to be used. v1,v2c or v3";
- }
- leaf authentication-password-configured {
- xr:xr-xml-map "snmp_cfg:AuthenticationPasswordConfigured";
- type empty;
- description
- "Flag to indicate that authentication password
- is configred for version 3";
- }
- leaf algorithm {
- xr:xr-xml-map "snmp_cfg:Algorithm";
- type Snmp-hash-algorithm;
- description "The algorithm used md5 or sha";
- }
- leaf authentication-password {
- xr:xr-xml-map "snmp_cfg:AuthenticationPassword";
- type xr:Proprietary-password;
- description "The authentication password";
- }
- leaf privacy-password-configured {
- xr:xr-xml-map "snmp_cfg:PrivacyPasswordConfigured";
- type empty;
- description
- "Flag to indicate that the privacy password is
- configured for version 3";
- }
- leaf priv-algorithm {
- xr:xr-xml-map "snmp_cfg:Priv_Algorithm";
- type Snmp-priv-algorithm;
- description
- "The algorithm used des56 or aes128 or aes192or
- aes256 or 3des";
- }
- leaf privacy-password {
- xr:xr-xml-map "snmp_cfg:PrivacyPassword";
- type xr:Proprietary-password;
- description "The privacy password";
- }
- leaf v4acl-type {
- xr:xr-xml-map "snmp_cfg:V4ACLType";
- type Snmpacl;
- description "Access-list type";
- }
- leaf v4-access-list {
- xr:xr-xml-map "snmp_cfg:V4AccessList";
- type string;
- description "Ipv4 Access-list name";
- }
- leaf v6acl-type {
- xr:xr-xml-map "snmp_cfg:V6ACLType";
- type Snmpacl;
- description "Access-list type";
- }
- leaf v6-access-list {
- xr:xr-xml-map "snmp_cfg:V6AccessList";
- type string;
- description "Ipv6 Access-list name";
- }
- leaf owner {
- xr:xr-xml-map "snmp_cfg:Owner";
- type Snmp-owner-access;
- description
- "The system access either SDROwner or
- SystemOwner";
- }
- leaf remote-address {
- xr:xr-xml-map "snmp_cfg:RemoteAddress";
- type inet:ip-address-no-zone;
- description "IP address of remote SNMP entity";
- }
- leaf port {
- xr:xr-xml-map "snmp_cfg:Port";
- type xr:Cisco-ios-xr-port-number;
- description "UDP port number";
- }
- }
- }
-
- container vrfs {
- xr:xr-xml-map "snmp_cfg:VRFTable";
- description "SNMP VRF configuration commands";
-
- list vrf {
- xr:xr-xml-map "snmp_cfg:VRF";
- key "name";
- description "VRF name";
- leaf name {
- xr:xr-xml-map "snmp_cfg:Name";
- type xr:Cisco-ios-xr-string;
- description "VRF name";
- }
- uses TRAP-HOST-TABLE;
- uses CONTEXT-TABLE;
- uses CONTEXT-MAPPING-TABLE;
- }
- }
-
- container groups {
- xr:xr-xml-map "snmp_cfg:GroupTable";
- description "Define a User Security Model group";
-
- list group {
- xr:xr-xml-map "snmp_cfg:Group";
- xr:xr-cli-map "group <string> <enum> [notify <string>|read "+
- "<string>|write <string>|context <string>] [IPv4 <string>"+
- " [IPv6 <string>]|IPv6 <string> [IPv4 <string>]|<string>]"+
- " ";
- key "name";
- description "Name of the group";
- leaf name {
- xr:xr-xml-map "snmp_cfg:Name";
- type xr:Cisco-ios-xr-string {
- length "0..128";
- }
- description "Name of the group";
- }
- leaf snmp-version {
- xr:xr-xml-map "snmp_cfg:SNMPVersion";
- type Group-snmp-version;
- mandatory true;
- description "snmp version";
- }
- leaf security-model {
- xr:xr-xml-map "snmp_cfg:SecurityModel";
- type Snmp-security-model;
- description
- "security model like auth/noAuth/Priv
- applicable for v3";
- }
- leaf notify-view {
- xr:xr-xml-map "snmp_cfg:NotifyView";
- type string;
- description "notify view name";
- }
- leaf read-view {
- xr:xr-xml-map "snmp_cfg:ReadView";
- type string;
- description "read view name";
- }
- leaf write-view {
- xr:xr-xml-map "snmp_cfg:WriteView";
- type string;
- description "write view name";
- }
- leaf v4acl-type {
- xr:xr-xml-map "snmp_cfg:V4ACLType";
- type Snmpacl;
- description "Access-list type";
- }
- leaf v4-access-list {
- xr:xr-xml-map "snmp_cfg:V4AccessList";
- type string;
- description "Ipv4 Access-list name";
- }
- leaf v6acl-type {
- xr:xr-xml-map "snmp_cfg:V6ACLType";
- type Snmpacl;
- description "Access-list type";
- }
- leaf v6-access-list {
- xr:xr-xml-map "snmp_cfg:V6AccessList";
- type string;
- description "Ipv6 Access-list name";
- }
- leaf context-name {
- xr:xr-xml-map "snmp_cfg:ContextName";
- type string;
- description "Context name";
- }
- }
- }
- leaf inform-retries {
- xr:xr-xml-map "snmp_cfg:InformRetries";
- xr:xr-cli-map "inform retries <number> ";
- type uint32 {
- range "0..100";
- }
- description
- "Number of times to retry an Inform request
- (default 3)";
- }
- leaf trap-port {
- xr:xr-xml-map "snmp_cfg:TrapPort";
- xr:xr-cli-map "port <number> ";
- type uint32 {
- range "1024..65535";
- }
- description "Change the source port of all traps";
- }
- leaf oid-poll-stats {
- xr:xr-xml-map "snmp_cfg:OIDPollStats";
- xr:xr-cli-map "oid-poll-stats ";
- type empty;
- description "Enable Poll OID statistics";
- }
- leaf trap-source {
- xr:xr-xml-map "snmp_cfg:TrapSource";
- type xr:Interface-name;
- description
- "Assign an interface for the source address of
- all traps";
- }
- leaf vrf-authentication-trap-disable {
- xr:xr-xml-map "snmp_cfg:VRFAuthenticationTrapDisable";
- xr:xr-cli-map "authentication vrf disable ";
- type empty;
- description
- "Disable authentication traps for packets on a
- vrf";
- }
- leaf inform-timeout {
- xr:xr-xml-map "snmp_cfg:InformTimeout";
- xr:xr-cli-map "inform timeout <number> ";
- type uint32 {
- range "1..42949671";
- }
- units "second";
- description
- "Timeout value in seconds for Inform request
- (default 15 sec)";
- }
- leaf trap-source-ipv6 {
- xr:xr-xml-map "snmp_cfg:TrapSource_IPV6";
- type xr:Interface-name;
- description
- "Assign an interface for the source IPV6 address
- of all traps";
- }
- leaf packet-size {
- xr:xr-xml-map "snmp_cfg:PacketSize";
- xr:xr-cli-map "packetsize <number> ";
- type uint32 {
- range "484..65500";
- }
- description "Largest SNMP packet size";
- }
- leaf throttle-time {
- xr:xr-xml-map "snmp_cfg:ThrottleTime";
- xr:xr-cli-map "throttle-time <number> ";
- type uint32 {
- range "50..1000";
- }
- description
- "Throttle time for incoming queue (default 0
- msec)";
- }
- leaf inform-pending {
- xr:xr-xml-map "snmp_cfg:InformPending";
- xr:xr-cli-map "inform pending <number> ";
- type uint32 {
- range "0..4294967295";
- }
- description
- "Max nmber of informs to hold in queue, (default
- 25)";
- }
- uses TRAP-HOST-TABLE;
- uses CONTEXT-TABLE;
- uses CONTEXT-MAPPING-TABLE;
- }
-
- container mib {
- xr:xr-xml-map "snmp_cfg:MIB";
- description "mib";
- }
-}
\ No newline at end of file
--- /dev/null
+module Cisco-IOS-XR-snmp-agent-cfg {
+ namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-agent-cfg";
+ prefix snmp-agent-cfg;
+
+ import ietf-inet-types {
+ prefix inet;
+ }
+ import Cisco-IOS-XR-types {
+ prefix xr;
+ }
+
+ organization
+ "Cisco Systems, Inc.";
+ contact
+ "Cisco Systems, Inc.
+ Customer Service
+
+ Postal: 170 West Tasman Drive
+ San Jose, CA 95134
+
+ Tel: +1 800 553-NETS
+
+ E-mail: cs-yang@cisco.com";
+ description
+ "This module contains a collection of YANG definitions
+ for Cisco IOS-XR snmp-agent package configuration.
+
+ This module contains definitions
+ for the following management objects:
+ snmp: The heirarchy point for all the SNMP configurations
+ mib: mib
+
+ Copyright (c) 2013-2017 by Cisco Systems, Inc.
+ All rights reserved.";
+
+ revision 2017-12-20 {
+ description
+ "Removed nonstateful class from correlator config";
+ }
+ revision 2017-10-15 {
+ description
+ "Removed presence statement generated from internal CLI data.";
+ }
+ revision 2017-09-07 {
+ description
+ "Fixed type translation error.";
+ }
+ revision 2017-05-01 {
+ description
+ "Fixing backward compatibility error in module.";
+ }
+ revision 2015-10-27 {
+ description
+ "IOS XR 5.3.2 revision.";
+ }
+ revision 2015-01-07 {
+ description
+ "IOS XR 5.3.1 revision.";
+ }
+
+ typedef Snmp-tos {
+ type enumeration {
+ enum "precedence" {
+ value 0;
+ description
+ "SNMP TOS type Precedence";
+ }
+ enum "dscp" {
+ value 1;
+ description
+ "SNMP TOS type DSCP";
+ }
+ }
+ description
+ "Snmp tos";
+ }
+
+ typedef Snmp-hash-algorithm {
+ type enumeration {
+ enum "none" {
+ value 0;
+ description
+ "No authentication required";
+ }
+ enum "md5" {
+ value 1;
+ description
+ "Standard Message Digest algorithm";
+ }
+ enum "sha" {
+ value 2;
+ description
+ "SHA algorithm";
+ }
+ }
+ description
+ "Snmp hash algorithm";
+ }
+
+ typedef Snmp-priv-algorithm {
+ type enumeration {
+ enum "none" {
+ value 0;
+ description
+ "No Privacy";
+ }
+ enum "des" {
+ value 1;
+ description
+ "Des algorithm";
+ }
+ enum "3des" {
+ value 2;
+ description
+ "3des algorithm";
+ }
+ enum "aes128" {
+ value 3;
+ description
+ "aes128 algorithm";
+ }
+ enum "aes192" {
+ value 4;
+ description
+ "aes192 algorithm";
+ }
+ enum "aes256" {
+ value 5;
+ description
+ "aes256 algorithm";
+ }
+ }
+ description
+ "Snmp priv algorithm";
+ }
+
+ typedef Snmp-owner-access {
+ type enumeration {
+ enum "sdr-owner" {
+ value 0;
+ description
+ "Secure Domain Router Owner permissions";
+ }
+ enum "system-owner" {
+ value 1;
+ description
+ "System owner permissions";
+ }
+ }
+ description
+ "Snmp owner access";
+ }
+
+ typedef Snmp-bulkstat-schema {
+ type enumeration {
+ enum "exact-interface" {
+ value 1;
+ description
+ "Exact Interface";
+ }
+ enum "exact-oid" {
+ value 2;
+ description
+ "Exact OID";
+ }
+ enum "wild-interface" {
+ value 3;
+ description
+ "Wild Interface";
+ }
+ enum "wild-oid" {
+ value 4;
+ description
+ "Wild OID";
+ }
+ enum "range-oid" {
+ value 5;
+ description
+ "Range of OID";
+ }
+ enum "repeat-oid" {
+ value 6;
+ description
+ "Repeated the instance";
+ }
+ }
+ description
+ "Snmp bulkstat schema";
+ }
+
+ typedef Snmpacl {
+ type enumeration {
+ enum "ipv4" {
+ value 1;
+ description
+ "Ipv4 Access-list";
+ }
+ enum "ipv6" {
+ value 2;
+ description
+ "Ipv6 Access-list";
+ }
+ }
+ description
+ "Snmpacl";
+ }
+
+ typedef Snmp-dscp-value {
+ type union {
+ type enumeration {
+ enum "default" {
+ value 0;
+ description
+ "Applicable to DSCP: bits 000000";
+ }
+ enum "af11" {
+ value 10;
+ description
+ "Applicable to DSCP: bits 001010";
+ }
+ enum "af12" {
+ value 12;
+ description
+ "Applicable to DSCP: bits 001100";
+ }
+ enum "af13" {
+ value 14;
+ description
+ "Applicable to DSCP: bits 001110";
+ }
+ enum "af21" {
+ value 18;
+ description
+ "Applicable to DSCP: bits 010010";
+ }
+ enum "af22" {
+ value 20;
+ description
+ "Applicable to DSCP: bits 010100";
+ }
+ enum "af23" {
+ value 22;
+ description
+ "Applicable to DSCP: bits 010110";
+ }
+ enum "af31" {
+ value 26;
+ description
+ "Applicable to DSCP: bits 011010";
+ }
+ enum "af32" {
+ value 28;
+ description
+ "Applicable to DSCP: bits 011100";
+ }
+ enum "af33" {
+ value 30;
+ description
+ "Applicable to DSCP: bits 011110";
+ }
+ enum "af41" {
+ value 34;
+ description
+ "Applicable to DSCP: bits 100010";
+ }
+ enum "af42" {
+ value 36;
+ description
+ "Applicable to DSCP: bits 100100";
+ }
+ enum "af43" {
+ value 38;
+ description
+ "Applicable to DSCP: bits 100110";
+ }
+ enum "ef" {
+ value 46;
+ description
+ "Applicable to DSCP: bits 101110";
+ }
+ enum "cs1" {
+ value 8;
+ description
+ "Applicable to DSCP: bits 001000";
+ }
+ enum "cs2" {
+ value 16;
+ description
+ "Applicable to DSCP: bits 010000";
+ }
+ enum "cs3" {
+ value 24;
+ description
+ "Applicable to DSCP: bits 011000";
+ }
+ enum "cs4" {
+ value 32;
+ description
+ "Applicable to DSCP: bits 100000";
+ }
+ enum "cs5" {
+ value 40;
+ description
+ "Applicable to DSCP: bits 101000";
+ }
+ enum "cs6" {
+ value 48;
+ description
+ "Applicable to DSCP: bits 110000";
+ }
+ enum "cs7" {
+ value 56;
+ description
+ "Applicable to DSCP: bits 111000";
+ }
+ }
+ type uint32 {
+ range "0..63";
+ }
+ }
+ description
+ "Snmp dscp value";
+ }
+
+ typedef Snmp-precedence-value1 {
+ type union {
+ type enumeration {
+ enum "routine" {
+ value 0;
+ description
+ "Applicable to Precedence: value 0";
+ }
+ enum "priority" {
+ value 1;
+ description
+ "Applicable to Precedence: value 1";
+ }
+ enum "immediate" {
+ value 2;
+ description
+ "Applicable to Precedence: value 2";
+ }
+ enum "flash" {
+ value 3;
+ description
+ "Applicable to Precedence: value 3";
+ }
+ enum "flash-override" {
+ value 4;
+ description
+ "Applicable to Precedence: value 4";
+ }
+ enum "critical" {
+ value 5;
+ description
+ "Applicable to Precedence: value 5";
+ }
+ enum "internet" {
+ value 6;
+ description
+ "Applicable to Precedence: value 6";
+ }
+ enum "network" {
+ value 7;
+ description
+ "Applicable to Precedence: value 7";
+ }
+ }
+ type uint32 {
+ range "0..7";
+ }
+ }
+ description
+ "Snmp precedence value1";
+ }
+
+ typedef Snmp-security-model {
+ type enumeration {
+ enum "no-authentication" {
+ value 0;
+ description
+ "No Authentication required";
+ }
+ enum "authentication" {
+ value 1;
+ description
+ "Authentication password alone required for
+ access";
+ }
+ enum "privacy" {
+ value 2;
+ description
+ "Authentication and privacy password required
+ for access";
+ }
+ }
+ description
+ "Snmp security model";
+ }
+
+ typedef Snmp-mib-view-inclusion {
+ type enumeration {
+ enum "included" {
+ value 1;
+ description
+ "MIB View to be included";
+ }
+ enum "excluded" {
+ value 2;
+ description
+ "MIB View to be excluded";
+ }
+ }
+ description
+ "Snmp mib view inclusion";
+ }
+
+ typedef Snmp-bulkstat-file-format {
+ type enumeration {
+ enum "schema-ascii" {
+ value 1;
+ description
+ "Tranfer file in schema Ascii format";
+ }
+ enum "bulk-ascii" {
+ value 2;
+ description
+ "Tranfer file in Bulk Ascii format";
+ }
+ enum "bulk-binary" {
+ value 3;
+ description
+ "Tranfer file in Bulk binary format";
+ }
+ }
+ description
+ "Snmp bulkstat file format";
+ }
+
+ typedef Snmp-access-level {
+ type enumeration {
+ enum "read-only" {
+ value 0;
+ description
+ "Read Only Access for a community string";
+ }
+ enum "read-write" {
+ value 1;
+ description
+ "Read Write Access for a community string";
+ }
+ }
+ description
+ "Snmp access level";
+ }
+
+ typedef Snmp-context {
+ type enumeration {
+ enum "vrf" {
+ value 1;
+ description
+ "VRF feature";
+ }
+ enum "bridge" {
+ value 4;
+ description
+ "BRIDGE feature";
+ }
+ enum "ospf" {
+ value 5;
+ description
+ "OSPF feature";
+ }
+ enum "ospfv3" {
+ value 6;
+ description
+ "OSPFv3 feature";
+ }
+ }
+ description
+ "Snmp context";
+ }
+
+ typedef Group-snmp-version {
+ type enumeration {
+ enum "v1" {
+ value 0;
+ description
+ "SNMP version 1";
+ }
+ enum "v2c" {
+ value 1;
+ description
+ "SNMP version 2";
+ }
+ enum "v3" {
+ value 2;
+ description
+ "SNMP version 3";
+ }
+ }
+ description
+ "Group snmp version";
+ }
+
+ typedef User-snmp-version {
+ type enumeration {
+ enum "v1" {
+ value 1;
+ description
+ "SNMP version 1";
+ }
+ enum "v2c" {
+ value 2;
+ description
+ "SNMP version 2";
+ }
+ enum "v3" {
+ value 3;
+ description
+ "SNMP version 3";
+ }
+ }
+ description
+ "User snmp version";
+ }
+
+ grouping APPLIED-TO {
+ description
+ "Common node of rule, rule-set";
+ container applied-to {
+ description
+ "Applied to the Rule or Ruleset";
+ container hosts {
+ description
+ "Table of configured hosts to apply rules to";
+ list host {
+ key "ip-address port";
+ description
+ "A destination host";
+ leaf ip-address {
+ type inet:ip-address-no-zone;
+ description
+ "IP address";
+ }
+ leaf port {
+ type xr:Cisco-ios-xr-port-number;
+ description
+ "Port (specify 162 for default)";
+ }
+ }
+ }
+ leaf all {
+ type empty;
+ description
+ "Apply to all of the device";
+ }
+ }
+ }
+
+ grouping CONTEXT-TABLE {
+ description
+ "Common node of snmp, vrf";
+ container contexts {
+ description
+ "List of Context Names";
+ list context {
+ key "context-name";
+ description
+ "Context Name";
+ leaf context-name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "Context Name";
+ }
+ }
+ }
+ }
+
+ grouping VAR-BIND-TABLE {
+ description
+ "Common node of root-cause, non-root-cause";
+ container var-binds {
+ description
+ "Varbinds to match";
+ list var-bind {
+ key "oid";
+ description
+ "Varbind match conditions";
+ container match {
+ description
+ "VarBind match conditions";
+ leaf value {
+ type string;
+ description
+ "Regular Expression to match value";
+ }
+ leaf index {
+ type string;
+ description
+ "Regular Expression to match index";
+ }
+ }
+ leaf oid {
+ type string;
+ description
+ "OID of varbind (dotted decimal)";
+ }
+ }
+ }
+ }
+
+ grouping TRAP-HOST-TABLE {
+ description
+ "Common node of snmp, vrf";
+ container trap-hosts {
+ description
+ "Specify hosts to receive SNMP notifications";
+ list trap-host {
+ key "ip-address";
+ description
+ "Specify hosts to receive SNMP notifications";
+ container encrypted-user-communities {
+ description
+ "Container class for defining Clear/encrypt
+ communities for a trap host";
+ list encrypted-user-community {
+ key "community-name";
+ description
+ "Clear/Encrypt Community name associated with
+ a trap host";
+ leaf community-name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "SNMPv1/v2c community string or SNMPv3 user";
+ }
+ leaf port {
+ type xr:Cisco-ios-xr-port-number;
+ description
+ "UDP port number";
+ }
+ leaf version {
+ type string;
+ mandatory true;
+ description
+ "SNMP Version to be used v1/v2c/v3";
+ }
+ leaf security-level {
+ type Snmp-security-model;
+ description
+ "Security level to be used noauth/auth/priv";
+ }
+ leaf basic-trap-types {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setBasicTrapTypes is used for
+ all traps except copy-completeSet this value
+ to an integer corresponding to the trapBGP
+ 8192, CONFIG 4096,SYSLOG 131072,SNMP_TRAP
+ 1COPY_COMPLETE_TRAP 64To provide a
+ combination of trap Add the respective
+ numbersValue must be set to 0 for all traps";
+ }
+ leaf advanced-trap-types1 {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setUse this for providing
+ copy-complete trapValue must be set to 0 if
+ not used";
+ }
+ leaf advanced-trap-types2 {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setvalue should always to set as
+ 0";
+ }
+ }
+ }
+ container inform-host {
+ description
+ "Container class for defining notification type
+ for a Inform host";
+ container inform-user-communities {
+ description
+ "Container class for defining communities for
+ a inform host";
+ list inform-user-community {
+ key "community-name";
+ description
+ "Unencrpted Community name associated with a
+ inform host";
+ leaf community-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..128";
+ }
+ description
+ "SNMPv2c community string or SNMPv3 user";
+ }
+ leaf port {
+ type xr:Cisco-ios-xr-port-number;
+ description
+ "UDP port number";
+ }
+ leaf version {
+ type string;
+ mandatory true;
+ description
+ "SNMP Version to be used v2c/v3";
+ }
+ leaf security-level {
+ type Snmp-security-model;
+ description
+ "Security level to be used noauth/auth/priv";
+ }
+ leaf basic-trap-types {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setBasicTrapTypes is used for
+ all traps except copy-completeSet this
+ value to an integer corresponding to the
+ trapBGP 8192, CONFIG 4096,SYSLOG 131072
+ ,SNMP_TRAP 1COPY_COMPLETE_TRAP 64To provide
+ a combination of trap Add the respective
+ numbersValue must be set to 0 for all traps";
+ }
+ leaf advanced-trap-types1 {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setUse this for providing
+ copy-complete trapValue must be set to 0 if
+ not used";
+ }
+ leaf advanced-trap-types2 {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setvalue should always to set
+ as 0";
+ }
+ }
+ }
+ container inform-encrypted-user-communities {
+ description
+ "Container class for defining Clear/encrypt
+ communities for a inform host";
+ list inform-encrypted-user-community {
+ key "community-name";
+ description
+ "Clear/Encrypt Community name associated with
+ a inform host";
+ leaf community-name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "SNMPv2c community string or SNMPv3 user";
+ }
+ leaf port {
+ type xr:Cisco-ios-xr-port-number;
+ description
+ "UDP port number";
+ }
+ leaf version {
+ type string;
+ mandatory true;
+ description
+ "SNMP Version to be used v2c/v3";
+ }
+ leaf security-level {
+ type Snmp-security-model;
+ description
+ "Security level to be used noauth/auth/priv";
+ }
+ leaf basic-trap-types {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setBasicTrapTypes is used for
+ all traps except copy-completeSet this
+ value to an integer corresponding to the
+ trapBGP 8192, CONFIG 4096,SYSLOG 131072
+ ,SNMP_TRAP 1COPY_COMPLETE_TRAP 64To provide
+ a combination of trap Add the respective
+ numbersValue must be set to 0 for all traps";
+ }
+ leaf advanced-trap-types1 {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setUse this for providing
+ copy-complete trapValue must be set to 0 if
+ not used";
+ }
+ leaf advanced-trap-types2 {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setvalue should always to set
+ as 0";
+ }
+ }
+ }
+ }
+ container default-user-communities {
+ description
+ "Container class for defining communities for a
+ trap host";
+ list default-user-community {
+ key "community-name";
+ description
+ "Unencrpted Community name associated with a
+ trap host";
+ leaf community-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..128";
+ }
+ description
+ "SNMPv1/v2c community string or SNMPv3 user";
+ }
+ leaf port {
+ type xr:Cisco-ios-xr-port-number;
+ description
+ "UDP port number";
+ }
+ leaf version {
+ type string;
+ mandatory true;
+ description
+ "SNMP Version to be used v1/v2c/v3";
+ }
+ leaf security-level {
+ type Snmp-security-model;
+ description
+ "Security level to be used noauth/auth/priv";
+ }
+ leaf basic-trap-types {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setBasicTrapTypes is used for
+ all traps except copy-completeSet this value
+ to an integer corresponding to the trapBGP
+ 8192, CONFIG 4096,SYSLOG 131072,SNMP_TRAP
+ 1COPY_COMPLETE_TRAP 64To provide a
+ combination of trap Add the respective
+ numbersValue must be set to 0 for all traps";
+ }
+ leaf advanced-trap-types1 {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setUse this for providing
+ copy-complete trapValue must be set to 0 if
+ not used";
+ }
+ leaf advanced-trap-types2 {
+ type uint32;
+ mandatory true;
+ description
+ "Number to signify the feature traps that
+ needs to be setvalue should always to set as
+ 0";
+ }
+ }
+ }
+ leaf ip-address {
+ type inet:ip-address-no-zone;
+ description
+ "IP address of SNMP notification host";
+ }
+ }
+ }
+ }
+
+ grouping CONTEXT-MAPPING-TABLE {
+ description
+ "Common node of snmp, vrf";
+ container context-mappings {
+ description
+ "List of context names";
+ list context-mapping {
+ key "context-mapping-name";
+ description
+ "Context mapping name";
+ leaf context-mapping-name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "Context mapping name";
+ }
+ leaf context {
+ type Snmp-context;
+ description
+ "SNMP context feature type";
+ }
+ leaf instance-name {
+ type string;
+ description
+ "OSPF protocol instance";
+ }
+ leaf vrf-name {
+ type string;
+ description
+ "VRF name associated with the context";
+ }
+ leaf topology-name {
+ type string;
+ description
+ "Topology name associated with the context";
+ }
+ }
+ }
+ }
+
+ container snmp {
+ description
+ "The heirarchy point for all the SNMP
+ configurations";
+ container encrypted-community-maps {
+ description
+ "Container class to hold clear/encrypted
+ communitie maps";
+ list encrypted-community-map {
+ key "community-name";
+ description
+ "Clear/encrypted SNMP community map";
+ leaf community-name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "SNMP community map";
+ }
+ leaf context {
+ type string;
+ description
+ "SNMP Context Name ";
+ }
+ leaf security {
+ type string;
+ description
+ "SNMP Security Name ";
+ }
+ leaf target-list {
+ type string;
+ description
+ "target list name ";
+ }
+ }
+ }
+ container views {
+ description
+ "Class to configure a SNMPv2 MIB view";
+ list view {
+ key "view-name family";
+ description
+ "Name of the view";
+ leaf view-name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "Name of the view";
+ }
+ leaf family {
+ type string;
+ description
+ "MIB view family name";
+ }
+ leaf view-inclusion {
+ type Snmp-mib-view-inclusion;
+ mandatory true;
+ description
+ "MIB view to be included or excluded";
+ }
+ }
+ }
+ container logging {
+ description
+ "SNMP logging";
+ container threshold {
+ description
+ "SNMP logging threshold";
+ leaf oid-processing {
+ type uint32 {
+ range "0..20000";
+ }
+ default "500";
+ description
+ "SNMP logging threshold for OID processing";
+ }
+ leaf pdu-processing {
+ type uint32 {
+ range "0..20000";
+ }
+ default "20000";
+ description
+ "SNMP logging threshold for PDU processing";
+ }
+ }
+ }
+ container administration {
+ description
+ "Container class for SNMP administration";
+ container default-communities {
+ description
+ "Container class to hold unencrpted communities";
+ list default-community {
+ key "community-name";
+ description
+ "Unencrpted SNMP community string and access
+ priviledges";
+ leaf community-name {
+ type string {
+ length "1..128";
+ }
+ description
+ "SNMP community string";
+ }
+ leaf priviledge {
+ type Snmp-access-level;
+ description
+ "Read/Write Access";
+ }
+ leaf view-name {
+ type string;
+ description
+ "MIB view to which the community has access";
+ }
+ leaf v4acl-type {
+ type Snmpacl;
+ description
+ "Access-list type";
+ }
+ leaf v4-access-list {
+ type string;
+ description
+ "Ipv4 Access-list name";
+ }
+ leaf v6acl-type {
+ type Snmpacl;
+ description
+ "Access-list type";
+ }
+ leaf v6-access-list {
+ type string;
+ description
+ "Ipv6 Access-list name";
+ }
+ leaf owner {
+ type Snmp-owner-access;
+ description
+ "Logical Router or System owner access";
+ }
+ }
+ }
+ container encrypted-communities {
+ description
+ "Container class to hold clear/encrypted
+ communities";
+ list encrypted-community {
+ key "community-name";
+ description
+ "Clear/encrypted SNMP community string and
+ access priviledges";
+ leaf community-name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "SNMP community string";
+ }
+ leaf priviledge {
+ type Snmp-access-level;
+ description
+ "Read/Write Access";
+ }
+ leaf view-name {
+ type string;
+ description
+ "MIB view to which the community has access";
+ }
+ leaf v4acl-type {
+ type Snmpacl;
+ description
+ "Access-list type";
+ }
+ leaf v4-access-list {
+ type string;
+ description
+ "Ipv4 Access-list name";
+ }
+ leaf v6acl-type {
+ type Snmpacl;
+ description
+ "Access-list type";
+ }
+ leaf v6-access-list {
+ type string;
+ description
+ "Ipv6 Access-list name";
+ }
+ leaf owner {
+ type Snmp-owner-access;
+ description
+ "Logical Router or System owner access";
+ }
+ }
+ }
+ }
+ container agent {
+ description
+ "The heirarchy point for SNMP Agent
+ configurations";
+ container engine-id {
+ description
+ "SNMPv3 engineID";
+ container remotes {
+ description
+ "SNMPv3 remote SNMP Entity";
+ list remote {
+ key "remote-address";
+ description
+ "engineID of the remote agent";
+ leaf remote-address {
+ type inet:ip-address-no-zone;
+ description
+ "IP address of remote SNMP entity";
+ }
+ leaf remote-engine-id {
+ type string;
+ description
+ "engine ID octet string";
+ }
+ leaf port {
+ type xr:Cisco-ios-xr-port-number;
+ description
+ "UDP port number";
+ }
+ }
+ }
+ leaf local {
+ type string;
+ description
+ "engineID of the local agent";
+ }
+ }
+ }
+ container trap {
+ description
+ "Class to hold trap configurations";
+ leaf timeout {
+ type uint32 {
+ range "1..1000";
+ }
+ description
+ "Timeout for TRAP message retransmissions";
+ }
+ leaf throttle-time {
+ type uint32 {
+ range "10..500";
+ }
+ units "millisecond";
+ description
+ "Set throttle time for handling traps";
+ }
+ leaf queue-length {
+ type uint32 {
+ range "1..5000";
+ }
+ description
+ "Message queue length for each TRAP host";
+ }
+ }
+ container drop-packet {
+ description
+ "SNMP packet drop config";
+ leaf unknown-user {
+ type empty;
+ description
+ "Enable drop unknown user name";
+ }
+ }
+ container ipv6 {
+ description
+ "SNMP TOS bit for outgoing packets";
+ container tos {
+ description
+ "Type of TOS";
+ leaf type {
+ type Snmp-tos;
+ description
+ "SNMP TOS type DSCP or Precedence";
+ }
+ leaf precedence {
+ when "../type = 'precedence'" {
+ description
+ "../Type = Precedence";
+ }
+ type Snmp-precedence-value1;
+ description
+ "SNMP Precedence value";
+ }
+ leaf dscp {
+ when "../type = 'dscp'" {
+ description
+ "../Type = DSCP";
+ }
+ type Snmp-dscp-value;
+ description
+ "SNMP DSCP value";
+ }
+ }
+ }
+ container ipv4 {
+ description
+ "SNMP TOS bit for outgoing packets";
+ container tos {
+ description
+ "Type of TOS";
+ leaf type {
+ type Snmp-tos;
+ description
+ "SNMP TOS type DSCP or Precedence";
+ }
+ leaf precedence {
+ when "../type = 'precedence'" {
+ description
+ "../Type = Precedence";
+ }
+ type Snmp-precedence-value1;
+ description
+ "SNMP Precedence value";
+ }
+ leaf dscp {
+ when "../type = 'dscp'" {
+ description
+ "../Type = DSCP";
+ }
+ type Snmp-dscp-value;
+ description
+ "SNMP DSCP value";
+ }
+ }
+ }
+ container system {
+ description
+ "container to hold system information";
+ leaf chassis-id {
+ type string {
+ length "1..255";
+ }
+ description
+ "String to uniquely identify this chassis";
+ }
+ leaf location {
+ type string {
+ length "1..255";
+ }
+ description
+ "The physical location of this node";
+ }
+ leaf contact {
+ type string {
+ length "1..255";
+ }
+ description
+ "identification of the contact person for this
+ managed node";
+ }
+ }
+ container target {
+ description
+ "SNMP target configurations";
+ container targets {
+ description
+ "List of targets";
+ list target {
+ key "target-list-name";
+ description
+ "Name of the target list";
+ container vrf-names {
+ description
+ "List of VRF Name for a target list";
+ list vrf-name {
+ key "name";
+ description
+ "VRF name of the target";
+ leaf name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "VRF Name";
+ }
+ }
+ }
+ container target-addresses {
+ description
+ "SNMP Target address configurations";
+ list target-address {
+ key "ip-address";
+ description
+ "IP Address to be configured for the Target";
+ leaf ip-address {
+ type inet:ip-address-no-zone;
+ description
+ "IPv4/Ipv6 address";
+ }
+ }
+ }
+ leaf target-list-name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "Name of the target list";
+ }
+ }
+ }
+ }
+ container notification {
+ description
+ "Enable SNMP notifications";
+ container snmp {
+ description
+ "SNMP notification configuration";
+ leaf authentication {
+ type empty;
+ description
+ "Enable authentication notification";
+ }
+ leaf cold-start {
+ type empty;
+ description
+ "Enable cold start notification";
+ }
+ leaf warm-start {
+ type empty;
+ description
+ "Enable warm start notification";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Enable SNMP notifications";
+ }
+ }
+ }
+ container correlator {
+ description
+ "Configure properties of the trap correlator";
+ container rules {
+ description
+ "Table of configured rules";
+ list rule {
+ key "name";
+ description
+ "Rule name";
+ container root-causes {
+ description
+ "Table of configured rootcause (only one entry
+ allowed)";
+ list root-cause {
+ key "oid";
+ description
+ "The rootcause - maximum of one can be
+ configured per rule";
+ leaf created {
+ type empty;
+ description
+ "Create rootcause";
+ }
+ leaf oid {
+ type string;
+ description
+ "OID of rootcause trap (dotted decimal)";
+ }
+ uses VAR-BIND-TABLE;
+ }
+ }
+ container non-root-causes {
+ description
+ "Table of configured non-rootcause";
+ list non-root-cause {
+ key "oid";
+ description
+ "A non-rootcause";
+ leaf created {
+ type empty;
+ description
+ "Create nonrootcause";
+ }
+ leaf oid {
+ type string;
+ description
+ "OID of nonrootcause trap (dotted decimal)";
+ }
+ uses VAR-BIND-TABLE;
+ }
+ }
+ leaf timeout {
+ type uint32 {
+ range "1..600000";
+ }
+ units "millisecond";
+ description
+ "Timeout (time to wait for active correlation)
+ in milliseconds";
+ }
+ leaf name {
+ type string {
+ length "1..32";
+ }
+ description
+ "Rule name";
+ }
+ uses APPLIED-TO;
+ }
+ }
+ container rule-sets {
+ description
+ "Table of configured rulesets";
+ list rule-set {
+ key "name";
+ description
+ "Ruleset name";
+ container rulenames {
+ description
+ "Table of configured rulenames";
+ list rulename {
+ key "rulename";
+ description
+ "A rulename";
+ leaf rulename {
+ type string {
+ length "1..32";
+ }
+ description
+ "Rule name";
+ }
+ }
+ }
+ leaf name {
+ type string {
+ length "1..32";
+ }
+ description
+ "Ruleset name";
+ }
+ uses APPLIED-TO;
+ }
+ }
+ leaf buffer-size {
+ type uint32 {
+ range "1024..52428800";
+ }
+ description
+ "Configure size of the correlator buffer";
+ }
+ }
+ container bulk-stats {
+ description
+ "SNMP bulk stats configuration commands";
+ container schemas {
+ description
+ "Configure schema definition";
+ list schema {
+ key "schema-name";
+ description
+ "The name of the Schema";
+ container instance {
+ presence "Indicates a instance node is configured.";
+ description
+ "Object instance information";
+ leaf type {
+ type Snmp-bulkstat-schema;
+ mandatory true;
+ description
+ "Type of the instance";
+ }
+ leaf instance {
+ type xr:Interface-name;
+ description
+ "Instance of the schema";
+ }
+ leaf start {
+ type string;
+ mandatory true;
+ description
+ "Start Instance OID for repetition";
+ }
+ leaf end {
+ type string;
+ mandatory true;
+ description
+ "End Instance OID for repetition";
+ }
+ leaf max {
+ type uint32;
+ mandatory true;
+ description
+ "Max value of Instance repetition";
+ }
+ leaf sub-interface {
+ type boolean;
+ mandatory true;
+ description
+ "Include all the subinterface";
+ }
+ }
+ leaf type {
+ type empty;
+ description
+ "Configure schema name";
+ }
+ leaf schema-object-list {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of an object List";
+ }
+ leaf poll-interval {
+ type uint32 {
+ range "1..20000";
+ }
+ units "minute";
+ description
+ "Periodicity for polling of objects in this
+ schema in minutes";
+ }
+ leaf schema-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "The name of the schema";
+ }
+ }
+ }
+ container objects {
+ description
+ "Configure an Object List ";
+ list object {
+ key "object-list-name";
+ description
+ "Name of the object List";
+ container objects {
+ description
+ "Configure an object List";
+ list object {
+ key "oid";
+ description
+ "Object name or OID";
+ leaf oid {
+ type string;
+ description
+ "Object name or OID ";
+ }
+ }
+ }
+ leaf type {
+ type empty;
+ description
+ "Configure object list name";
+ }
+ leaf object-list-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of the object List";
+ }
+ }
+ }
+ container transfers {
+ description
+ "Periodicity for the transfer of bulk data in
+ minutes";
+ list transfer {
+ key "transfer-name";
+ description
+ "Name of bulk transfer";
+ container transfer-schemas {
+ description
+ "Schema that contains objects to be collected";
+ list transfer-schema {
+ key "schema-name";
+ description
+ "Schema that contains objects to be collected";
+ leaf schema-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Schema that contains objects to be
+ collected";
+ }
+ }
+ }
+ leaf secondary {
+ type string;
+ description
+ "FTP or rcp or TFTP can be used for file
+ transfer";
+ }
+ leaf type {
+ type empty;
+ description
+ "Configure transfer list name";
+ }
+ leaf buffer-size {
+ type uint32 {
+ range "1024..2147483647";
+ }
+ units "byte";
+ description
+ "Bulkstat data file maximum size in bytes";
+ }
+ leaf retain {
+ type uint32 {
+ range "0..20000";
+ }
+ units "minute";
+ description
+ "Retention period in minutes";
+ }
+ leaf format {
+ type Snmp-bulkstat-file-format;
+ description
+ "Format of the bulk data file";
+ }
+ leaf retry {
+ type uint32 {
+ range "0..100";
+ }
+ description
+ "Number of transmission retries";
+ }
+ leaf enable {
+ type empty;
+ description
+ "Start Data Collection for this Configuration";
+ }
+ leaf primary {
+ type string;
+ description
+ "FTP or rcp or TFTP can be used for file
+ transfer";
+ }
+ leaf interval {
+ type uint32;
+ units "minute";
+ description
+ "Periodicity for the transfer of bulk data in
+ minutes";
+ }
+ leaf transfer-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..32";
+ }
+ description
+ "Name of bulk transfer";
+ }
+ }
+ }
+ leaf memory {
+ type uint32 {
+ range "100..200000";
+ }
+ units "kilobyte";
+ description
+ "per process memory limit in kilo bytes";
+ }
+ }
+ container default-community-maps {
+ description
+ "Container class to hold unencrpted community map";
+ list default-community-map {
+ key "community-name";
+ description
+ "Unencrpted SNMP community map name ";
+ leaf community-name {
+ type xr:Cisco-ios-xr-string {
+ length "1..128";
+ }
+ description
+ "SNMP community map";
+ }
+ leaf context {
+ type string;
+ description
+ "SNMP Context Name ";
+ }
+ leaf security {
+ type string;
+ description
+ "SNMP Security Name ";
+ }
+ leaf target-list {
+ type string;
+ description
+ "target list name ";
+ }
+ }
+ }
+ container overload-control {
+ presence "Indicates a overload-control node is configured.";
+ description
+ "Set overload control params for handling
+ incoming messages";
+ leaf drop-time {
+ type uint32 {
+ range "0..300";
+ }
+ units "second";
+ mandatory true;
+ description
+ "Drop time in seconds for incoming queue
+ (default 1 sec)";
+ }
+ leaf throttle-rate {
+ type uint32 {
+ range "0..1000";
+ }
+ units "millisecond";
+ mandatory true;
+ description
+ "Throttle time in milliseconds for incoming
+ queue (default 500 msec)";
+ }
+ }
+ container timeouts {
+ description
+ "SNMP timeouts";
+ leaf duplicates {
+ type uint32 {
+ range "0..20";
+ }
+ units "second";
+ default "1";
+ description
+ "Duplicate request feature timeout";
+ }
+ leaf in-qdrop {
+ type uint32 {
+ range "0..20";
+ }
+ units "second";
+ default "10";
+ description
+ "incoming queue drop feature timeout";
+ }
+ leaf subagent {
+ type uint32 {
+ range "1..20";
+ }
+ units "second";
+ default "10";
+ description
+ "Sub-Agent Request timeout";
+ }
+ leaf pdu-stats {
+ type uint32 {
+ range "1..10";
+ }
+ units "second";
+ default "2";
+ description
+ "SNMP pdu statistics timeout";
+ }
+ }
+ container users {
+ description
+ "Define a user who can access the SNMP engine";
+ list user {
+ key "user-name";
+ description
+ "Name of the user";
+ leaf user-name {
+ type string;
+ description
+ "Name of the user";
+ }
+ leaf group-name {
+ type string;
+ mandatory true;
+ description
+ "Group to which the user belongs";
+ }
+ leaf version {
+ type User-snmp-version;
+ mandatory true;
+ description
+ "SNMP version to be used. v1,v2c or v3";
+ }
+ leaf authentication-password-configured {
+ type empty;
+ description
+ "Flag to indicate that authentication password
+ is configred for version 3";
+ }
+ leaf algorithm {
+ type Snmp-hash-algorithm;
+ description
+ "The algorithm used md5 or sha";
+ }
+ leaf authentication-password {
+ type xr:Proprietary-password;
+ description
+ "The authentication password";
+ }
+ leaf privacy-password-configured {
+ type empty;
+ description
+ "Flag to indicate that the privacy password is
+ configured for version 3";
+ }
+ leaf priv-algorithm {
+ type Snmp-priv-algorithm;
+ description
+ "The algorithm used des56 or aes128 or aes192or
+ aes256 or 3des";
+ }
+ leaf privacy-password {
+ type xr:Proprietary-password;
+ description
+ "The privacy password";
+ }
+ leaf v4acl-type {
+ type Snmpacl;
+ description
+ "Access-list type";
+ }
+ leaf v4-access-list {
+ type string;
+ description
+ "Ipv4 Access-list name";
+ }
+ leaf v6acl-type {
+ type Snmpacl;
+ description
+ "Access-list type";
+ }
+ leaf v6-access-list {
+ type string;
+ description
+ "Ipv6 Access-list name";
+ }
+ leaf owner {
+ type Snmp-owner-access;
+ description
+ "The system access either SDROwner or
+ SystemOwner";
+ }
+ leaf remote-address {
+ type inet:ip-address-no-zone;
+ description
+ "IP address of remote SNMP entity";
+ }
+ leaf port {
+ type xr:Cisco-ios-xr-port-number;
+ description
+ "UDP port number";
+ }
+ }
+ }
+ container vrfs {
+ description
+ "SNMP VRF configuration commands";
+ list vrf {
+ key "name";
+ description
+ "VRF name";
+ leaf name {
+ type xr:Cisco-ios-xr-string;
+ description
+ "VRF name";
+ }
+ uses TRAP-HOST-TABLE;
+ uses CONTEXT-TABLE;
+ uses CONTEXT-MAPPING-TABLE;
+ }
+ }
+ container groups {
+ description
+ "Define a User Security Model group";
+ list group {
+ key "name";
+ description
+ "Name of the group";
+ leaf name {
+ type xr:Cisco-ios-xr-string {
+ length "1..128";
+ }
+ description
+ "Name of the group";
+ }
+ leaf snmp-version {
+ type Group-snmp-version;
+ mandatory true;
+ description
+ "snmp version";
+ }
+ leaf security-model {
+ type Snmp-security-model;
+ description
+ "security model like auth/noAuth/Priv
+ applicable for v3";
+ }
+ leaf notify-view {
+ type string;
+ description
+ "notify view name";
+ }
+ leaf read-view {
+ type string;
+ description
+ "read view name";
+ }
+ leaf write-view {
+ type string;
+ description
+ "write view name";
+ }
+ leaf v4acl-type {
+ type Snmpacl;
+ description
+ "Access-list type";
+ }
+ leaf v4-access-list {
+ type string;
+ description
+ "Ipv4 Access-list name";
+ }
+ leaf v6acl-type {
+ type Snmpacl;
+ description
+ "Access-list type";
+ }
+ leaf v6-access-list {
+ type string;
+ description
+ "Ipv6 Access-list name";
+ }
+ leaf context-name {
+ type string;
+ description
+ "Context name";
+ }
+ }
+ }
+ leaf inform-retries {
+ type uint32 {
+ range "0..100";
+ }
+ description
+ "Number of times to retry an Inform request
+ (default 3)";
+ }
+ leaf trap-port {
+ type uint32 {
+ range "1024..65535";
+ }
+ description
+ "Change the source port of all traps";
+ }
+ leaf oid-poll-stats {
+ type empty;
+ description
+ "Enable Poll OID statistics";
+ }
+ leaf trap-source {
+ type xr:Interface-name;
+ description
+ "Assign an interface for the source address of
+ all traps";
+ }
+ leaf vrf-authentication-trap-disable {
+ type empty;
+ description
+ "Disable authentication traps for packets on a
+ vrf";
+ }
+ leaf inform-timeout {
+ type uint32 {
+ range "1..42949671";
+ }
+ units "second";
+ description
+ "Timeout value in seconds for Inform request
+ (default 15 sec)";
+ }
+ leaf trap-source-ipv6 {
+ type xr:Interface-name;
+ description
+ "Assign an interface for the source IPV6 address
+ of all traps";
+ }
+ leaf packet-size {
+ type uint32 {
+ range "484..65500";
+ }
+ description
+ "Largest SNMP packet size";
+ }
+ leaf throttle-time {
+ type uint32 {
+ range "50..1000";
+ }
+ description
+ "Throttle time for incoming queue (default 0
+ msec)";
+ }
+ leaf trap-source-ipv4 {
+ type xr:Interface-name;
+ description
+ "Assign an interface for the source address of
+ all traps";
+ }
+ leaf inform-pending {
+ type uint32 {
+ range "0..4294967295";
+ }
+ description
+ "Max nmber of informs to hold in queue, (default
+ 25)";
+ }
+ uses TRAP-HOST-TABLE;
+ uses CONTEXT-TABLE;
+ uses CONTEXT-MAPPING-TABLE;
+ }
+ container mib {
+ description
+ "mib";
+ }
+}
+++ /dev/null
-module Cisco-IOS-XR-types {
-
- namespace "http://cisco.com/ns/yang/cisco-xr-types";
- prefix "xr";
-
- organization "Cisco Systems, Inc.";
-
- contact
- "Cisco Systems, Inc.
- Customer Service
-
- Postal: 170 W Tasman Drive
- San Jose, CA 95134
-
- Tel: +1 1800 553-NETS
-
- E-mail: cs-yang@cisco.com";
-
-
- description
- "This module contains a collection of IOS-XR derived YANG data
- types.
-
- Copyright (c) 2013-2015 by Cisco Systems, Inc.
- All rights reserved.";
-
- revision "2015-06-29" {
- description
- "This revision adds the following new data types:
- - Rpl-policy
- - Rpl-set";
- }
-
- revision "2015-05-18" {
- description
- "Updated Node-id string pattern to match also shorter ncs4k
- node names.";
- }
-
- revision "2015-01-19" {
- description
- "This revision adds the following new data types:
- - Bgp-ipv4-flowspec-address
- - Bgp-ipv6-flowspec-address";
- }
-
- revision "2013-07-22" {
- description
- "Initial revision.";
- }
-
- extension xr-cli-map {
- argument "cli-command";
- description "The xr-cli-map statement takes as an argument
- relevant CLI configuration command.";
- }
-
- extension xr-xml-map {
- argument "xr-xml-node";
- description "The xr-xml-map statement takes as an argument
- relevant Cisco XML Schema node name.";
- }
-
- typedef Route-dist {
- type string {
- pattern "[a-fA-F0-9]{16}";
- }
- description "Route distinguisher in hexadecimal notation.";
- }
-
- typedef Bgp-l2vpn-evpn-addrs {
- type string {
- pattern "[a-fA-F0-9]{58}";
- }
- description "L2VPN EVPN Address in hexadecimal notation.";
- }
-
- typedef Bgp-ls-addr {
- type string {
- pattern "[a-fA-F0-9]+";
- }
- description "BGP link state unicast address in hexadecimal
- notation.";
- }
-
- typedef Bgp-ipv6-mvpn-addr {
- type string {
- pattern "[a-fA-F0-9]{104}";
- }
- description "An IPV6 MVPN address in hexadecimal notation.";
- }
-
- typedef Bgp-ipv4-mvpn-addr {
- type string {
- pattern "[a-fA-F0-9]{56}";
- }
- description "An IPV4 MVPN address in hexadecimal notation.";
- }
-
- typedef Bgp-rt-constrt-addr {
- type string {
- pattern "[a-fA-F0-9]{24}";
- }
- description
- "An IPV4 RTConstraint address in hexadecimal notation.";
- }
-
- typedef Bgp-ipv4-mdt-addr {
- type string {
- pattern "(([a-f0-9]{16}-)(([1-9]?[0-9]|1[0-9][0-9]|2[0-4]"+
- "[0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]"+
- "|25[0-5]))";
- }
- description "An IPV4 MDT address in dotted decimal notation.
- An IPv4 MDT address should be of the form
- 0000006400000065-129.29.83.45. This datatype
- restricts the value of each field 16 digits in
- hexadecimal for RD field and between 0 and 255
- for IPv4 address field, i.e.
- [0000000000000000-ffffffffffffffff]-
- [0-255].[0-255].[0-255].[0-255].";
- }
-
- typedef Bgp-ipv4-tunnel-addr {
- type string {
- pattern "((0:|[1-9][0-9]{0,4}:)"+
- "(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}"+
- "([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))";
- }
- description "An IPV4 tunnel address in dotted decimal notation.
- An IPv4 tunnel address should be of the form
- 65535:129.29.83.45. This datatype restricts the
- value of each field between 0 and 65535 for prefix
- field and 0 and 255 for IPv4 address field, i.e.
- [0-65535]:[0-255].[0-255].[0-255].[0-255]";
- }
-
- typedef Cisco-ios-xr-port-number {
- type uint16 {
- range "1..65535";
- }
- description "Port number of range from 1 to 65535";
- }
-
- typedef Interface-name {
- type string {
- pattern "(([a-zA-Z0-9_]*\d+/){3}\d+)|"+
- "(([a-zA-Z0-9_]*\d+/){4}\d+)|"+
- "(([a-zA-Z0-9_]*\d+/){3}\d+\.\d+)|"+
- "(([a-zA-Z0-9_]*\d+/){2}([a-zA-Z0-9_]*\d+))|"+
- "(([a-zA-Z0-9_]*\d+/){2}([a-zA-Z0-9_]+))|"+
- "([a-zA-Z0-9_-]*\d+)|"+
- "([a-zA-Z0-9_-]*\d+\.\d+)|"+
- "(mpls)|(dwdm)";
- }
- description "An interface name specifying an interface type and
- instance.
- Interface represents a string defining an interface
- type and instance, e.g. MgmtEth0/4/CPU1/0 or
- TenGigE0/2/0/0.2 or Bundle-Ether9 or
- Bundle-Ether9.98";
- }
-
- typedef Cisco-ios-xr-string {
- type string {
- pattern "[\w\-\.:,_@#%$\+=\|;]+";
- }
- description "Special characters are not allowed.";
- }
-
- typedef Ipv4-prefix-length {
- type uint8 {
- range "0..32";
- }
- description "An IPv4 address prefix length.
- Must lie between 0 and 32 inclusive.";
- }
-
- typedef Ipv6-prefix-length {
- type uint8 {
- range "0..128";
- }
- description "An IPv6 address prefix length.
- Must lie between 0 and 32 inclusive.";
- }
-
- typedef Rack-id {
- type string {
- pattern "[a-zA-Z0-9_]*\d+";
- }
- description "Names the rack portion of a NodeID
- Rack/Slot/Instance triple";
- }
-
- typedef Slot-id {
- type string {
- pattern "[a-zA-Z0-9_]*\d+";
- }
- description "Names the slot portion of a NodeID
- Rack/Slot/Instance triple";
- }
-
- typedef Instance-id {
- type string {
- pattern "[a-zA-Z0-9_]*\d+";
- }
- description "Names the instance portion of a NodeID
- Rack/Slot/Instance triple";
- }
-
- typedef Sub-instance-id {
- type string {
- pattern "[a-zA-Z0-9_]*\d+";
- }
- description "Names the sub-instance portion of an extended
- NodeID Rack/Slot/Instance/SubInstance";
- }
-
- typedef Encryption-type {
- type enumeration {
- enum none {
- value "0";
- description "The password string is clear text.";
- }
- enum md5 {
- value "1";
- description "The password is encrypted to an MD5 digest.";
- }
- enum proprietary {
- value "2";
- description "The password is encrypted using Cisco type 7
- password encryption.";
- }
- }
- description "The type of encryption used on a password string.";
-
- }
-
- typedef Hex-integer {
- type string {
- pattern "[0-9a-fA-F]{1,8}";
- }
- description "An unsigned 32-bit integer represented in
- hexadecimal format.";
- }
-
- typedef Osi-system-id {
- type string {
- pattern "[a-fA-F0-9]{4}(\.[a-fA-F0-9]{4}){2}";
- }
- description "An OSI system ID should be of the form
- 0123.4567.89ab. This data type restricts each
- character to a hex character.";
- }
-
- typedef Osi-area-address {
- type string {
- pattern "[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){0,6}";
- }
- description "An OSI area address should consist of an odd number
- of octets, and be of the form 01 or 01.2345 etc up
- to 01.2345.6789.abcd.ef01.2345.6789. This data type
- restricts each character to a hex character.";
- }
-
- typedef Isis-node-id {
- type string {
- pattern "[a-fA-F0-9]{4}(\.[a-fA-F0-9]{4}){2}\.[a-fA-F0-9]{2}";
- }
- description "An ISIS node ID should be of the form
- 0123.4567.89ab.cd. This data type restricts each
- character to a hex character.";
- }
-
- typedef Isis-snpa {
- type string {
- pattern "[a-fA-F0-9]{4}(\.[a-fA-F0-9]{4}){2}";
- }
- description "String representation of a SNPA, 802.2 MAC address
- in canonical format, e.g. 0123.4567.89ab";
- }
-
- typedef Isis-lsp-id {
- type string {
- pattern "[a-fA-F0-9]{4}(\.[a-fA-F0-9]{4}){2}\.[a-fA-F0-9]{2}"+
- "\-[a-fA-F0-9]{2}";
- }
- description "An ISIS LSP ID should be of the form
- 0123.4567.89ab.cd-ef. This data type restricts each
- character to a hex character.";
- }
-
- typedef Osi-net {
- type string {
- pattern
- "[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}";
- }
- description "An OSI NET should consist of an even number of
- octets, and be of the form 01.2345.6789.abcd.ef etc
- up to
- 01.2345.6789.abcd.ef01.2345.6789.abcd.ef01.2345.67.
- This data type restricts each character to a hex
- character.";
- }
-
- typedef String-identifier {
- type string {
- pattern "[a-zA-Z][\w\-]*";
- }
- description "A string for specifying identifier.";
- }
-
- typedef Char-num {
- type union {
- type string {
- pattern "(\p{IsBasicLatin}|\p{IsLatin-1Supplement})*";
- }
- type uint8;
- }
- description "Takes a character or its ASCII decimal equivalent
- (0-255).";
- }
-
- typedef Tty-escape-char-num {
- type union {
- type string {
- pattern "((\p{IsBasicLatin}|\p{IsLatin-1Supplement})*)"+
- "|(DEFAULT)|(BREAK)|(NONE)";
- }
- type uint8;
- }
- description "Escape character or its ASCII decimal equivalent
- (0-255) or one of the three string DEFAULT, BREAK,
- NONE.";
- }
-
- typedef Extended-node-id {
- type string {
- pattern "([a-zA-Z0-9_]*\d+/){3}([a-zA-Z0-9_]*\d+)";
- }
- description "A location used as value information and specified
- as a Rack/Slot/Instance/SubInstance, e.g.
- 0/1/CPU0/NPU0";
- }
-
- typedef Node-id {
- type string {
- pattern "([a-zA-Z0-9_]*\d+/){1,2}([a-zA-Z0-9_]*\d+)";
- }
- description "A location used as value information and specified
- as a Rack/Slot/Instance triple, e.g. F0/SC1/0.";
- }
-
- typedef Pq-node-id {
- type string {
- pattern "((([a-zA-Z0-9_]*\d+)|(\*))/){2}(([a-zA-Z0-9_]*\d+)"+
- "|(\*))";
- }
- description "Partially qualified location which is used for
- wildcarding location specifications, e.g. 1/*/*";
- }
-
- typedef Md5-password {
- type string {
- pattern "(!.+)|([^!].+)";
- }
- description
- "The Md5-password type is used to store password using the MD5
- hash function.
- When a clear text value is set to a leaf of this type, the
- server calculates a password hash and stores the result
- in the datastore. The password is never stored in clear text.
-
- When a leaf of this type is read, the stored password hash is
- returned.
-
- A value of this type matches one of the forms:
-
- !<clear text password>
- <password hash>
-
- The '!' prefix signals that the value is clear text. When
- such a value is received by the server, a hash value is
- calculated. This value is stored in the configuration data
- store.
-
- If a value starting without '!' is received, the server knows
- that the value already represents a hashed value, and stores
- it as is in the data store.";
- }
-
- typedef Proprietary-password {
- type string {
- pattern "(!.+)|([^!].+)";
- }
- description
- "The Proprietary-password type is used to store password
- using the Cisco proprietary hash function.
- When a clear text value is set to a leaf of this type, the
- server calculates a password hash and stores the result
- in the datastore. The password is never stored in clear text.
-
- When a leaf of this type is read, the stored password hash is
- returned.
-
- A value of this type matches one of the forms:
-
- !<clear text password>
- <password hash>
-
- The '!' prefix signals that the value is clear text. When
- such a value is received by the server, a hash value is
- calculated. This value is stored in the configuration data
- store.
-
- If a value starting without '!' is received, the server knows
- that the value already represents a hashed value, and stores
- it as is in the data store.";
- }
-
- typedef Bgp-ipv4-flowspec-address {
- type string {
- pattern "[a-fA-F0-9]{4096}";
- }
- description "An IPV4 Flowspec address in hexadecimal notation.";
- }
-
- typedef Bgp-ipv6-flowspec-address {
- type string {
- pattern "[a-fA-F0-9]{4096}";
- }
- description "An IPV6 Flowspec address in hexadecimal notation.";
- }
-
- typedef Rpl-policy {
- type string;
- description "RPL Policy info";
- }
-
- typedef Rpl-set{
- type string;
- description "RPL Set info";
- }
-}
\ No newline at end of file
--- /dev/null
+module Cisco-IOS-XR-types {
+ namespace "http://cisco.com/ns/yang/cisco-xr-types";
+ prefix xr;
+
+ organization
+ "Cisco Systems, Inc.";
+ contact
+ "Cisco Systems, Inc.
+ Customer Service
+
+ Postal: 170 W Tasman Drive
+ San Jose, CA 95134
+
+ Tel: +1 1800 553-NETS
+
+ E-mail: cs-yang@cisco.com";
+ description
+ "This module contains a collection of IOS-XR derived YANG data
+ types.
+
+ Copyright (c) 2013-2017 by Cisco Systems, Inc.
+ All rights reserved.";
+
+ revision 2017-12-01 {
+ description
+ "Modified string match pattern of Tty-escape-char-num";
+ }
+ revision 2017-03-07 {
+ description
+ "This revision adds the following new data types:
+ - Type8-password
+ - Type9-password";
+ }
+ revision 2015-06-29 {
+ description
+ "This revision adds the following new data types:
+ - Rpl-policy
+ - Rpl-set";
+ }
+ revision 2015-05-18 {
+ description
+ "Updated Node-id string pattern to match also shorter ncs4k
+ node names.";
+ }
+ revision 2015-01-19 {
+ description
+ "This revision adds the following new data types:
+ - Bgp-ipv4-flowspec-address
+ - Bgp-ipv6-flowspec-address";
+ }
+ revision 2013-07-22 {
+ description
+ "Initial revision.";
+ }
+
+ extension xr-cli-map {
+ argument cli-command;
+ description
+ "The xr-cli-map statement takes as an argument
+ relevant CLI configuration command.";
+ }
+
+ extension xr-xml-map {
+ argument xr-xml-node;
+ description
+ "The xr-xml-map statement takes as an argument
+ relevant Cisco XML Schema node name.";
+ }
+
+ extension cli-command {
+ argument command;
+ description
+ "Corresponding CLI command for this RPC node";
+ }
+
+ extension cli-name {
+ argument keyword;
+ description
+ "Corresponding CLI keyword for this node";
+ }
+
+ extension xr-task {
+ argument task;
+ description
+ "XR task-id required for operating the yang node";
+ }
+
+ extension event-telemetry {
+ argument description;
+ description
+ "Node eligible for telemetry event subscription";
+ }
+
+ typedef Route-dist {
+ type string {
+ pattern "[a-fA-F0-9]{16}";
+ }
+ description
+ "Route distinguisher in hexadecimal notation.";
+ }
+
+ typedef Bgp-l2vpn-evpn-addrs {
+ type string {
+ pattern "[a-fA-F0-9]{58}";
+ }
+ description
+ "L2VPN EVPN Address in hexadecimal notation.";
+ }
+
+ typedef Bgp-ls-addr {
+ type string {
+ pattern "[a-fA-F0-9]+";
+ }
+ description
+ "BGP link state unicast address in hexadecimal
+ notation.";
+ }
+
+ typedef Bgp-ipv6-mvpn-addr {
+ type string {
+ pattern "[a-fA-F0-9]{104}";
+ }
+ description
+ "An IPV6 MVPN address in hexadecimal notation.";
+ }
+
+ typedef Bgp-ipv4-mvpn-addr {
+ type string {
+ pattern "[a-fA-F0-9]{56}";
+ }
+ description
+ "An IPV4 MVPN address in hexadecimal notation.";
+ }
+
+ typedef Bgp-rt-constrt-addr {
+ type string {
+ pattern "[a-fA-F0-9]{24}";
+ }
+ description
+ "An IPV4 RTConstraint address in hexadecimal notation.";
+ }
+
+ typedef Bgp-ipv4-mdt-addr {
+ type string {
+ pattern "(([a-f0-9]{16}-)(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))";
+ }
+ description
+ "An IPV4 MDT address in dotted decimal notation.
+ An IPv4 MDT address should be of the form
+ 0000006400000065-129.29.83.45. This datatype
+ restricts the value of each field 16 digits in
+ hexadecimal for RD field and between 0 and 255
+ for IPv4 address field, i.e.
+ [0000000000000000-ffffffffffffffff]-
+ [0-255].[0-255].[0-255].[0-255].";
+ }
+
+ typedef Bgp-ipv4-tunnel-addr {
+ type string {
+ pattern "((0:|[1-9][0-9]{0,4}:)(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))";
+ }
+ description
+ "An IPV4 tunnel address in dotted decimal notation.
+ An IPv4 tunnel address should be of the form
+ 65535:129.29.83.45. This datatype restricts the
+ value of each field between 0 and 65535 for prefix
+ field and 0 and 255 for IPv4 address field, i.e.
+ [0-65535]:[0-255].[0-255].[0-255].[0-255]";
+ }
+
+ typedef Cisco-ios-xr-port-number {
+ type uint16 {
+ range "1..65535";
+ }
+ description
+ "Port number of range from 1 to 65535";
+ }
+
+ typedef Interface-name {
+ type string {
+ pattern "[a-zA-Z0-9./-]+";
+ }
+ description
+ "An interface name specifying an interface type and
+ instance.
+ Interface represents a string defining an interface
+ type and instance, e.g. MgmtEth0/4/CPU1/0 or
+ TenGigE0/2/0/0.2 or Bundle-Ether9 or
+ Bundle-Ether9.98";
+ }
+
+ typedef Cisco-ios-xr-string {
+ type string {
+ pattern "[\\w\\-\\.:,_@#%$\\+=\\|;]+";
+ }
+ description
+ "Special characters are not allowed.";
+ }
+
+ typedef Ipv4-prefix-length {
+ type uint8 {
+ range "0..32";
+ }
+ description
+ "An IPv4 address prefix length.
+ Must lie between 0 and 32 inclusive.";
+ }
+
+ typedef Ipv6-prefix-length {
+ type uint8 {
+ range "0..128";
+ }
+ description
+ "An IPv6 address prefix length.
+ Must lie between 0 and 32 inclusive.";
+ }
+
+ typedef Rack-id {
+ type string {
+ pattern "[a-zA-Z0-9_]*\\d+";
+ }
+ description
+ "Names the rack portion of a NodeID
+ Rack/Slot/Instance triple";
+ }
+
+ typedef Slot-id {
+ type string {
+ pattern "[a-zA-Z0-9_]*\\d+";
+ }
+ description
+ "Names the slot portion of a NodeID
+ Rack/Slot/Instance triple";
+ }
+
+ typedef Instance-id {
+ type string {
+ pattern "[a-zA-Z0-9_]*\\d+";
+ }
+ description
+ "Names the instance portion of a NodeID
+ Rack/Slot/Instance triple";
+ }
+
+ typedef Sub-instance-id {
+ type string {
+ pattern "[a-zA-Z0-9_]*\\d+";
+ }
+ description
+ "Names the sub-instance portion of an extended
+ NodeID Rack/Slot/Instance/SubInstance";
+ }
+
+ typedef Encryption-type {
+ type enumeration {
+ enum "none" {
+ value 0;
+ description
+ "The password string is clear text.";
+ }
+ enum "md5" {
+ value 1;
+ description
+ "The password is encrypted to an MD5 digest.";
+ }
+ enum "proprietary" {
+ value 2;
+ description
+ "The password is encrypted using Cisco type 7
+ password encryption.";
+ }
+ enum "type6" {
+ value 3;
+ description
+ "The password is encrypted using Cisco type 6
+ password encryption.";
+ }
+ }
+ description
+ "The type of encryption used on a password string.";
+ }
+
+ typedef Hex-integer {
+ type string {
+ pattern "[0-9a-fA-F]{1,8}";
+ }
+ description
+ "An unsigned 32-bit integer represented in
+ hexadecimal format.";
+ }
+
+ typedef Osi-system-id {
+ type string {
+ pattern "[a-fA-F0-9]{4}(\\.[a-fA-F0-9]{4}){2}";
+ }
+ description
+ "An OSI system ID should be of the form
+ 0123.4567.89ab. This data type restricts each
+ character to a hex character.";
+ }
+
+ typedef Osi-area-address {
+ type string {
+ pattern "[a-fA-F0-9]{2}(\\.[a-fA-F0-9]{4}){0,6}";
+ }
+ description
+ "An OSI area address should consist of an odd number
+ of octets, and be of the form 01 or 01.2345 etc up
+ to 01.2345.6789.abcd.ef01.2345.6789. This data type
+ restricts each character to a hex character.";
+ }
+
+ typedef Isis-node-id {
+ type string {
+ pattern "[a-fA-F0-9]{4}(\\.[a-fA-F0-9]{4}){2}\\.[a-fA-F0-9]{2}";
+ }
+ description
+ "An ISIS node ID should be of the form
+ 0123.4567.89ab.cd. This data type restricts each
+ character to a hex character.";
+ }
+
+ typedef Isis-snpa {
+ type string {
+ pattern "[a-fA-F0-9]{4}(\\.[a-fA-F0-9]{4}){2}";
+ }
+ description
+ "String representation of a SNPA, 802.2 MAC address
+ in canonical format, e.g. 0123.4567.89ab";
+ }
+
+ typedef Isis-lsp-id {
+ type string {
+ pattern "[a-fA-F0-9]{4}(\\.[a-fA-F0-9]{4}){2}\\.[a-fA-F0-9]{2}\\-[a-fA-F0-9]{2}";
+ }
+ description
+ "An ISIS LSP ID should be of the form
+ 0123.4567.89ab.cd-ef. This data type restricts each
+ character to a hex character.";
+ }
+
+ typedef Osi-net {
+ type string {
+ pattern "[a-fA-F0-9]{2}(\\.[a-fA-F0-9]{4}){3,9}\\.[a-fA-F0-9]{2}";
+ }
+ description
+ "An OSI NET should consist of an even number of
+ octets, and be of the form 01.2345.6789.abcd.ef etc
+ up to
+ 01.2345.6789.abcd.ef01.2345.6789.abcd.ef01.2345.67.
+ This data type restricts each character to a hex
+ character.";
+ }
+
+ typedef String-identifier {
+ type string {
+ pattern "[a-zA-Z][\\w\\-]*";
+ }
+ description
+ "A string for specifying identifier.";
+ }
+
+ typedef Char-num {
+ type union {
+ type string {
+ pattern "(\\p{IsBasicLatin}|\\p{IsLatin-1Supplement})*";
+ }
+ type uint8;
+ }
+ description
+ "Takes a character or its ASCII decimal equivalent
+ (0-255).";
+ }
+
+ typedef Tty-escape-char-num {
+ type union {
+ type string {
+ pattern "(\\p{IsBasicLatin}|\\p{IsLatin-1Supplement})|(DEFAULT)|(BREAK)|(NONE)";
+ }
+ type uint8;
+ }
+ description
+ "Escape character or its ASCII decimal equivalent
+ (0-255) or one of the three string DEFAULT, BREAK,
+ NONE.";
+ }
+
+ typedef Extended-node-id {
+ type string {
+ pattern "([a-zA-Z0-9_]*\\d+/){3}([a-zA-Z0-9_]*\\d+)";
+ }
+ description
+ "A location used as value information and specified
+ as a Rack/Slot/Instance/SubInstance, e.g.
+ 0/1/CPU0/NPU0";
+ }
+
+ typedef Node-id {
+ type string {
+ pattern "([a-zA-Z0-9_]*\\d+/){1,2}([a-zA-Z0-9_]*\\d+)";
+ }
+ description
+ "A location used as value information and specified
+ as a Rack/Slot/Instance triple, e.g. F0/SC1/0.";
+ }
+
+ typedef Pq-node-id {
+ type string {
+ pattern "((([a-zA-Z0-9_]*\\d+)|(\\*))/){2}(([a-zA-Z0-9_]*\\d+)|(\\*))";
+ }
+ description
+ "Partially qualified location which is used for
+ wildcarding location specifications, e.g. 1/*/*";
+ }
+
+ typedef Md5-password {
+ type string {
+ pattern "(!.+)|([^!].+)";
+ }
+ description
+ "The Md5-password type is used to store password using the MD5
+ hash function.
+ When a clear text value is set to a leaf of this type, the
+ server calculates a password hash and stores the result
+ in the datastore. The password is never stored in clear text.
+
+ When a leaf of this type is read, the stored password hash is
+ returned.
+
+ A value of this type matches one of the forms:
+
+ !<clear text password>
+ <password hash>
+
+ The '!' prefix signals that the value is clear text. When
+ such a value is received by the server, a hash value is
+ calculated. This value is stored in the configuration data
+ store.
+
+ If a value starting without '!' is received, the server knows
+ that the value already represents a hashed value, and stores
+ it as is in the data store.";
+ }
+
+ typedef Type8-password {
+ type string {
+ pattern "(!.+)|([^!].+)";
+ }
+ description
+ "The Type8-password type is used to store password using the
+ SHA-256 encryption.
+ When a clear text value is set to a leaf of this type, the
+ server calculates a password hash and stores the result
+ in the datastore. The password is never stored in clear text.
+
+ When a leaf of this type is read, the stored password hash is
+ returned.
+
+ A value of this type matches one of the forms:
+
+ !<clear text password>
+ <password hash>
+
+ The '!' prefix signals that the value is clear text. When
+ such a value is received by the server, a hash value is
+ calculated. This value is stored in the configuration data
+ store.
+
+ If a value starting without '!' is received, the server knows
+ that the value already represents a hashed value, and stores
+ it as is in the data store.";
+ }
+
+ typedef Type9-password {
+ type string {
+ pattern "(!.+)|([^!].+)";
+ }
+ description
+ "The Type9-password type is used to store password using the
+ Script algorithmic encryption.
+ When a clear text value is set to a leaf of this type, the
+ server calculates a password hash and stores the result
+ in the datastore. The password is never stored in clear text.
+
+ When a leaf of this type is read, the stored password hash is
+ returned.
+
+ A value of this type matches one of the forms:
+
+ !<clear text password>
+ <password hash>
+
+ The '!' prefix signals that the value is clear text. When
+ such a value is received by the server, a hash value is
+ calculated. This value is stored in the configuration data
+ store.
+
+ If a value starting without '!' is received, the server knows
+ that the value already represents a hashed value, and stores
+ it as is in the data store.";
+ }
+
+ typedef Proprietary-password {
+ type string {
+ pattern "(!.+)|([^!].+)";
+ }
+ description
+ "The Proprietary-password type is used to store password
+ using the Cisco proprietary hash function.
+ When a clear text value is set to a leaf of this type, the
+ server calculates a password hash and stores the result
+ in the datastore. The password is never stored in clear text.
+
+ When a leaf of this type is read, the stored password hash is
+ returned.
+
+ A value of this type matches one of the forms:
+
+ !<clear text password>
+ <password hash>
+
+ The '!' prefix signals that the value is clear text. When
+ such a value is received by the server, a hash value is
+ calculated. This value is stored in the configuration data
+ store.
+
+ If a value starting without '!' is received, the server knows
+ that the value already represents a hashed value, and stores
+ it as is in the data store.";
+ }
+
+ typedef Type6-password {
+ type string {
+ pattern "(!.+)|([^!].+)";
+ }
+ description
+ "The Type6-password type is used to store password
+ using the Cisco type 6 hash function.
+ When a clear text value is set to a leaf of this type, the
+ server calculates a password hash and stores the result
+ in the datastore. The password is never stored in clear text.
+
+ When a leaf of this type is read, the stored password hash is
+ returned.
+
+ A value of this type matches one of the forms:
+
+ !<clear text password>
+ <password hash>
+
+ The '!' prefix signals that the value is clear text. When
+ such a value is received by the server, a hash value is
+ calculated. This value is stored in the configuration data
+ store.
+
+ If a value starting without '!' is received, the server knows
+ that the value already represents a hashed value, and stores
+ it as is in the data store.";
+ }
+
+ typedef Bgp-ipv4-flowspec-address {
+ type string {
+ pattern "[a-fA-F0-9]{4096}";
+ }
+ description
+ "An IPV4 Flowspec address in hexadecimal notation.";
+ }
+
+ typedef Bgp-ipv6-flowspec-address {
+ type string {
+ pattern "[a-fA-F0-9]{4096}";
+ }
+ description
+ "An IPV6 Flowspec address in hexadecimal notation.";
+ }
+
+ typedef Rpl-policy {
+ type string;
+ description
+ "RPL Policy info";
+ }
+
+ typedef Rpl-set {
+ type string;
+ description
+ "RPL Set info";
+ }
+
+ typedef Physical-allowed-node-id {
+ type uint32;
+ description
+ "A physical location encoded as a 32-bit value.";
+ }
+
+ typedef Physical-allowed-node-id-string {
+ type string;
+ description
+ "A physical location which is represented internallyusing string format (eg: 0_6_CPU0).";
+ }
+}
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL -->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
* and is available at http://www.eclipse.org/legal/epl-v10.html
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.2 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL -->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL -->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL -->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL -->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.2 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.mdsal</groupId>
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.controller</groupId>
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>karaf4-parent</artifactId>
* and is available at http://www.eclipse.org/legal/epl-v10.html
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>binding-parent</artifactId>
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>binding-parent</artifactId>
~ and is available at http://www.eclipse.org/legal/epl-v10.html
-->
-<project xmlns="http://maven.apache.org/POM/4.0.2"
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.2 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.opendaylight.mdsal</groupId>