Initial import of Microsemi Driver

Change-Id: I431d5f2c18e0b66a84c36273c3d9f0b84f223841

Added in BUCK files for building driver

Change-Id: I70681327f5b89f67e904c45d5974ab393652d51f

Corrected some syntax errors

Change-Id: I11150cc499c212005f80619e3900e747f1c23d96

Updated pom file to clean build

Change-Id: I6613ddc9e6802aa882e716cf04df210249870835

Added in utility functions for EA1000 Init

Change-Id: I51ffe0cf0daf9ffcea0e2479ee9982fcd1755440

Added YMS code to Microsemi Driver

Change-Id: I6f2a14e454c6909bf9e9f6025321c74c98c13c72

Updated driver to work with YMS and YCH

Change-Id: If7dbe3cd5bd1b6f902d09d6b2dc3895605d70f70

Implemented IetfSystemManager as a service and call on YMS as a service

Change-Id: If1c5e8482b1f53f578a3b0b770accd50024111cf

Moved YMS calls over in to Yang Service implementation

Change-Id: I044aad06f1ef7452bc48e88987787a683666cd72

improved unit test for IetfSystemManager

Change-Id: I48fbf831e7e5ca0e1ef3de8288e56da1b5ebb7a4

Major changes to IetfSystemManager to work in live system

Change-Id: I6e3aa118ba422151f314b9a666860d90905c9929

Added in retry mechanism for DeviceDescription to wait for YCH

Change-Id: If8e0f2c2f315ffd6db15627a11382a00217dd262

Added in implementation of MseaSaFiltering and unit tests

Change-Id: I34bf888e0e732bd4664d1fb8ef5abb679b1506fe

Updated driver with unit tests for MseaSaFiltering

Change-Id: I7ea2407a546622ff55d1ab21610c45697546d632

Modified removeFlowRules of Ea1000FlowRuleProgrammable

Change-Id: Ibb4a555f61887a8e6e42af588bb42f7b70f58efb

Added in manager for MseaUniEvc service with unit tests

Change-Id: Idc5853f46051548973f52a0659f7f88982ff960c

Implemented getFlowEntries() for EVCs from EA1000

Change-Id: Ie85dadfa7760f0b30a9bdf6ccd09cca9f097fff9

Added in translation of FlowRules in to EVC on EA1000

Change-Id: Icfb65171c3300c96b3ca4e18cbd327f0ed2190be

Added in handling of FlowRule deletion including complex ceVlanMaps

Change-Id: I7fd0bb0ef04d1b40e4b7d6a6db7f7ee662329780

Updated Service entries for new onos-yang-tools

Change-Id: I44e655202f3a45073e1e16f83737caed6e01afa8

Revert "Updated Service entries for new onos-yang-tools"

This reverts commit 642b550ef1de12ed59bad2eaa3a2da414d2e5e59.

Improved timeout mechanism for YANG model loading

Change-Id: If744ecd206372e822edf2b736c83226321a12256

Minor edits of EVC creation

Change-Id: Ib0a4763deaf6dce37625ba77f5095b39cd98272d

Added in CustomEvc and supporting classes

Change-Id: Iad60eb1bcd48d2aec55b894b2d419b51852c3b2f

Created CeVlanUtils to resolve loading problem

Change-Id: I0d63931ad2c5ad2725861ebc7dccc4d5fe7b9298

Modified startup check

Change-Id: I6e6bcfa7e615044cb08fe7ee2f8a6c8b89aabb21

Modified handlin of flow rules

Change-Id: I965a79c23298866122aeb94c6d9d584aafee3bd5

Fixed problem with ceVlanMap

Change-Id: If1458c35d0b95b5b25b6636f098292f9e91c06c6

Minor Pom edits

Change-Id: I5cefb18674aa04b1f50bd7e2306260c1c3ad3814

Commented out extension references in YANG files to avoid onos-yang-tools problems

Change-Id: I32fdb34c4f476f495fe28e75d0f410aaf14e2ec1

Corrected error in removing 0 in CeVlanMapUtils

Change-Id: I8cd1fd02788b81c2613364d5639ef6e090057f80

Changes in YMS to accomodate EA1000 driver

Change-Id: I6ae2b9bd2be49eae8d4ad2f929dfe3214c514550
diff --git a/drivers/microsemi/ea1000yang/src/main/yang/iana-if-type.yang b/drivers/microsemi/ea1000yang/src/main/yang/iana-if-type.yang
new file mode 100644
index 0000000..fb48b6b
--- /dev/null
+++ b/drivers/microsemi/ea1000yang/src/main/yang/iana-if-type.yang
@@ -0,0 +1,1507 @@
+   module iana-if-type {
+     namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
+     prefix ianaift;
+
+     import ietf-interfaces {
+       prefix if;
+     }
+
+     organization "IANA";
+     contact
+       "        Internet Assigned Numbers Authority
+
+        Postal: ICANN
+                4676 Admiralty Way, Suite 330
+                Marina del Rey, CA 90292
+
+        Tel:    +1 310 823 9358
+        <mailto:iana@iana.org>";
+
+     description
+       "This YANG module defines YANG identities for IANA-registered
+        interface types.
+
+        This YANG module is maintained by IANA and reflects the
+        'ifType definitions' registry.
+
+        The latest revision of this YANG module can be obtained from
+        the IANA web site.
+
+        Requests for new values should be made to IANA via
+        email (iana@iana.org).
+
+        Copyright (c) 2014 IETF Trust and the persons identified as
+        authors of the code.  All rights reserved.
+
+        Redistribution and use in source and binary forms, with or
+        without modification, is permitted pursuant to, and subject
+        to the license terms contained in, the Simplified BSD License
+        set forth in Section 4.c of the IETF Trust's Legal Provisions
+        Relating to IETF Documents
+        (http://trustee.ietf.org/license-info).
+
+        The initial version of this YANG module is part of RFC 7224;
+        see the RFC itself for full legal notices.";
+       reference
+         "IANA 'ifType definitions' registry.
+          <http://www.iana.org/assignments/smi-numbers>";
+
+     revision 2014-05-08 {
+       description
+         "Initial revision.";
+       reference
+         "RFC 7224: IANA Interface Type YANG Module";
+     }
+
+     identity iana-interface-type {
+       base if:interface-type;
+       description
+         "This identity is used as a base for all interface types
+          defined in the 'ifType definitions' registry.";
+     }
+     identity other {
+       base iana-interface-type;
+     }
+     identity regular1822 {
+       base iana-interface-type;
+     }
+     identity hdh1822 {
+       base iana-interface-type;
+     }
+     identity ddnX25 {
+       base iana-interface-type;
+     }
+     identity rfc877x25 {
+       base iana-interface-type;
+       reference
+         "RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer";
+     }
+     identity ethernetCsmacd {
+       base iana-interface-type;
+       description
+         "For all Ethernet-like interfaces, regardless of speed,
+          as per RFC 3635.";
+       reference
+         "RFC 3635 - Definitions of Managed Objects for the
+                     Ethernet-like Interface Types";
+     }
+     identity iso88023Csmacd {
+       base iana-interface-type;
+       status deprecated;
+       description
+         "Deprecated via RFC 3635.
+          Use ethernetCsmacd(6) instead.";
+       reference
+         "RFC 3635 - Definitions of Managed Objects for the
+                     Ethernet-like Interface Types";
+     }
+     identity iso88024TokenBus {
+       base iana-interface-type;
+     }
+     identity iso88025TokenRing {
+       base iana-interface-type;
+     }
+     identity iso88026Man {
+       base iana-interface-type;
+     }
+     identity starLan {
+       base iana-interface-type;
+       status deprecated;
+       description
+         "Deprecated via RFC 3635.
+          Use ethernetCsmacd(6) instead.";
+       reference
+         "RFC 3635 - Definitions of Managed Objects for the
+                     Ethernet-like Interface Types";
+     }
+     identity proteon10Mbit {
+       base iana-interface-type;
+     }
+     identity proteon80Mbit {
+       base iana-interface-type;
+     }
+     identity hyperchannel {
+       base iana-interface-type;
+     }
+     identity fddi {
+       base iana-interface-type;
+       reference
+         "RFC 1512 - FDDI Management Information Base";
+     }
+     identity lapb {
+       base iana-interface-type;
+       reference
+         "RFC 1381 - SNMP MIB Extension for X.25 LAPB";
+     }
+     identity sdlc {
+       base iana-interface-type;
+     }
+     identity ds1 {
+       base iana-interface-type;
+       description
+         "DS1-MIB.";
+       reference
+         "RFC 4805 - Definitions of Managed Objects for the
+                     DS1, J1, E1, DS2, and E2 Interface Types";
+     }
+     identity e1 {
+       base iana-interface-type;
+       status obsolete;
+       description
+         "Obsolete; see DS1-MIB.";
+       reference
+         "RFC 4805 - Definitions of Managed Objects for the
+                     DS1, J1, E1, DS2, and E2 Interface Types";
+     }
+     identity basicISDN {
+       base iana-interface-type;
+       description
+         "No longer used.  See also RFC 2127.";
+     }
+     identity primaryISDN {
+       base iana-interface-type;
+       description
+         "No longer used.  See also RFC 2127.";
+     }
+     identity propPointToPointSerial {
+       base iana-interface-type;
+       description
+         "Proprietary serial.";
+     }
+     identity ppp {
+       base iana-interface-type;
+     }
+     identity softwareLoopback {
+       base iana-interface-type;
+     }
+     identity eon {
+       base iana-interface-type;
+       description
+         "CLNP over IP.";
+     }
+     identity ethernet3Mbit {
+       base iana-interface-type;
+     }
+     identity nsip {
+       base iana-interface-type;
+       description
+         "XNS over IP.";
+     }
+     identity slip {
+       base iana-interface-type;
+       description
+         "Generic SLIP.";
+     }
+     identity ultra {
+       base iana-interface-type;
+       description
+         "Ultra Technologies.";
+     }
+     identity ds3 {
+       base iana-interface-type;
+       description
+         "DS3-MIB.";
+       reference
+         "RFC 3896 - Definitions of Managed Objects for the
+                     DS3/E3 Interface Type";
+     }
+     identity sip {
+       base iana-interface-type;
+       description
+         "SMDS, coffee.";
+       reference
+         "RFC 1694 - Definitions of Managed Objects for SMDS
+                     Interfaces using SMIv2";
+     }
+     identity frameRelay {
+       base iana-interface-type;
+       description
+         "DTE only.";
+       reference
+         "RFC 2115 - Management Information Base for Frame Relay
+                     DTEs Using SMIv2";
+     }
+     identity rs232 {
+       base iana-interface-type;
+       reference
+         "RFC 1659 - Definitions of Managed Objects for RS-232-like
+                     Hardware Devices using SMIv2";
+     }
+     identity para {
+       base iana-interface-type;
+       description
+         "Parallel-port.";
+       reference
+         "RFC 1660 - Definitions of Managed Objects for
+                     Parallel-printer-like Hardware Devices using
+                     SMIv2";
+     }
+     identity arcnet {
+       base iana-interface-type;
+       description
+         "ARCnet.";
+     }
+     identity arcnetPlus {
+       base iana-interface-type;
+       description
+         "ARCnet Plus.";
+     }
+     identity atm {
+       base iana-interface-type;
+       description
+         "ATM cells.";
+     }
+     identity miox25 {
+       base iana-interface-type;
+       reference
+         "RFC 1461 - SNMP MIB extension for Multiprotocol
+                     Interconnect over X.25";
+     }
+     identity sonet {
+       base iana-interface-type;
+       description
+         "SONET or SDH.";
+     }
+     identity x25ple {
+       base iana-interface-type;
+       reference
+         "RFC 2127 - ISDN Management Information Base using SMIv2";
+     }
+     identity iso88022llc {
+       base iana-interface-type;
+     }
+     identity localTalk {
+       base iana-interface-type;
+     }
+     identity smdsDxi {
+       base iana-interface-type;
+     }
+     identity frameRelayService {
+       base iana-interface-type;
+       description
+         "FRNETSERV-MIB.";
+       reference
+         "RFC 2954 - Definitions of Managed Objects for Frame
+                     Relay Service";
+     }
+     identity v35 {
+       base iana-interface-type;
+     }
+     identity hssi {
+       base iana-interface-type;
+     }
+     identity hippi {
+       base iana-interface-type;
+     }
+     identity modem {
+       base iana-interface-type;
+       description
+         "Generic modem.";
+     }
+     identity aal5 {
+       base iana-interface-type;
+       description
+         "AAL5 over ATM.";
+     }
+     identity sonetPath {
+       base iana-interface-type;
+     }
+     identity sonetVT {
+       base iana-interface-type;
+     }
+     identity smdsIcip {
+       base iana-interface-type;
+       description
+         "SMDS InterCarrier Interface.";
+     }
+     identity propVirtual {
+       base iana-interface-type;
+       description
+         "Proprietary virtual/internal.";
+       reference
+         "RFC 2863 - The Interfaces Group MIB";
+     }
+     identity propMultiplexor {
+       base iana-interface-type;
+       description
+         "Proprietary multiplexing.";
+       reference
+         "RFC 2863 - The Interfaces Group MIB";
+     }
+     identity ieee80212 {
+       base iana-interface-type;
+       description
+         "100BaseVG.";
+     }
+     identity fibreChannel {
+       base iana-interface-type;
+       description
+         "Fibre Channel.";
+     }
+     identity hippiInterface {
+       base iana-interface-type;
+       description
+         "HIPPI interfaces.";
+     }
+     identity frameRelayInterconnect {
+       base iana-interface-type;
+       status obsolete;
+       description
+         "Obsolete; use either
+          frameRelay(32) or frameRelayService(44).";
+     }
+     identity aflane8023 {
+       base iana-interface-type;
+       description
+         "ATM Emulated LAN for 802.3.";
+     }
+     identity aflane8025 {
+       base iana-interface-type;
+       description
+         "ATM Emulated LAN for 802.5.";
+     }
+     identity cctEmul {
+       base iana-interface-type;
+       description
+         "ATM Emulated circuit.";
+     }
+     identity fastEther {
+       base iana-interface-type;
+       status deprecated;
+       description
+         "Obsoleted via RFC 3635.
+          ethernetCsmacd(6) should be used instead.";
+       reference
+         "RFC 3635 - Definitions of Managed Objects for the
+                     Ethernet-like Interface Types";
+     }
+     identity isdn {
+       base iana-interface-type;
+       description
+         "ISDN and X.25.";
+       reference
+         "RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN
+                     in the Packet Mode";
+     }
+     identity v11 {
+       base iana-interface-type;
+       description
+         "CCITT V.11/X.21.";
+     }
+     identity v36 {
+       base iana-interface-type;
+       description
+         "CCITT V.36.";
+     }
+     identity g703at64k {
+       base iana-interface-type;
+       description
+         "CCITT G703 at 64Kbps.";
+     }
+     identity g703at2mb {
+       base iana-interface-type;
+       status obsolete;
+       description
+         "Obsolete; see DS1-MIB.";
+     }
+     identity qllc {
+       base iana-interface-type;
+       description
+         "SNA QLLC.";
+     }
+     identity fastEtherFX {
+       base iana-interface-type;
+       status deprecated;
+       description
+         "Obsoleted via RFC 3635.
+          ethernetCsmacd(6) should be used instead.";
+       reference
+         "RFC 3635 - Definitions of Managed Objects for the
+                     Ethernet-like Interface Types";
+     }
+     identity channel {
+       base iana-interface-type;
+       description
+         "Channel.";
+     }
+     identity ieee80211 {
+       base iana-interface-type;
+       description
+         "Radio spread spectrum.";
+     }
+     identity ibm370parChan {
+       base iana-interface-type;
+       description
+         "IBM System 360/370 OEMI Channel.";
+     }
+     identity escon {
+       base iana-interface-type;
+       description
+         "IBM Enterprise Systems Connection.";
+     }
+     identity dlsw {
+       base iana-interface-type;
+       description
+         "Data Link Switching.";
+     }
+     identity isdns {
+       base iana-interface-type;
+       description
+         "ISDN S/T interface.";
+     }
+     identity isdnu {
+       base iana-interface-type;
+       description
+         "ISDN U interface.";
+     }
+     identity lapd {
+       base iana-interface-type;
+       description
+         "Link Access Protocol D.";
+     }
+     identity ipSwitch {
+       base iana-interface-type;
+       description
+         "IP Switching Objects.";
+     }
+     identity rsrb {
+       base iana-interface-type;
+       description
+         "Remote Source Route Bridging.";
+     }
+     identity atmLogical {
+       base iana-interface-type;
+       description
+         "ATM Logical Port.";
+       reference
+         "RFC 3606 - Definitions of Supplemental Managed Objects
+                     for ATM Interface";
+     }
+     identity ds0 {
+       base iana-interface-type;
+       description
+         "Digital Signal Level 0.";
+       reference
+         "RFC 2494 - Definitions of Managed Objects for the DS0
+                     and DS0 Bundle Interface Type";
+     }
+     identity ds0Bundle {
+       base iana-interface-type;
+       description
+         "Group of ds0s on the same ds1.";
+       reference
+         "RFC 2494 - Definitions of Managed Objects for the DS0
+                     and DS0 Bundle Interface Type";
+     }
+     identity bsc {
+       base iana-interface-type;
+       description
+         "Bisynchronous Protocol.";
+     }
+     identity async {
+       base iana-interface-type;
+       description
+         "Asynchronous Protocol.";
+     }
+     identity cnr {
+       base iana-interface-type;
+       description
+         "Combat Net Radio.";
+     }
+     identity iso88025Dtr {
+       base iana-interface-type;
+       description
+         "ISO 802.5r DTR.";
+     }
+     identity eplrs {
+       base iana-interface-type;
+       description
+         "Ext Pos Loc Report Sys.";
+     }
+     identity arap {
+       base iana-interface-type;
+       description
+         "Appletalk Remote Access Protocol.";
+     }
+     identity propCnls {
+       base iana-interface-type;
+       description
+         "Proprietary Connectionless Protocol.";
+     }
+     identity hostPad {
+       base iana-interface-type;
+       description
+         "CCITT-ITU X.29 PAD Protocol.";
+     }
+     identity termPad {
+       base iana-interface-type;
+       description
+         "CCITT-ITU X.3 PAD Facility.";
+     }
+     identity frameRelayMPI {
+       base iana-interface-type;
+       description
+         "Multiproto Interconnect over FR.";
+     }
+     identity x213 {
+       base iana-interface-type;
+       description
+         "CCITT-ITU X213.";
+     }
+     identity adsl {
+       base iana-interface-type;
+       description
+         "Asymmetric Digital Subscriber Loop.";
+     }
+     identity radsl {
+       base iana-interface-type;
+       description
+         "Rate-Adapt. Digital Subscriber Loop.";
+     }
+     identity sdsl {
+       base iana-interface-type;
+       description
+         "Symmetric Digital Subscriber Loop.";
+     }
+     identity vdsl {
+       base iana-interface-type;
+       description
+         "Very H-Speed Digital Subscrib. Loop.";
+     }
+     identity iso88025CRFPInt {
+       base iana-interface-type;
+       description
+         "ISO 802.5 CRFP.";
+     }
+     identity myrinet {
+       base iana-interface-type;
+       description
+         "Myricom Myrinet.";
+     }
+     identity voiceEM {
+       base iana-interface-type;
+       description
+         "Voice recEive and transMit.";
+     }
+     identity voiceFXO {
+       base iana-interface-type;
+       description
+         "Voice Foreign Exchange Office.";
+     }
+     identity voiceFXS {
+       base iana-interface-type;
+       description
+         "Voice Foreign Exchange Station.";
+     }
+     identity voiceEncap {
+       base iana-interface-type;
+       description
+         "Voice encapsulation.";
+     }
+     identity voiceOverIp {
+       base iana-interface-type;
+       description
+         "Voice over IP encapsulation.";
+     }
+     identity atmDxi {
+       base iana-interface-type;
+       description
+         "ATM DXI.";
+     }
+     identity atmFuni {
+       base iana-interface-type;
+       description
+         "ATM FUNI.";
+     }
+     identity atmIma {
+       base iana-interface-type;
+       description
+         "ATM IMA.";
+     }
+     identity pppMultilinkBundle {
+       base iana-interface-type;
+       description
+         "PPP Multilink Bundle.";
+     }
+     identity ipOverCdlc {
+       base iana-interface-type;
+       description
+         "IBM ipOverCdlc.";
+     }
+     identity ipOverClaw {
+       base iana-interface-type;
+       description
+         "IBM Common Link Access to Workstn.";
+     }
+     identity stackToStack {
+       base iana-interface-type;
+       description
+         "IBM stackToStack.";
+     }
+     identity virtualIpAddress {
+       base iana-interface-type;
+       description
+         "IBM VIPA.";
+     }
+     identity mpc {
+       base iana-interface-type;
+       description
+         "IBM multi-protocol channel support.";
+     }
+     identity ipOverAtm {
+       base iana-interface-type;
+       description
+         "IBM ipOverAtm.";
+       reference
+         "RFC 2320 - Definitions of Managed Objects for Classical IP
+                     and ARP Over ATM Using SMIv2 (IPOA-MIB)";
+     }
+     identity iso88025Fiber {
+       base iana-interface-type;
+       description
+         "ISO 802.5j Fiber Token Ring.";
+     }
+     identity tdlc {
+       base iana-interface-type;
+       description
+         "IBM twinaxial data link control.";
+     }
+     identity gigabitEthernet {
+       base iana-interface-type;
+       status deprecated;
+       description
+         "Obsoleted via RFC 3635.
+          ethernetCsmacd(6) should be used instead.";
+       reference
+         "RFC 3635 - Definitions of Managed Objects for the
+                     Ethernet-like Interface Types";
+     }
+     identity hdlc {
+       base iana-interface-type;
+       description
+         "HDLC.";
+     }
+     identity lapf {
+       base iana-interface-type;
+       description
+         "LAP F.";
+     }
+     identity v37 {
+       base iana-interface-type;
+       description
+         "V.37.";
+     }
+     identity x25mlp {
+       base iana-interface-type;
+       description
+         "Multi-Link Protocol.";
+     }
+     identity x25huntGroup {
+       base iana-interface-type;
+       description
+         "X25 Hunt Group.";
+     }
+     identity transpHdlc {
+       base iana-interface-type;
+       description
+         "Transp HDLC.";
+     }
+     identity interleave {
+       base iana-interface-type;
+       description
+         "Interleave channel.";
+     }
+     identity fast {
+       base iana-interface-type;
+       description
+         "Fast channel.";
+     }
+     identity ip {
+       base iana-interface-type;
+       description
+         "IP (for APPN HPR in IP networks).";
+     }
+     identity docsCableMaclayer {
+       base iana-interface-type;
+       description
+         "CATV Mac Layer.";
+     }
+     identity docsCableDownstream {
+       base iana-interface-type;
+       description
+         "CATV Downstream interface.";
+     }
+     identity docsCableUpstream {
+       base iana-interface-type;
+       description
+         "CATV Upstream interface.";
+     }
+     identity a12MppSwitch {
+       base iana-interface-type;
+       description
+         "Avalon Parallel Processor.";
+     }
+     identity tunnel {
+       base iana-interface-type;
+       description
+         "Encapsulation interface.";
+     }
+     identity coffee {
+       base iana-interface-type;
+       description
+         "Coffee pot.";
+       reference
+         "RFC 2325 - Coffee MIB";
+     }
+     identity ces {
+       base iana-interface-type;
+       description
+         "Circuit Emulation Service.";
+     }
+     identity atmSubInterface {
+       base iana-interface-type;
+       description
+         "ATM Sub Interface.";
+     }
+     identity l2vlan {
+       base iana-interface-type;
+       description
+         "Layer 2 Virtual LAN using 802.1Q.";
+     }
+     identity l3ipvlan {
+       base iana-interface-type;
+       description
+         "Layer 3 Virtual LAN using IP.";
+     }
+     identity l3ipxvlan {
+       base iana-interface-type;
+       description
+         "Layer 3 Virtual LAN using IPX.";
+     }
+     identity digitalPowerline {
+       base iana-interface-type;
+       description
+         "IP over Power Lines.";
+     }
+     identity mediaMailOverIp {
+       base iana-interface-type;
+       description
+         "Multimedia Mail over IP.";
+     }
+     identity dtm {
+       base iana-interface-type;
+       description
+         "Dynamic synchronous Transfer Mode.";
+     }
+     identity dcn {
+       base iana-interface-type;
+       description
+         "Data Communications Network.";
+     }
+     identity ipForward {
+       base iana-interface-type;
+       description
+         "IP Forwarding Interface.";
+     }
+     identity msdsl {
+       base iana-interface-type;
+       description
+         "Multi-rate Symmetric DSL.";
+     }
+     identity ieee1394 {
+       base iana-interface-type;
+       description
+         "IEEE1394 High Performance Serial Bus.";
+     }
+     identity if-gsn {
+       base iana-interface-type;
+       description
+         "HIPPI-6400.";
+     }
+     identity dvbRccMacLayer {
+       base iana-interface-type;
+       description
+         "DVB-RCC MAC Layer.";
+     }
+     identity dvbRccDownstream {
+       base iana-interface-type;
+       description
+         "DVB-RCC Downstream Channel.";
+     }
+     identity dvbRccUpstream {
+       base iana-interface-type;
+       description
+         "DVB-RCC Upstream Channel.";
+     }
+     identity atmVirtual {
+       base iana-interface-type;
+       description
+         "ATM Virtual Interface.";
+     }
+     identity mplsTunnel {
+       base iana-interface-type;
+       description
+         "MPLS Tunnel Virtual Interface.";
+     }
+     identity srp {
+       base iana-interface-type;
+       description
+         "Spatial Reuse Protocol.";
+     }
+     identity voiceOverAtm {
+       base iana-interface-type;
+       description
+         "Voice over ATM.";
+     }
+     identity voiceOverFrameRelay {
+       base iana-interface-type;
+       description
+         "Voice Over Frame Relay.";
+     }
+     identity idsl {
+       base iana-interface-type;
+       description
+         "Digital Subscriber Loop over ISDN.";
+     }
+     identity compositeLink {
+       base iana-interface-type;
+       description
+         "Avici Composite Link Interface.";
+     }
+     identity ss7SigLink {
+       base iana-interface-type;
+       description
+         "SS7 Signaling Link.";
+     }
+     identity propWirelessP2P {
+       base iana-interface-type;
+       description
+         "Prop. P2P wireless interface.";
+     }
+     identity frForward {
+       base iana-interface-type;
+       description
+         "Frame Forward Interface.";
+     }
+     identity rfc1483 {
+       base iana-interface-type;
+       description
+         "Multiprotocol over ATM AAL5.";
+       reference
+         "RFC 1483 - Multiprotocol Encapsulation over ATM
+                     Adaptation Layer 5";
+     }
+     identity usb {
+       base iana-interface-type;
+       description
+         "USB Interface.";
+     }
+     identity ieee8023adLag {
+       base iana-interface-type;
+       description
+         "IEEE 802.3ad Link Aggregate.";
+     }
+     identity bgppolicyaccounting {
+       base iana-interface-type;
+       description
+         "BGP Policy Accounting.";
+     }
+     identity frf16MfrBundle {
+       base iana-interface-type;
+       description
+         "FRF.16 Multilink Frame Relay.";
+     }
+     identity h323Gatekeeper {
+       base iana-interface-type;
+       description
+         "H323 Gatekeeper.";
+     }
+     identity h323Proxy {
+       base iana-interface-type;
+       description
+         "H323 Voice and Video Proxy.";
+     }
+     identity mpls {
+       base iana-interface-type;
+       description
+         "MPLS.";
+     }
+     identity mfSigLink {
+       base iana-interface-type;
+       description
+         "Multi-frequency signaling link.";
+     }
+     identity hdsl2 {
+       base iana-interface-type;
+       description
+         "High Bit-Rate DSL - 2nd generation.";
+     }
+     identity shdsl {
+       base iana-interface-type;
+       description
+         "Multirate HDSL2.";
+     }
+     identity ds1FDL {
+       base iana-interface-type;
+       description
+         "Facility Data Link (4Kbps) on a DS1.";
+     }
+     identity pos {
+       base iana-interface-type;
+       description
+         "Packet over SONET/SDH Interface.";
+     }
+     identity dvbAsiIn {
+       base iana-interface-type;
+       description
+         "DVB-ASI Input.";
+     }
+     identity dvbAsiOut {
+       base iana-interface-type;
+       description
+         "DVB-ASI Output.";
+     }
+     identity plc {
+       base iana-interface-type;
+       description
+         "Power Line Communications.";
+     }
+     identity nfas {
+       base iana-interface-type;
+       description
+         "Non-Facility Associated Signaling.";
+     }
+     identity tr008 {
+       base iana-interface-type;
+       description
+         "TR008.";
+     }
+     identity gr303RDT {
+       base iana-interface-type;
+       description
+         "Remote Digital Terminal.";
+     }
+     identity gr303IDT {
+       base iana-interface-type;
+       description
+         "Integrated Digital Terminal.";
+     }
+     identity isup {
+       base iana-interface-type;
+       description
+         "ISUP.";
+     }
+     identity propDocsWirelessMaclayer {
+       base iana-interface-type;
+       description
+         "Cisco proprietary Maclayer.";
+     }
+     identity propDocsWirelessDownstream {
+       base iana-interface-type;
+       description
+         "Cisco proprietary Downstream.";
+     }
+     identity propDocsWirelessUpstream {
+       base iana-interface-type;
+       description
+         "Cisco proprietary Upstream.";
+     }
+     identity hiperlan2 {
+       base iana-interface-type;
+       description
+         "HIPERLAN Type 2 Radio Interface.";
+     }
+     identity propBWAp2Mp {
+       base iana-interface-type;
+       description
+         "PropBroadbandWirelessAccesspt2Multipt (use of this value
+          for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f
+          is deprecated, and ieee80216WMAN(237) should be used
+          instead).";
+     }
+     identity sonetOverheadChannel {
+       base iana-interface-type;
+       description
+         "SONET Overhead Channel.";
+     }
+     identity digitalWrapperOverheadChannel {
+       base iana-interface-type;
+       description
+         "Digital Wrapper.";
+     }
+     identity aal2 {
+       base iana-interface-type;
+       description
+         "ATM adaptation layer 2.";
+     }
+     identity radioMAC {
+       base iana-interface-type;
+       description
+         "MAC layer over radio links.";
+     }
+     identity atmRadio {
+       base iana-interface-type;
+       description
+         "ATM over radio links.";
+     }
+     identity imt {
+       base iana-interface-type;
+       description
+         "Inter-Machine Trunks.";
+     }
+     identity mvl {
+       base iana-interface-type;
+       description
+         "Multiple Virtual Lines DSL.";
+     }
+     identity reachDSL {
+       base iana-interface-type;
+       description
+         "Long Reach DSL.";
+     }
+     identity frDlciEndPt {
+       base iana-interface-type;
+       description
+         "Frame Relay DLCI End Point.";
+     }
+     identity atmVciEndPt {
+       base iana-interface-type;
+       description
+         "ATM VCI End Point.";
+     }
+     identity opticalChannel {
+       base iana-interface-type;
+       description
+         "Optical Channel.";
+     }
+     identity opticalTransport {
+       base iana-interface-type;
+       description
+         "Optical Transport.";
+     }
+     identity propAtm {
+       base iana-interface-type;
+       description
+         "Proprietary ATM.";
+     }
+     identity voiceOverCable {
+       base iana-interface-type;
+       description
+         "Voice Over Cable Interface.";
+     }
+     identity infiniband {
+       base iana-interface-type;
+       description
+         "Infiniband.";
+     }
+     identity teLink {
+       base iana-interface-type;
+       description
+         "TE Link.";
+     }
+     identity q2931 {
+       base iana-interface-type;
+       description
+         "Q.2931.";
+     }
+     identity virtualTg {
+       base iana-interface-type;
+       description
+         "Virtual Trunk Group.";
+     }
+     identity sipTg {
+       base iana-interface-type;
+       description
+         "SIP Trunk Group.";
+     }
+     identity sipSig {
+       base iana-interface-type;
+       description
+         "SIP Signaling.";
+     }
+     identity docsCableUpstreamChannel {
+       base iana-interface-type;
+       description
+         "CATV Upstream Channel.";
+     }
+     identity econet {
+       base iana-interface-type;
+       description
+         "Acorn Econet.";
+     }
+     identity pon155 {
+       base iana-interface-type;
+       description
+         "FSAN 155Mb Symetrical PON interface.";
+     }
+     identity pon622 {
+       base iana-interface-type;
+       description
+         "FSAN 622Mb Symetrical PON interface.";
+     }
+     identity bridge {
+       base iana-interface-type;
+       description
+         "Transparent bridge interface.";
+     }
+     identity linegroup {
+       base iana-interface-type;
+       description
+         "Interface common to multiple lines.";
+     }
+     identity voiceEMFGD {
+       base iana-interface-type;
+       description
+         "Voice E&M Feature Group D.";
+     }
+     identity voiceFGDEANA {
+       base iana-interface-type;
+       description
+         "Voice FGD Exchange Access North American.";
+     }
+     identity voiceDID {
+       base iana-interface-type;
+       description
+         "Voice Direct Inward Dialing.";
+     }
+     identity mpegTransport {
+       base iana-interface-type;
+       description
+         "MPEG transport interface.";
+     }
+     identity sixToFour {
+       base iana-interface-type;
+       status deprecated;
+       description
+         "6to4 interface (DEPRECATED).";
+       reference
+         "RFC 4087 - IP Tunnel MIB";
+     }
+     identity gtp {
+       base iana-interface-type;
+       description
+         "GTP (GPRS Tunneling Protocol).";
+     }
+     identity pdnEtherLoop1 {
+       base iana-interface-type;
+       description
+         "Paradyne EtherLoop 1.";
+     }
+     identity pdnEtherLoop2 {
+       base iana-interface-type;
+       description
+         "Paradyne EtherLoop 2.";
+     }
+     identity opticalChannelGroup {
+       base iana-interface-type;
+       description
+         "Optical Channel Group.";
+     }
+     identity homepna {
+       base iana-interface-type;
+       description
+         "HomePNA ITU-T G.989.";
+     }
+     identity gfp {
+       base iana-interface-type;
+       description
+         "Generic Framing Procedure (GFP).";
+     }
+     identity ciscoISLvlan {
+       base iana-interface-type;
+       description
+         "Layer 2 Virtual LAN using Cisco ISL.";
+     }
+     identity actelisMetaLOOP {
+       base iana-interface-type;
+       description
+         "Acteleis proprietary MetaLOOP High Speed Link.";
+     }
+     identity fcipLink {
+       base iana-interface-type;
+       description
+         "FCIP Link.";
+     }
+     identity rpr {
+       base iana-interface-type;
+       description
+         "Resilient Packet Ring Interface Type.";
+     }
+     identity qam {
+       base iana-interface-type;
+       description
+         "RF Qam Interface.";
+     }
+     identity lmp {
+       base iana-interface-type;
+       description
+         "Link Management Protocol.";
+       reference
+         "RFC 4327 - Link Management Protocol (LMP) Management
+                     Information Base (MIB)";
+     }
+     identity cblVectaStar {
+       base iana-interface-type;
+       description
+         "Cambridge Broadband Networks Limited VectaStar.";
+     }
+     identity docsCableMCmtsDownstream {
+       base iana-interface-type;
+       description
+         "CATV Modular CMTS Downstream Interface.";
+     }
+     identity adsl2 {
+       base iana-interface-type;
+       status deprecated;
+       description
+         "Asymmetric Digital Subscriber Loop Version 2
+          (DEPRECATED/OBSOLETED - please use adsl2plus(238)
+          instead).";
+       reference
+         "RFC 4706 - Definitions of Managed Objects for Asymmetric
+                     Digital Subscriber Line 2 (ADSL2)";
+     }
+     identity macSecControlledIF {
+       base iana-interface-type;
+       description
+         "MACSecControlled.";
+     }
+     identity macSecUncontrolledIF {
+       base iana-interface-type;
+       description
+         "MACSecUncontrolled.";
+     }
+     identity aviciOpticalEther {
+       base iana-interface-type;
+       description
+         "Avici Optical Ethernet Aggregate.";
+     }
+     identity atmbond {
+       base iana-interface-type;
+       description
+         "atmbond.";
+     }
+     identity voiceFGDOS {
+       base iana-interface-type;
+       description
+         "Voice FGD Operator Services.";
+     }
+     identity mocaVersion1 {
+       base iana-interface-type;
+       description
+         "MultiMedia over Coax Alliance (MoCA) Interface
+          as documented in information provided privately to IANA.";
+     }
+     identity ieee80216WMAN {
+       base iana-interface-type;
+       description
+         "IEEE 802.16 WMAN interface.";
+     }
+     identity adsl2plus {
+       base iana-interface-type;
+       description
+         "Asymmetric Digital Subscriber Loop Version 2 -
+          Version 2 Plus and all variants.";
+     }
+     identity dvbRcsMacLayer {
+       base iana-interface-type;
+       description
+         "DVB-RCS MAC Layer.";
+       reference
+         "RFC 5728 - The SatLabs Group DVB-RCS MIB";
+     }
+     identity dvbTdm {
+       base iana-interface-type;
+       description
+         "DVB Satellite TDM.";
+       reference
+         "RFC 5728 - The SatLabs Group DVB-RCS MIB";
+     }
+     identity dvbRcsTdma {
+       base iana-interface-type;
+       description
+         "DVB-RCS TDMA.";
+       reference
+         "RFC 5728 - The SatLabs Group DVB-RCS MIB";
+     }
+     identity x86Laps {
+       base iana-interface-type;
+       description
+         "LAPS based on ITU-T X.86/Y.1323.";
+     }
+     identity wwanPP {
+       base iana-interface-type;
+       description
+         "3GPP WWAN.";
+     }
+     identity wwanPP2 {
+       base iana-interface-type;
+       description
+         "3GPP2 WWAN.";
+     }
+     identity voiceEBS {
+       base iana-interface-type;
+       description
+         "Voice P-phone EBS physical interface.";
+     }
+     identity ifPwType {
+       base iana-interface-type;
+       description
+         "Pseudowire interface type.";
+       reference
+         "RFC 5601 - Pseudowire (PW) Management Information Base (MIB)";
+     }
+     identity ilan {
+       base iana-interface-type;
+       description
+         "Internal LAN on a bridge per IEEE 802.1ap.";
+     }
+     identity pip {
+       base iana-interface-type;
+       description
+         "Provider Instance Port on a bridge per IEEE 802.1ah PBB.";
+     }
+     identity aluELP {
+       base iana-interface-type;
+       description
+         "Alcatel-Lucent Ethernet Link Protection.";
+     }
+     identity gpon {
+       base iana-interface-type;
+       description
+         "Gigabit-capable passive optical networks (G-PON) as per
+          ITU-T G.948.";
+     }
+     identity vdsl2 {
+       base iana-interface-type;
+       description
+         "Very high speed digital subscriber line Version 2
+          (as per ITU-T Recommendation G.993.2).";
+       reference
+         "RFC 5650 - Definitions of Managed Objects for Very High
+                     Speed Digital Subscriber Line 2 (VDSL2)";
+     }
+     identity capwapDot11Profile {
+       base iana-interface-type;
+       description
+         "WLAN Profile Interface.";
+       reference
+         "RFC 5834 - Control and Provisioning of Wireless Access
+                     Points (CAPWAP) Protocol Binding MIB for
+                     IEEE 802.11";
+     }
+     identity capwapDot11Bss {
+       base iana-interface-type;
+       description
+         "WLAN BSS Interface.";
+       reference
+         "RFC 5834 - Control and Provisioning of Wireless Access
+                     Points (CAPWAP) Protocol Binding MIB for
+                     IEEE 802.11";
+     }
+     identity capwapWtpVirtualRadio {
+       base iana-interface-type;
+       description
+         "WTP Virtual Radio Interface.";
+       reference
+         "RFC 5833 - Control and Provisioning of Wireless Access
+                     Points (CAPWAP) Protocol Base MIB";
+     }
+     identity bits {
+       base iana-interface-type;
+       description
+         "bitsport.";
+     }
+     identity docsCableUpstreamRfPort {
+       base iana-interface-type;
+       description
+         "DOCSIS CATV Upstream RF Port.";
+     }
+     identity cableDownstreamRfPort {
+       base iana-interface-type;
+       description
+         "CATV downstream RF Port.";
+     }
+     identity vmwareVirtualNic {
+       base iana-interface-type;
+       description
+         "VMware Virtual Network Interface.";
+     }
+     identity ieee802154 {
+       base iana-interface-type;
+       description
+         "IEEE 802.15.4 WPAN interface.";
+       reference
+         "IEEE 802.15.4-2006";
+     }
+     identity otnOdu {
+       base iana-interface-type;
+       description
+         "OTN Optical Data Unit.";
+     }
+     identity otnOtu {
+       base iana-interface-type;
+       description
+         "OTN Optical channel Transport Unit.";
+     }
+     identity ifVfiType {
+       base iana-interface-type;
+       description
+         "VPLS Forwarding Instance Interface Type.";
+     }
+     identity g9981 {
+       base iana-interface-type;
+       description
+         "G.998.1 bonded interface.";
+     }
+     identity g9982 {
+       base iana-interface-type;
+       description
+         "G.998.2 bonded interface.";
+     }
+     identity g9983 {
+       base iana-interface-type;
+       description
+         "G.998.3 bonded interface.";
+     }
+     identity aluEpon {
+       base iana-interface-type;
+       description
+         "Ethernet Passive Optical Networks (E-PON).";
+     }
+     identity aluEponOnu {
+       base iana-interface-type;
+       description
+         "EPON Optical Network Unit.";
+     }
+     identity aluEponPhysicalUni {
+       base iana-interface-type;
+       description
+         "EPON physical User to Network interface.";
+     }
+     identity aluEponLogicalLink {
+       base iana-interface-type;
+       description
+         "The emulation of a point-to-point link over the EPON
+          layer.";
+     }
+     identity aluGponOnu {
+       base iana-interface-type;
+       description
+         "GPON Optical Network Unit.";
+       reference
+         "ITU-T G.984.2";
+     }
+     identity aluGponPhysicalUni {
+       base iana-interface-type;
+       description
+         "GPON physical User to Network interface.";
+       reference
+         "ITU-T G.984.2";
+     }
+     identity vmwareNicTeam {
+       base iana-interface-type;
+       description
+         "VMware NIC Team.";
+     }
+   }