<?xml version="1.0" encoding="US-ASCII"?>
<!-- change the "txt" on the previous line to "xml" to make this a valid XML2RFC template --> 
<!-- this is version 5 of this xml2rfc template -->
<!--
    DOCTYPE processing

To use this XML template, the rfc2629.dtd from the xml2rfc distribution should 
be in the local directory. The xml2rfc distribution is available from 
http://xml.resource.org/

 The ENTITY clauses create an include of the named XML files, which
contains references written in xml2rfc format.

 XML2RFC offers an include feature described in the XML2RFC README
  file.  That syntax, however, contradicts the DTD requirements to
  have <reference> elements within the <references> element, so an 
  XML parser is likely to find your XML file invalid.  It may be
  possible that XML2RFC will change their DTD so that the XML file
  remains valid when their style of include is used.

Some editors, such as XXE, resolve the ENTITY clauses before displaying the 
document to be edited.
-->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc2223 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2223.xml">
<!ENTITY rfc2578 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2578.xml">
<!ENTITY rfc2579 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2579.xml">
<!ENTITY rfc2580 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2580.xml">
<!ENTITY rfc2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY rfc3410 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3410.xml">
<!ENTITY rfc4001 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4001.xml">
<!ENTITY rfc4181 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4181.xml">
]>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict="no"?>
<?rfc rfcedstyle="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>

<!-- Document  section 

Specify the category attribute per RFC2026 
options are info, std, bcp, or exp. 

docname is the name of the output document. This is optional;
the default is to use the base portion of the XML filename. 

For Internet-drafts, indicate which intellectual property notice 
to use per the rules of RFC3978. The value (as of this template) can be:
    full3978 -
    noModification3978 -
    noDerivatives3978 -
 The Intellectual Property section will be generated automatically by
  XML2RFC, based on the ipr attribute in the rfc element.

If this document obsoletes an RFC, specify the RFC in the "obsoletes" attribute
If this document updates an RFC, specify the RFC in the "updates" attribute
-->
<rfc category="std" docName="draft-ietf-softwire-mesh-mib-10" ipr="trust200902">
  <front>
    <!--
Enter the full document title and an abbreviated version
  to use in the page header.
-->

    <title abbrev="swmMIB">Softwire Mesh Management Information Base (MIB)</title>

    <!-- copy the author block as many times as needed, one for each author.-->

    <!-- If the author is acting as editor, use the <role=editor> attribute-->

    <!-- see RFC2223 for guidelines regarding author names -->
    <author fullname="Yong Cui" initials="Y" surname="Cui">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street>Department of Computer Science, Tsinghua University</street>
          <city>Beijing</city>
          <code>100084</code>
          <country>P.R.China</country>
        </postal>
        <phone>+86-10-6260-3059</phone>
        <email>yong@csnet1.cs.tsinghua.edu.cn</email>
      </address>
    </author>    
    
    <author fullname="Jiang Dong" initials="J" surname="Dong">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street>Department of Computer Science, Tsinghua University</street>
          <city>Beijing</city>
          <code>100084</code>
          <country>P.R.China</country>
        </postal>
        <phone>+86-10-6278-5822</phone>
        <email>knight.dongjiang@gmail.com</email>
      </address>
    </author>
   
    <author fullname="Peng Wu" initials="P" surname="Wu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street>Department of Computer Science, Tsinghua University</street>
          <city>Beijing</city>
          <code>100084</code>
          <country>P.R.China</country>
        </postal>
        <phone>+86-10-6278-5822</phone>
        <email>weapon9@gmail.com</email>
      </address>
  	</author>
  	
    <author fullname="Mingwei Xu" initials="M" surname="Xu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street>Department of Computer Science, Tsinghua University</street>
          <city>Beijing</city>
          <code>100084</code>
          <country>P.R.China</country>
        </postal>
        <phone>+86-10-6278-5822</phone>
        <email>xmw@cernet.edu.cn</email>
      </address>
    </author>   

    <author fullname="Antti Yla-Jaaski" initials="A" surname="Yla-Jaaski">
      <organization>Aalto University</organization>
      <address>
        <postal>
          <street>Konemiehentie 2</street>
          <city>Espoo</city>
          <code>02150</code>
          <country>Finland</country>
        </postal>
        <phone>+358-40-5954222</phone>
        <email>antti.yla-jaaski@aalto.fi</email>
      </address>
    </author>   
 
    <!-- month and day will be generated automatically by XML2RFC; 
be sure the year is current.-->

    <date  year="2015" />

    <!-- IETF area is optional -->

    <area>Internet Area</area>

    <!--WG name at the upperleft corner of the doc, 
IETF is fine for non-WG IETF submissions -->

    <workgroup>Softwire</workgroup>

    <keyword>Management Information Base</keyword>

    <keyword>MIB</keyword>

    <keyword>SMIv2</keyword>
    
    <keyword>mesh</keyword>

    <!--add additional keywords here for IETF website search engine -->
<abstract>

      <t>This memo defines a portion of the Management Information Base (MIB)
      for use with network management protocols in the Internet community. 
      In particular it defines objects for managing softwire mesh.</t>

</abstract>
 
   </front>

  <middle>
    <section title="Introduction">
      <!--You can echo the abstract in the Introduction, providing citations here, 
      but you should provide more than just the abstract. -->

      <t>The Softwire mesh framework RFC 5565 <xref target="RFC5565"></xref> is a 
      tunneling mechanism that enables the connectivity between islands of IPv4 
      networks across a single IPv6 backbone and vice versa. In softwire mesh, extended
      multiprotocol-BGP (MP-BGP)is used to set up tunnels and advertise prefixes among
      address family border routers (AFBRs).</t>
            
      <t>This memo defines a portion of the Management Information Base (MIB)
      for use with network management protocols in the Internet community. In particular 
      it defines objects for managing softwire mesh <xref target="RFC5565"></xref>.</t>
                  
    </section>

    <section title="The Internet-Standard Management Framework">

      <t>For a detailed overview of the documents that describe the current
      Internet-Standard Management Framework, please refer to section 7 of RFC
      3410 <xref target="RFC3410"></xref>.</t>

      <t>Managed objects are accessed via a virtual information store, termed
      the Management Information Base or MIB. MIB objects are generally
      accessed through the Simple Network Management Protocol (SNMP).
      They are defined using the mechanisms stated in the
      Structure of Management Information (SMI). This memo specifies a MIB module that is
      compliant to the SMIv2, which is described in STD 58, RFC 2578 <xref
      target="RFC2578"></xref>, STD 58, RFC 2579 <xref
      target="RFC2579"></xref> and STD 58, RFC 2580 <xref
      target="RFC2580"></xref>.</t>
    </section>

    <section title="Terminology">
      
      <t>This document uses terminology from the softwire problem statement RFC 4925
      <xref target="RFC4925"></xref> and the softwire mesh framework RFC 5565 
      <xref target="RFC5565"></xref>.</t>
      
      </section>

    <section title="Conventions">
      
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 
	  "OPTIONAL" in this document are to be interpreted as described in RFC 2119 
	  <xref target="RFC2119"></xref>.</t>
      
      </section>

    <!-- ********************************************* -->

    <section title="Structure of the MIB Module">
    
    <t>The softwire mesh MIB provides a method to configure and manage the
    softwire mesh objects through SNMP. </t>

      <section title="The swmSupportedTunnelTable Subtree">

        <t>Since the AFBR needs to negotiate with a BGP peer what kind of tunnel
        they will use, it announces the types of tunnels it
        supports. The swmSupportedTunnelTable subtree provides the information. 
        According to section 4 of RFC 5512 <xref target="RFC5512"></xref>,
        current softwire mesh tunnel types include IP-IP, GRE and L2TPv3. </t>

      </section>
      
      <section title="The swmEncapsTable Subtree">

        <t>The swmEncapsTable subtree provides softwire mesh NLRI-NH information about
        the AFBR. It keeps the mapping between the External-IP (E-IP) prefix and the 
        Internal-IP (I-IP) address of the next hop. The mappings determine which I-IP
        destination address will be used to encapsulate the received packet according
        to its E-IP destination address. The definitions of E-IP and I-IP are explained
        in section 4.1 of RFC 5565<xref target="RFC5565"></xref>. </t>

      </section>
      
      <section title="The swmBGPNeighborTable Subtree">

        <t>The subtree provides the softwire mesh BGP neighbor information of an
        AFBR. It includes the address of the softwire mesh BGP peer, and the kind of
        tunnel that the AFBR would use to communicate with this BGP peer. </t>

      </section>
      
      <section title="The swmConformance Subtree">

        <t>The subtree provides the conformance information of MIB objects.</t>

      </section>
      
    </section>

    <section title="Relationship to Other MIB Modules">

      <section title="Relationship to the IF-MIB">

       <t>The Interfaces MIB <xref target="RFC2863"></xref> defines generic managed objects for
       managing interfaces. Each logical interface (physical or virtual)
       has an ifEntry. Tunnels are handled by creating logical interfaces (ifEntry).
       Being a tunnel, softwire mesh has an entry in the Interface MIB, as well as 
       an entry in IP Tunnel MIB. Those corresponding entries are indexed by ifIndex.</t>
   
       <t>The ifOperStatus in the ifTable represents whether the mesh function of
       	the AFBR has been triggered. If the software mesh capability is negotiated
       	during the BGP OPEN phase, the mesh function is considered to be started, 
       	and the ifOperStatus is "up". Otherwise the ifOperStatus is "down".</t>
   
       <t>In the case of an IPv4-over-IPv6 softwire mesh tunnel, ifInUcastPkts counts
       the number of IPv6 packets which are sent to the virtual interface for
       decapsulation into IPv4. The ifOutUcastPkts counts the number of IPv6
       packets which are generated by encapsulating IPv4 packets sent to the
       virtual interface. Particularly, if these IPv4 packets need fragmentation, 
       ifOutUcastPkts counts the number of packets after fragmentation.</t>
   
       <t>In the case of an IPv6-over-IPv4 softwire mesh tunnel, ifInUcastPkts
       counts the number of IPv4 packets, which are sent to the virtual interface for
       decapsulation into IPv6. The ifOutUcastPkts counts the number of IPv4 packets, which
       are generated by encapsulating IPv6 packets sent to the virtual interface.
       Particularly, if these IPv6 packets need to be fragmented, tifOutUcastPkts counts
       the number of packets after fragmentation. Similar definitions apply to other
       counter objects in the ifTable. </t>

      </section>
      
      <section title="Relationship to the IP Tunnel MIB">

       <t>The IP Tunnel MIB <xref target="RFC4087"></xref> contains objects applicable to all IP
       tunnels, including softwire mesh. Meanwhile, the Softwire Mesh MIB extends the 
       IP Tunnel MIB to further describe encapsulation-specific information.</t> 
   
       <t>Running a point to multi-point tunnel, it is necessary for a softwire mesh
       AFBR to maintain an encapsulation table, used to perform correct "forwarding" 
       among AFBRs. This forwarding function on an AFBR is performed by using the E-IP
       destination address to look up in the encapsulation table for the I-IP encapsulation
       destination address. An AFBR also needs to know the BGP peer information of
       the other AFBRs, so that it can negotiate the NLRI-NH information and the tunnel
       parameters with them.</t>
   
       <t>The Softwire mesh MIB requires the implementation of the IP Tunnel MIB. The 
       tunnelIfEncapsMethod in the tunnelIfEntry MUST be set to softwireMesh("xx"), 
       and a corresponding entry in the softwire mesh MIB module will be presented for 
       the tunnelIfEntry. The tunnelIfRemoteInetAddress MUST be set to 0.0.0.0 for IPv4 or :: 
       for IPv6 because it is a point to multi-point tunnel.</t>
       
       <t>-- RFC Ed.: Please replace "xx" with IANA assigned number here.</t>
   
       <t>The tunnelIfAddressType in the tunnelIfTable represents the type of address in 
       the corresponding tunnelIfLocalInetAddress and tunnelIfRemoteInetAddress 
       objects. The tunnelIfAddressType is identical to swmEncapsIIPDstType in 
       softwire mesh, which can support either IPv4-over-IPv6 or IPv6-over-IPv4. 
       When the swmEncapsEIPDstType is IPv6 and the swmEncapsIIPDstType is IPv4,
       the tunnel type is IPv6-over-IPv4; When the swmEncapsEIPDstType is IPv4 and
       the swmEncapsIIPDstType is IPv6, the encapsulation mode would be IPv4-over-IPv6.</t>

      </section>

     <section title="MIB modules required for IMPORTS">

        <t>The following MIB module IMPORTS objects from SNMPv2-SMI [RFC2578],
        SNMPv2-CONF [RFC2580], IF-MIB [RFC2863] and INET-ADDRESS-MIB [RFC4001].</t>

      </section>
    </section>

    <section title="Definitions">

      <figure>
<artwork><![CDATA[
SOFTWIRE-MESH-MIB DEFINITIONS ::= BEGIN
	
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, transmission	FROM SNMPv2-SMI
     
    OBJECT-GROUP, MODULE-COMPLIANCE 	    	FROM SNMPv2-CONF       
    
    InetAddress, InetAddressType, InetAddressPrefixLength
    
    FROM INET-ADDRESS-MIB
    
    ifIndex                                FROM IF-MIB
    
    IANAtunnelType                         FROM IANAifType-MIB;
     	
swmMIB MODULE-IDENTITY
    LAST-UPDATED "201503060000Z"        -- March 6, 2015
    ORGANIZATION "Softwire Working Group"
    CONTACT-INFO "
	       
	         Yong Cui
	         Email:  yong@csnet1.cs.tsinghua.edu.cn
	         
	         Jiang Dong
	         Email:  dongjiang@csnet1.cs.tsinghua.edu.cn
	         
	         Peng Wu
	         Email:  weapon@csnet1.cs.tsinghua.edu.cn	 
	         
	         Mingwei Xu
	         Email:  xmw@cernet.edu.cn 

                 Antti Yla-Jaaski
                 Email:  antti.yla-jaaski@aalto.fi       
	         
	         Email comments directly to the softwire WG Mailing 
	         List at softwires@ietf.org
    "
	
    DESCRIPTION
	       "This MIB module contains managed object definitions for
	        the softwire mesh framework.
	        
	        Copyright (C) The Internet Society (2015).  This version
          of this MIB module is part of RFC yyyy; see the RFC
          itself for full legal notices."
    
    -- RFC Ed.: please replace yyyy with actual RFC number & remove 
	this note.

	        
    REVISION    "201503060000Z"
    DESCRIPTION
	       "The MIB module is defined for management of object in
	        the Softwire mesh framework."
    ::= { transmission XXX }
    
    --RFC Ed.: Please replace "XXX" with IANA assigned number here.
	
swmObjects OBJECT IDENTIFIER ::= { swmMIB 1 }
	
-- swmSupportedTunnelTable
swmSupportedTunnelTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SwmSupportedTunnelEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of objects that shows what kind of tunnels 
        can be supported by the AFBR."
    ::= { swmObjects 1 }
	    
swmSupportedTunnelEntry  OBJECT-TYPE
    SYNTAX      SwmSupportedTunnelEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A set of objects that show what kind of tunnels 
        can be supported in the AFBR. If the AFBR supports 
        multiple tunnel types, the swmSupportedTunnelTable
        would have several entries."
    INDEX { swmSupportedTunnelType }
    ::= { swmSupportedTunnelTable 1 }
	
SwmSupportedTunnelEntry ::= SEQUENCE {
    swmSupportedTunnelType              IANAtunnelType
}
	
swmSupportedTunnelType OBJECT-TYPE
    SYNTAX      IANAtunnelType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents the tunnel type that the AFBR supports,
        such as MPLS, L2TPv3, GRE, and IP-in-IP. There is 
        no restriction of tunnel type the Softwire mesh can use."
    ::= { swmSupportedTunnelEntry 1 }	   
-- end of swmSupportedTunnelTable 
	    
--swmEncapsTable
swmEncapsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SwmEncapsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of objects that display and control the 
        softwire mesh encapsulation information."
    ::= { swmObjects 2 }
	
swmEncapsEntry  OBJECT-TYPE
    SYNTAX      SwmEncapsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of objects that manage the softwire mesh I-IP 
         encapsulation destination based on the E-IP destination 
		 prefix."
    INDEX { ifIndex,
            swmEncapsEIPDstType,
            swmEncapsEIPDst,
            swmEncapsEIPPrefixLength
          }
    ::= { swmEncapsTable 1 }	
	
SwmEncapsEntry ::=	SEQUENCE {
    swmEncapsEIPDstType       InetAddressType,
    swmEncapsEIPDst           InetAddress,
    swmEncapsEIPPrefixLength  InetAddressPrefixLength,
    swmEncapsIIPDstType       InetAddressType,
    swmEncapsIIPDst           InetAddress
}
	
swmEncapsEIPDstType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object specifies the address type used for
         swmEncapsEIPDst. It is different from the tunnelIfAddressType
         in the tunnelIfTable."
    ::= { swmEncapsEntry 1 }

swmEncapsEIPDst OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The E-IP destination prefix, which is        used for I-IP encapsulation destination looking up."
    ::= { swmEncapsEntry 2 }
	    
swmEncapsEIPPrefixLength OBJECT-TYPE
    SYNTAX      InetAddressPrefixLength
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The prefix length of the E-IP destination prefix."
    ::= { swmEncapsEntry 3 }

swmEncapsIIPDstType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the address type used for
         swmEncapsIIPDst. It is the same as the tunnelIfAddressType
         in the tunnelIfTable."
    ::= { swmEncapsEntry 4 }

swmEncapsIIPDst OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The I-IP destination address, which is used as the 
		encapsulation destination for the corresponding E-IP 
		prefix. Since the tunnelIfRemoteInetAddress in the 
		tunnelIfTable should be 0.0.0.0 or ::,swmEncapIIPDst 
		should be the destination address used in the outer 
         IP header."
    ::= { swmEncapsEntry 5 }
-- End of swmEncapsTable
	
-- swmBGPNeighborTable
swmBGPNeighborTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SwmBGPNeighborEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of objects that display the softwire mesh 
        BGP neighbor information."
    ::= { swmObjects 3 }
	
swmBGPNeighborEntry  OBJECT-TYPE
    SYNTAX      SwmBGPNeighborEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A set of objects that display the softwire mesh  
        BGP neighbor information."
    INDEX {
            ifIndex,
            swmBGPNeighborInetAddressType,
            swmBGPNeighborInetAddress 
          }
    ::= { swmBGPNeighborTable 1 }	
	
SwmBGPNeighborEntry ::= SEQUENCE {
        swmBGPNeighborInetAddressType    InetAddressType,
        swmBGPNeighborInetAddress        InetAddress,
        swmBGPNeighborTunnelType         IANAtunnelType
}

swmBGPNeighborInetAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object specifies the address type used for
         swmBGPNeighborInetAddress."
    ::= { swmBGPNeighborEntry 1 }
	
swmBGPNeighborInetAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The address of the AFBR's BGP neighbor. The
        address type is the same as the tunnelIfAddressType 
        in the tunnelIfTable."
    ::= { swmBGPNeighborEntry 2 }
	
swmBGPNeighborTunnelType OBJECT-TYPE
    SYNTAX      IANAtunnelType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents the type of tunnel that the 
        AFBR chooses to transmit traffic with another AFBR/BGP 
		neighbor."
    ::= { swmBGPNeighborEntry 3 }	    
-- End of swmBGPNeighborTable 
	
-- conformance information
swmConformance
                    OBJECT IDENTIFIER ::= { swmMIB 2 }
swmCompliances
                    OBJECT IDENTIFIER ::= { swmConformance 1 }
swmGroups
                    OBJECT IDENTIFIER ::= { swmConformance 2 }

 -- compliance statements
swmCompliance MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION
       "Describes the requirements for conformance to the softwire 
       mesh MIB.

       The following index objects cannot be added as OBJECT
       clauses but nevertheless have compliance requirements:
       "
       -- OBJECT  swmEncapsEIPDstType
       -- SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
       -- DESCRIPTION
       -- "An implementation is required to support
       --  global IPv4 and/or IPv6 addresses, depending
       --  on its support for IPv4 and IPv6."

       -- OBJECT  swmEncapsEIPDst
       -- SYNTAX  InetAddress (SIZE(4|16))
       -- DESCRIPTION
       -- "An implementation is required to support
       --  global IPv4 and/or IPv6 addresses, depending
       --  on its support for IPv4 and IPv6."

       -- OBJECT  swmEncapsEIPPrefixLength
       -- SYNTAX  InetAddressPrefixLength (Unsigned32 (0..128))
       -- DESCRIPTION
       -- "An implementation is required to support
       --  global IPv4 and/or IPv6 addresses, depending
       --  on its support for IPv4 and IPv6."

       -- OBJECT  swmBGPNeighborInetAddressType
       -- SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
       -- DESCRIPTION
       -- "An implementation is required to support
       --  global IPv4 and/or IPv6 addresses, depending
       --  on its support for IPv4 and IPv6."

       -- OBJECT  swmBGPNeighborInetAddress
       -- SYNTAX  InetAddress (SIZE(4|16))
       -- DESCRIPTION
       -- "An implementation is required to support
       --  global IPv4 and/or IPv6 addresses, depending
       --  on its support for IPv4 and IPv6."

   MODULE -- this module
   MANDATORY-GROUPS    { 
                         swmSupportedTunnelGroup,
                         swmEncapsGroup,
                         swmBGPNeighborGroup 
                       }
   ::= { swmCompliances 1 }

swmSupportedTunnelGroup    OBJECT-GROUP
   OBJECTS {
       swmSupportedTunnelType
   }
   STATUS  current
   DESCRIPTION
       "The collection of objects which are used to show
       what kind of tunnel the AFBR supports."
   ::= { swmGroups 1 }
   
swmEncapsGroup    OBJECT-GROUP
   OBJECTS {
        swmEncapsIIPDst,
        swmEncapsIIPDstType
   }
   STATUS  current
   DESCRIPTION
       "The collection of objects which are used to display 
       softwire mesh encapsulation information."
   ::= { swmGroups 2 }
   
swmBGPNeighborGroup    OBJECT-GROUP
   OBJECTS {
        swmBGPNeighborTunnelType
   }
   STATUS  current
   DESCRIPTION
       "The collection of objects which are used to display
        softwire mesh BGP neighbor information."
   ::= { swmGroups 3 }
	
END

]]></artwork>
      </figure>
    </section>

    <section title="Security Considerations">

      <t>The swmMIB module can be used for configuration
   of certain objects, and anything that can be configured can be
   incorrectly configured, with potentially disastrous results.
   Because this MIB module reuses the IP tunnel MIB, the security 
   considerations of the IP tunnel MIB is also applicable to the Softwire
   mesh MIB.</t>
   
      <t>There are no management objects defined in this MIB module that have
   a MAX-ACCESS clause of read-write and/or read-create.  So, if this
   MIB module is implemented correctly, then there is no risk that an
   intruder can alter or create any management objects of this MIB
   module via direct SNMP SET operations.</t>
   
      <t>Some of the readable objects in this MIB module (i.e., objects with a
   MAX-ACCESS other than not-accessible) may be considered sensitive or
   vulnerable in some network environments.  It is thus important to
   control even GET and/or NOTIFY access to these objects and possibly
   to even encrypt the values of these objects when sending them over
   the network via SNMP.  These are objects and their 
   sensitivity/vulnerability:</t>
      
      <t>Particularly, swmSupportedTunnelType, swmEncapsIIPDstType, 
   swmEncapsIIPDst and swmBGPNeighborTunnelType can expose the
   types of tunnel used within the internal network, and potentially reveal 
   the topology of the internal network.</t>
 
   		<t>SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPsec),
   there is no control as to who on the secure network is
   allowed to access and GET/SET (read/change/create/delete) the objects
   in this MIB module.</t>

      <t>Implementations SHOULD provide the security features described by the   
   SNMPv3 framework (see <xref target="RFC3410"></xref>), and implementations claiming compliance 
   to the SNMPv3 standard MUST include full support for authentication and 
   privacy via the User-based Security Model (USM) <xref target="RFC3414"></xref> with the AES 
   cipher algorithm <xref target="RFC3826"></xref>. Implementations MAY also provide support for
   the Transport Security Model (TSM)<xref target="RFC5591"></xref> in combination with a secure 
   transport such as SSH <xref target="RFC5592"></xref> or TLS/DTLS <xref target="RFC6353"></xref>.</t>

   		<t>Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them.</t>
    </section>

    <section title="IANA Considerations">
    
      <t>The MIB module in this document uses the following 
      IANA-assigned OBJECT IDENTIFIER values recorded in the SMI 
      Numbers registry, and the following IANA-assigned tunnelType 
      values recorded in the IANAtunnelType-MIB registry:
      </t>
      <figure>
        <artwork><![CDATA[
        Descriptor        OBJECT IDENTIFIER value
        ----------        -----------------------
        swmMIB            { transmission XXX }
				]]></artwork>
      </figure>

      <figure>
        <artwork><![CDATA[
          IANAtunnelType ::= TEXTUAL-CONVENTION
              SYNTAX     INTEGER {

                         softwireMesh ("xx")        
						 -- softwire Mesh tunnel

                         }
				]]></artwork>
      </figure>
      <t>Editor's Note (to be removed prior to publication):  the IANA is
      requested to assign a value for "XXX" under the 'mib-2' subtree
      and to record the assignment in the SMI Numbers registry.  When the
      assignment has been made, the RFC Editor is asked to replace "XXX"
      (here and in the MIB module) with the assigned value and to remove
      this note.</t>
      
    </section>

    <section title="Acknowledgements">
    
      <t>The authors would like to thank Dave Thaler, Jean-Philippe Dionne, Qi Sun, Sheng Jiang, Yu Fu for their valuable
   comments.</t>

    </section>

    <!-- The Author's Addresses section will be generated automatically by XML2RFC 
    from the front information. -->


  </middle>

  <back>

    <!-- References Section -->

    <!-- Section 4.7f of [RFC2223bis] specifies the requirements for the
   references sections.  In particular, there MUST be separate lists of
   normative and informative references, each in a separate section.
   The style SHOULD follow that of recently published RFCs.

   The standard MIB boilerplate available at
  the OPS Area web site includes lists of
   normative and informative references that MUST appear in all IETF
   specifications that contain MIB modules.  If items from other MIB
   modules appear in an IMPORTS statement in the Definitions section,
   then the specifications containing those MIB modules MUST be included
   in the list of normative references.  When items are imported from an
   IANA-maintained MIB module the corresponding normative reference
   SHALL reference the on-line version of that MIB module.  It is the
   policy of the RFC Editor that all references must be cited in the
   text;  such citations MUST appear in the overview section where
   documents containing imported definitions (other than those already
   mentioned in the MIB boilerplate) are required to be mentioned (cf.
   Section 3.2).

In general, each normative reference SHOULD reference the most recent
version of the specification in question.
-->

    <references title="Normative References">
        <!-- [TEMPLATE TODO] rfc2119, 2578, 2579 and 2580 are required to support MIB
      module boilerplate text. -->

      &rfc2119;

      &rfc2578;

      &rfc2579;

      &rfc2580;
	  
	  &rfc4001;
      <?rfc include="reference.RFC.3414" ?>
      <?rfc include="reference.RFC.3826" ?>
      <?rfc include="reference.RFC.5512" ?>
      <?rfc include="reference.RFC.5565" ?>
      <?rfc include="reference.RFC.5591" ?>
      <?rfc include="reference.RFC.5592" ?>
      <?rfc include="reference.RFC.6353" ?>

    </references>

    <references title="Informative References">

<!--  RFC3410 is required to support the boilerplate text.-->
      
      <?rfc include="reference.RFC.2863" ?>
	  <?rfc include="reference.RFC.4925" ?>
      
      &rfc3410;

      <?rfc include="reference.RFC.4087" ?>

    </references>
 
<!--   
    <references title="URL References">
<reference anchor="idguidelines">
	<front>
		<title>http://www.ietf.org/ietf/1id-guidelines.txt</title>
		<author>
			<organization>IETF Internet Drafts editor</organization>
		</author>
		<date year=""></date>
	</front>
</reference>
<reference anchor="idnits">
	<front>
		<title>http://www.ietf.org/ID-Checklist.html</title>
		<author>
			<organization>IETF Internet Drafts editor</organization>
		</author>
		<date year=""></date>
	</front>
</reference>
<reference anchor="xml2rfc">
	<front>
		<title>http://xml.resource.org</title>
		<author>
			<organization>XML2RFC tools and documentation</organization>
		</author>
		<date year=""></date>
	</front>
</reference>								
<reference anchor="ops">
	<front>
		<title>http://www.ops.ietf.org</title>
		<author>
			<organization>the IETF OPS Area</organization>
		</author>
		<date year=""></date>
	</front>
</reference>		
<reference anchor="ietf">
	<front>
		<title>http://tools.ietf.org</title>
		<author>
			<organization>IETF Tools Team</organization>
		</author>
		<date year=""></date>
	</front>
</reference>						
    </references>
-->


    <!--
<section anchor="appendix" title="Appendix A">
	<t>You can add appendices just as regular sections, the only
difference is that they go under "back" element, and get letters 
instead of numbers</t>
</section>
-->




    <!--
$Id: mib-doc-template.xml,v 1.5 2008/04/08 17:39:56 H73653 Exp $

  -->
  </back>
</rfc>

