Internet DRAFT - draft-an-savi-mib
draft-an-savi-mib
SAVI C. An
Internet-Draft J. Yang
Intended status: Standards Track J. Wu
Expires: July 22, 2019 J. Bi
Tsinghua University
January 18, 2019
Definition of Managed Objects for SAVI Protocol
draft-an-savi-mib-16
Abstract
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 SAVI (Source Address
Validation Improvements) protocol instance.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 22, 2019.
Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
An, et al. Expires July 22, 2019 [Page 1]
Internet-Draft SAVI-MIB January 2019
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. The Internet-Standard Management Framework . . . . . . . . . 3
3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3
5. Structure of the MIB Module . . . . . . . . . . . . . . . . . 4
5.1. The SAVI System Table . . . . . . . . . . . . . . . . . . 4
5.2. The SAVI Port Table . . . . . . . . . . . . . . . . . . . 5
5.3. The SAVI Binding Table . . . . . . . . . . . . . . . . . 6
5.4. The SAVI Filtering Table . . . . . . . . . . . . . . . . 7
5.5. The SAVI Counting Table . . . . . . . . . . . . . . . . . 7
6. Textual Conventions . . . . . . . . . . . . . . . . . . . . . 8
7. Relationship to Other MIB Modules . . . . . . . . . . . . . . 8
7.1. Relationship to the INET-ADDRESS-MIB . . . . . . . . . . 8
7.2. Relationship to the IF-MIB . . . . . . . . . . . . . . . 8
7.3. MIB modules required for IMPORTS . . . . . . . . . . . . 9
8. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 9
9. Security Considerations . . . . . . . . . . . . . . . . . . . 22
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23
11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 23
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 23
12.1. Normative References . . . . . . . . . . . . . . . . . . 24
12.2. Informative References . . . . . . . . . . . . . . . . . 25
12.3. URL References . . . . . . . . . . . . . . . . . . . . . 25
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 27
Appendix B. Open Issues . . . . . . . . . . . . . . . . . . . . 28
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29
1. Introduction
The Source Address Validation Improvement protocol was developed to
complement ingress filtering with finer-grained, standardized IP
source address validation(refer to [RFC7039]).A SAVI protocol
instance is located on the path of hosts' packets, enforcing the
hosts' use of legitimate IP source addresses.
SAVI protocol determines whether the IP address obtaining process is
legitimate according to IP address assignment method. For links with
Stateless Address Auto Configuration (SLAAC), Dynamic Host
Configuration Protocol (DHCP), and Secure Neighbor Discovery (SEND),
the process is defined in separate documents of SAVI Working Group
(refer to [RFC6620], [RFC7513], [RFC7219].)
An, et al. Expires July 22, 2019 [Page 2]
Internet-Draft SAVI-MIB January 2019
This document defines a MIB module that can be used to manage the
SAVI protocol instance. It covers both configuration and status
monitoring aspects of SAVI implementations.
This document uses terminology from the SAVI Protocol specification.
2. The Internet-Standard Management Framework
For a detailed overview of the documents that describe the current
Internet-Standard Management Framework, please refer to section 7 of
RFC 3410 [RFC3410].
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).
Objects in the MIB are defined using the mechanisms defined 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 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
[RFC2580].
3. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
4. Overview
The SAVI Protocol MIB module (SAVI-MIB) is conformant to SAVI
protocol, and is designed to:
o Support centralized management and monitoring of SAVI protocol
instance by standard SNMP protocol.
o Support configuration and querying of SAVI protocol parameters.
o Support configuration and querying of binding entries. Operators
may insert and delete manual binding entries.
o Support querying of filtering entries.
o Support querying of the count of packets dropped because of
validation failure for each interface.
Based on SAVI protocol, attributes and objects of a SAVI protocol
instance can be classified into five categories:
An, et al. Expires July 22, 2019 [Page 3]
Internet-Draft SAVI-MIB January 2019
o System attributes. These attributes are corresponding to a SAVI
protocol instance, such as IP Address Assignment Methods and some
constants.
o Anchor attributes. These attributes are corresponding to a SAVI
anchor. Anchor is defined in [RFC7039].
o Binding Status Table. This table contains the state of binding
between source address and binding anchor (refer to [RFC6620],
[RFC7513], [RFC7219]).
o Filtering Table. This table contains the bindings between binding
anchor and address, which is used to filter packets (refer to
[RFC6620], [RFC7513], [RFC7219]).
o Counting Table. This table contains the count of fail packets for
each interface.
A table is designed for each category of objects.
5. Structure of the MIB Module
This section presents the structure of the SAVI-MIB module. The MIB
objects are derived from the SAVI protocol specification.
This MIB is composed of a series of tables meant to form the base for
managing SAVI entities. The following subsections describe all
tables in the SAVI MIB module.
5.1. The SAVI System Table
The SAVI System Table (saviObjectsSystemTable) contains the objects
which are corresponding to SAVI system-wide parameters. It supports
the configuration and collection of SAVI system-wide parameters.
There is an entry for each IP stack, IPv4 and IPv6. The table is
indexed by:
o saviObjectsSystemIPVersion - The IP Version. A textual convention
InetVersion defined in RFC4001 is used to represent the different
version of IP protocol.
o saviObjectsSystemMethod - IP address assignment method.
It contains the following objects:
o saviObjectsSystemMethodName - Name of IP address assignment
method.
An, et al. Expires July 22, 2019 [Page 4]
Internet-Draft SAVI-MIB January 2019
o saviObjectsSystemMethodEnable - If the method is enabled.
o saviObjectsSystemMethodPreference - Preference of the method.
The MAX-ACCESS of these objects is READ-WRITE. Network Operators may
do configuration by setting these objects.
5.2. The SAVI Port Table
The SAVI Port Table (saviObjectsPortTable) contains the objects which
are corresponding to SAVI running parameters of each anchor. It
supports the configuration and collection of SAVI parameters of each
anchor.
There is an entry for each IP stack, IPv4 and IPv6. The table is
indexed by:
o saviObjectsPortIPVersion - The IP Version.
o saviObjectsPortIfIndex - The index value that uniquely identifies
the interface to which this entry is applicable.
It contains the following objects:
o saviObjectsPortValidatingAttr - An attribute defined in SAVI
protocol (refer to [RFC7513]).
o saviObjectsPortDhcpTrustAttr - An attribute defined in SAVI
protocol (refer to [RFC7513]).
o saviObjectsPortTrustAttr - An attribute defined in SAVI protocol
(refer to [RFC7513]).
o saviObjectsPortDhcpSnoopingAttr - An attribute defined in SAVI
protocol (refer to [RFC7513]).
o saviObjectsPortDataSnoopingAttr - An attribute defined in SAVI
protocol (refer to [RFC7513]).
o saviObjectsPortFilteringNum - The max filtering number of the
Port.
The MAX-ACCESS of these objects is READ-WRITE. Network Operators may
configure by setting these objects.
An, et al. Expires July 22, 2019 [Page 5]
Internet-Draft SAVI-MIB January 2019
5.3. The SAVI Binding Table
The SAVI Binding Table (saviObjectsBindingTable) contains the objects
which are corresponding to Binding State Table (BST) defined in SAVI
protocol. It contains the binding parameters and state of each
binding entry. It supports the collection of binding entries. And
an entry can be inserted or deleted if it is a manual binding entry.
The table is indexed by:
o saviObjectsBindingIpAddressType - IP address type. A textual
convention InetAddressType defined in RFC4001 is used to represent
the different kind of IP address.
o saviObjectsBindingMethod - which IP address assignment method is
used to create the binding entry - manual(1), slaac(2), dhcp(3),
send(4).
o saviObjectsBindingIfIndex - The index value that uniquely
identifies the interface to which this entry is applicable.
o saviObjectsBindingIpAddress - The binding source IP address. A
textual convention InetAddress defined in RFC4001 is used to
define this object.
The SAVI Binding Table contains the following objects:
o saviObjectsBindingMacAddr - The binding source mac address.
o saviObjectsBindingLifetime - The remaining lifetime of the entry.
o saviObjectsBindingCreationtime - The value of the local clock when
the entry was firstly created.
o saviObjectsBindingRowStatus - The status of this row, by which new
entries may be created, or old entries be deleted from this table.
As defined in RFC2579, the RowStatus textual convention is used to
manage the creation and deletion of conceptual rows. For SAVI
Binding Table, an entry can be created or deleted only when
saviObjectsBindingMethod=manual.
The MAX-ACCESS of these objects is READ-CREATE. Network Operators
may create or delete an entry by setting these objects.
An, et al. Expires July 22, 2019 [Page 6]
Internet-Draft SAVI-MIB January 2019
5.4. The SAVI Filtering Table
The SAVI Filtering Table (saviObjectsFilteringTable) contains the
objects which are corresponding to Filtering Table (FT) defined in
SAVI protocol. It supports the collection of filtering entries.
The table is indexed by:
o saviObjectsFilteringIpAddressType - IP address type.
o saviObjectsFilteringIfIndex - The index value that uniquely
identifies the interface to which this entry is applicable.
o saviObjectsFilteringIpAddress - The source IP address.
It contains the following objects:
o saviObjectsFilteringMacAddr - The source mac address.
The MAX-ACCESS of the object is READ-ONLY.
5.5. The SAVI Counting Table
The SAVI Counting Table (saviObjectsCountTable) contains the objects
counting packets dropped because of validation failure for each
interface.
The table is indexed by:
o saviObjectsCountIPVersion - IP Version.
o saviObjectsCountIfIndex - The index value that uniquely identifies
the interface to which this entry is applicable.
It contains the following objects:
o saviObjectsCountFilterPkts - The count of packets dropped because
of validation failure.
o saviObjectsCountFilterOctets - The count of octets dropped because
of validation failure.
The MAX-ACCESS of the object is READ-ONLY.
An, et al. Expires July 22, 2019 [Page 7]
Internet-Draft SAVI-MIB January 2019
6. Textual Conventions
The textual conventions used in the SAVI-MIB are as follows.
The MODULE-COMPLIANCE,OBJECT-GROUP textual convention is imported
from SNMPv2-CONF [RFC2580]. The MODULE-IDENTITY, OBJECT-IDENTITY,
OBJECT-TYPE, Unsigned32 textual convention is imported from
SNMPv2-SMI [RFC2578].
The MacAddress,TimeInterval,RowStatus textual convention is imported
from SNMPv2-TC [RFC2579].
The InetVersion,InetAddressType,InetAddress textual convention is
imported from INET-ADDRESS-MIB [RFC4001].
The InterfaceIndex textual convention is imported from IF-MIB
[RFC2863].
The ip textual convention is imported from IP-MIB [RFC4293].
7. Relationship to Other MIB Modules
7.1. Relationship to the INET-ADDRESS-MIB
To support extensibility, IETF defined new textual conventions to
represent different IP protocol and different IP address in a unified
formation in RFC4001. To support different IP version, a textual
convention InetVersion is defined to represent the different version
of IP protocol. To support different IP address, a generic Internet
address is defined. It consists of two objects: The first one has
the syntax InetAddressType, and the second object have the syntax
InetAddress. The value of the first object determines how the value
of the second is encoded.
Since SAVI running mode and parameter is independent of IPv4 and
IPv6, so different OID instances should be defined for each protocol.
In SAVI-MIB definition, when IP address is used as a part of binding
table, it is defined using textual conventions described in INET-
ADDRESS-MIB.
7.2. Relationship to the IF-MIB
The Interfaces MIB [RFC2863] defines generic managed objects for
managing interfaces. This document contains the interface-specific
extensions for managing SAVI anchors that are modeled as interfaces.
An, et al. Expires July 22, 2019 [Page 8]
Internet-Draft SAVI-MIB January 2019
The IF-MIB module is required to be supported on the SAVI device.
The interface MUST be modeled as an ifEntry, and ifEntry objects such
as ifIndex are to be used as per [RFC2863].
An ifIndex [RFC2863] is used as a common index for interfaces in the
SAVI-MIB modules.
7.3. MIB modules required for IMPORTS
The SAVI MIB module IMPORTS objects from SNMPv2-SMI [RFC2578],
SNMPv2-TC [RFC2579],SNMPv2-CONF [RFC2580], IF-MIB [RFC2863] and INET-
ADDRESS-MIB [RFC4001] .
8. Definitions
SAVI-MIB DEFINITIONS ::=BEGIN
IMPORTS
MODULE-COMPLIANCE,OBJECT-GROUP
FROM SNMPv2-CONF --RFC2580
MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE, Unsigned32
FROM SNMPv2-SMI --RFC2578
TEXTUAL-CONVENTION,MacAddress,TimeInterval,RowStatus
FROM SNMPv2-TC --RFC2579
InterfaceIndex
FROM IF-MIB --RFC2863
InetVersion,InetAddressType,InetAddress
FROM INET-ADDRESS-MIB --RFC4001
ip
FROM IP-MIB --RFC4293
;
saviMIB MODULE-IDENTITY
LAST-UPDATED "201901180000Z"
ORGANIZATION
"IETF SAVI Working Group"
CONTACT-INFO
"WG charter:
http://datatracker.ietf.org/wg/savi/charter/
Editor:
Changqing An
CERNET
Postal: Institute for Network Sciences and Cyberspace, Tsinghua University
Beijing 100084
China
Email: acq@tsinghua.edu.cn
"
An, et al. Expires July 22, 2019 [Page 9]
Internet-Draft SAVI-MIB January 2019
DESCRIPTION
"This MIB Module is designed to support configuration
and monitoring of SAVI protocol.
"
REVISION "201901180000Z"
DESCRIPTION
"Initial version"
::= {ip XXX}
saviObjects OBJECT IDENTIFIER ::= { saviMIB 1 }
-- System parameters for SAVI protocol
saviObjectsSystemTable OBJECT-TYPE
SYNTAX SEQUENCE OF SaviObjectsSystemEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table containing savi system-wide parameters."
::= { saviObjects 1 }
saviObjectsSystemEntry OBJECT-TYPE
SYNTAX SaviObjectsSystemEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing savi system-wide parameters for a
particular IP version.
"
INDEX { saviObjectsSystemIPVersion,saviObjectsSystemMethod }
::= { saviObjectsSystemTable 1 }
SaviObjectsSystemEntry ::=
SEQUENCE {
saviObjectsSystemIPVersion InetVersion,
saviObjectsSystemMethod INTEGER,
saviObjectsSystemMethodName DisplayString (SIZE (0..255)),
saviObjectsSystemMethodEnable INTEGER,
saviObjectsSystemMethodPreference INTEGER
}
saviObjectsSystemIPVersion OBJECT-TYPE
SYNTAX InetVersion
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The IP version "
::= { saviObjectsSystemEntry 1 }
An, et al. Expires July 22, 2019 [Page 10]
Internet-Draft SAVI-MIB January 2019
saviObjectsSystemMethod OBJECT-TYPE
SYNTAX INTEGER {
manual(1),
slaac(2),
dhcp(3),
send(4)
}
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"IP address assignment methods."
::= { saviObjectsSystemEntry 2 }
saviObjectsSystemMethodName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Name of IP address assignment methods. "
::= { saviObjectsSystemEntry 3 }
saviObjectsSystemMethodEnable OBJECT-TYPE
SYNTAX INTEGER {
enable(1),
disable(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"If the method is enabled. "
::= { saviObjectsSystemEntry 4 }
saviObjectsSystemMethodPreference OBJECT-TYPE
SYNTAX INTEGER {
enable(1),
disable(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Preference of the method. "
::= { saviObjectsSystemEntry 5 }
-- Port parameters for SAVI protocol
An, et al. Expires July 22, 2019 [Page 11]
Internet-Draft SAVI-MIB January 2019
saviObjectsPortTable OBJECT-TYPE
SYNTAX SEQUENCE OF SaviObjectsPortEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table containing SAVI parameters of each anchor."
::= { saviObjects 2 }
saviObjectsPortEntry OBJECT-TYPE
SYNTAX SaviObjectsPortEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing SAVI running parameters of an anchor."
INDEX {
saviObjectsPortIPVersion,
saviObjectsPortIfIndex
}
::= { saviObjectsPortTable 1 }
SaviObjectsPortEntry ::=
SEQUENCE {
saviObjectsPortIPVersion InetVersion,
saviObjectsPortIfIndex InterfaceIndex,
saviObjectsPortValidatingAttr INTEGER,
saviObjectsPortDhcpTrustAttr INTEGER,
saviObjectsPortTrustAttr INTEGER,
saviObjectsPortDhcpSnoopingAttr INTEGER,
saviObjectsPortDataSnoopingAttr INTEGER,
saviObjectsPortFilteringNum Unsigned32
}
saviObjectsPortIPVersion OBJECT-TYPE
SYNTAX InetVersion
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The IP version "
::= { saviObjectsPortEntry 1 }
saviObjectsPortIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index value that uniquely identifies the interface to
An, et al. Expires July 22, 2019 [Page 12]
Internet-Draft SAVI-MIB January 2019
which this entry is applicable. The interface identified by
a particular value of this index is the same interface as
identified by the same value of the IF-MIB's ifIndex.
"
::= { saviObjectsPortEntry 2 }
saviObjectsPortValidatingAttr OBJECT-TYPE
SYNTAX INTEGER {
enable(1),
disable(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"An attribute defined in SAVI protocol.
enable(1), the attribute is set.
disable(2), the attribute is not set.
"
::= { saviObjectsPortEntry 3 }
saviObjectsPortDhcpTrustAttr OBJECT-TYPE
SYNTAX INTEGER {
enable(1),
disable(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"An attribute defined in SAVI protocol.
enable(1), the attribute is set.
disable(2), the attribute is not set.
"
::= { saviObjectsPortEntry 4 }
saviObjectsPortTrustAttr OBJECT-TYPE
SYNTAX INTEGER {
enable(1),
disable(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"An attribute defined in SAVI protocol.
enable(1), the attribute is set.
disable(2), the attribute is not set.
"
::= { saviObjectsPortEntry 5 }
An, et al. Expires July 22, 2019 [Page 13]
Internet-Draft SAVI-MIB January 2019
saviObjectsPortDhcpSnoopingAttr OBJECT-TYPE
SYNTAX INTEGER {
enable(1),
disable(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"An attribute defined in SAVI protocol.
enable(1), the attribute is set.
disable(2), the attribute is not set.
"
::= { saviObjectsPortEntry 6 }
saviObjectsPortDataSnoopingAttr OBJECT-TYPE
SYNTAX INTEGER {
enable(1),
disable(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"An attribute defined in SAVI protocol.
enable(1), the attribute is set.
disable(2), the attribute is not set.
"
::= { saviObjectsPortEntry 7 }
saviObjectsPortFilteringNum OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The max filtering number of the Port."
::= { saviObjectsPortEntry 8 }
-- Binding Status Table for SAVI protocol
saviObjectsBindingTable OBJECT-TYPE
SYNTAX SEQUENCE OF SaviObjectsBindingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table containing the state of binding
between source address and anchor.
"
::= { saviObjects 3 }
An, et al. Expires July 22, 2019 [Page 14]
Internet-Draft SAVI-MIB January 2019
saviObjectsBindingEntry OBJECT-TYPE
SYNTAX SaviObjectsBindingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing the state of binding between source
address and anchor.
Entries are keyed on the source IP address type,
binding type, anchor, and source IP address.
"
INDEX {
saviObjectsBindingIpAddressType,
saviObjectsBindingMethod,
saviObjectsBindingIfIndex,
saviObjectsBindingIpAddress
}
::= { saviObjectsBindingTable 1 }
SaviObjectsBindingEntry ::=
SEQUENCE {
saviObjectsBindingIpAddressType InetAddressType,
saviObjectsBindingMethod INTEGER,
saviObjectsBindingIfIndex InterfaceIndex,
saviObjectsBindingIpAddress InetAddress,
saviObjectsBindingMacAddr MacAddress,
saviObjectsBindingState INTEGER,
saviObjectsBindingLifetime TimeInterval,
saviObjectsBindingCreationtime DateAndTime,
saviObjectsBindingRowStatus RowStatus
}
saviObjectsBindingIpAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"IP address type of the binding source IP."
::= { saviObjectsBindingEntry 1 }
saviObjectsBindingMethod OBJECT-TYPE
SYNTAX INTEGER {
manual(1),
slaac(2),
dhcp(3),
send(4)
}
MAX-ACCESS not-accessible
STATUS current
An, et al. Expires July 22, 2019 [Page 15]
Internet-Draft SAVI-MIB January 2019
DESCRIPTION
"IP address assignment methods."
::= { saviObjectsBindingEntry 2 }
saviObjectsBindingIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index value that uniquely identifies the interface to
which this entry is applicable. The interface identified by
a particular value of this index is the same interface as
identified by the same value of the IF-MIB's ifIndex.
"
::= { saviObjectsBindingEntry 3 }
saviObjectsBindingIpAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The binding source IP address"
::= { saviObjectsBindingEntry 4 }
saviObjectsBindingMacAddr OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The binding source mac address."
::= { saviObjectsBindingEntry 5 }
saviObjectsBindingState OBJECT-TYPE
SYNTAX INTEGER {
NO_BIND(1),
INIT_BIND(2),
BOUND(3),
DETECTION(4),
RECOVERY(5),
VERIFY(6),
TENTATIVE(7),
VALID(8),
TESTING_TP-LT(9),
TESTING_VP(10),
TESTING_VP-1(11),
TENTATIVE_NUD(12),
TENTATIVE_DAD(13)
}
An, et al. Expires July 22, 2019 [Page 16]
Internet-Draft SAVI-MIB January 2019
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The state of the binding entry. "
::= { saviObjectsBindingEntry 6 }
saviObjectsBindingLifetime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The remaining lifetime of the entry.
TimeInterval is defined in RFC 2579, it's a period of time,
measured in units of 0.01 seconds,
and the value is (0..2147483647).
If saviObjectsBindingMethod=manual, a value of 2147483647
represents infinity.
"
::= { saviObjectsBindingEntry 7 }
saviObjectsBindingCreationtime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value of the local clock when the entry was firstly created.
"
::= { saviObjectsBindingEntry 8 }
saviObjectsBindingRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this row, by which new entries may be
created, or old entries deleted from this table.
An Entry can be created or deleted only when
saviObjectsBindingMethod=manual.
"
::= { saviObjectsBindingEntry 9 }
-- Filtering Table for SAVI protocol
saviObjectsFilteringTable OBJECT-TYPE
SYNTAX SEQUENCE OF SaviObjectsFilteringEntry
MAX-ACCESS not-accessible
An, et al. Expires July 22, 2019 [Page 17]
Internet-Draft SAVI-MIB January 2019
STATUS current
DESCRIPTION
"The table containing the filtering entries."
::= { saviObjects 4 }
saviObjectsFilteringEntry OBJECT-TYPE
SYNTAX SaviObjectsFilteringEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing the filtering parameters.
Entries are keyed on the source IP address type,
anchor, and source IP address.
"
INDEX { saviObjectsFilteringIpAddressType,
saviObjectsFilteringIfIndex,
saviObjectsFilteringIpAddress
}
::= { saviObjectsFilteringTable 1 }
SaviObjectsFilteringEntry ::=
SEQUENCE {
saviObjectsFilteringIpAddressType InetAddressType,
saviObjectsFilteringIfIndex InterfaceIndex,
saviObjectsFilteringIpAddress InetAddress,
saviObjectsFilteringMacAddr MacAddress
}
saviObjectsFilteringIpAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"IP address type of the filtering source IP"
::= { saviObjectsFilteringEntry 1 }
saviObjectsFilteringIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index value that uniquely identifies the interface to
which this entry is applicable. The interface identified by
a particular value of this index is the same interface as
identified by the same value of the IF-MIB's ifIndex.
"
::= { saviObjectsFilteringEntry 2 }
An, et al. Expires July 22, 2019 [Page 18]
Internet-Draft SAVI-MIB January 2019
saviObjectsFilteringIpAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The filtering source IP address."
::= { saviObjectsFilteringEntry 3 }
saviObjectsFilteringMacAddr OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The filtering source mac address."
::= { saviObjectsFilteringEntry 4 }
--Count of packets dropped because of validation failure for each interface.
saviObjectsCountTable OBJECT-TYPE
SYNTAX SEQUENCE OF saviObjectsCountEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table containing count of packets dropped because of validation failure."
::= { saviObjects 5 }
saviObjectsCountEntry OBJECT-TYPE
SYNTAX saviObjectsCountEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing count of packets dropped because of validation failure for each interface."
INDEX { saviObjectsCountIPVersion,
saviObjectsCountIfIndex
}
::= { saviObjectsCountTable 1 }
saviObjectsCountEntry ::=
SEQUENCE {
saviObjectsCountIPVersion InetVersion,
saviObjectsCountIfIndex InterfaceIndex,
saviObjectsCountFilterPkts Counter64,
saviObjectsCountFilterOctets Counter64
}
An, et al. Expires July 22, 2019 [Page 19]
Internet-Draft SAVI-MIB January 2019
saviObjectsCountIPVersion OBJECT-TYPE
SYNTAX InetVersion
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The IP version "
::= { saviObjectsCountEntry 1 }
saviObjectsCountIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Interface."
::= { saviObjectsCountEntry 2 }
saviObjectsCountFilterPkts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Pkts dropped."
::= { saviObjectsCountEntry 3 }
saviObjectsCountFilterOctets OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Octets dropped."
::= { saviObjectsCountEntry 4 }
-- Conformance information
saviConformance OBJECT IDENTIFIER ::= { saviMIB 2 }
saviCompliances OBJECT IDENTIFIER ::= { saviConformance 1 }
-- Compliance statements
saviCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for entities which implement SAVI
protocol.
"
MODULE
MANDATORY-GROUPS {
systemGroup,
An, et al. Expires July 22, 2019 [Page 20]
Internet-Draft SAVI-MIB January 2019
portGroup,
bindingGroup,
filteringGroup
}
::= { saviCompliances 1}
saviGroups OBJECT IDENTIFIER ::= { saviConformance 2 }
--Units of conformance
systemGroup OBJECT-GROUP
OBJECTS {
saviObjectsSystemMethod,
saviObjectsSystemMethodName,
saviObjectsSystemMethodEnable,
saviObjectsSystemMethodPreference
}
STATUS current
DESCRIPTION
"The system group contains objects corrsponding to savi system
parameters.
"
::= {saviGroups 1}
portGroup OBJECT-GROUP
OBJECTS {
saviObjectsPortValidatingAttr,
saviObjectsPortDhcpTrustAttr,
saviObjectsPortTrustAttr,
saviObjectsPortDhcpSnoopingAttr,
saviObjectsPortDataSnoopingAttr,
saviObjectsPortFilteringNum
}
STATUS current
DESCRIPTION
"The if group contains objects corresponding to the savi running
parameters of each anchor.
"
::= {saviGroups 2}
bindingGroup OBJECT-GROUP
OBJECTS {
saviObjectsBindingMacAddr,
saviObjectsBindingLifetime,
saviObjectsBindingCreationtime,
saviObjectsBindingRowStatus
}
STATUS current
An, et al. Expires July 22, 2019 [Page 21]
Internet-Draft SAVI-MIB January 2019
DESCRIPTION
"The binding group contains the binding
information of anchor and source ip address.
"
::= {saviGroups 3}
filteringGroup OBJECT-GROUP
OBJECTS {
saviObjectsFilteringMacAddr
}
STATUS current
DESCRIPTION
"The filtering group contains the filtering
information of anchor and source ip address.
"
::= {saviGroups 4}
END
9. Security Considerations
There are a number of management objects defined in this MIB module
with a MAX-ACCESS clause of read-write and/or read-create. Such
objects may be considered sensitive or vulnerable in some network
environments. The support for SET operations in a non-secure
environment without proper protection can have a negative effect on
network operations. These are the tables and objects and their
sensitivity/vulnerability:
o saviObjectsSystemTable - Unauthorized changes to the writable
objects under saviObjectsSystemTable MAY disrupt allocation of
resources in the network. For example, a device's SAVI system
mode be changed by set operation to SAVI-DISABLE will give chance
to IP source address spoofing.
o saviObjectsPortTable - Unauthorized changes to the writable
objects under saviObjectsPortTable MAY disrupt allocation of
resources in the network. For example, an anchor's ValidatingAttr
be changed by set operation to DISABLE will give chance to IP
source address spoofing.
o saviObjectsBindingTable - Unauthorized changes to the writable
objects under this table MAY disrupt allocation of resources in
the network. For example, a manual binding entry is inserted to
the BST will give chance to IP source address spoofing.
An, et al. Expires July 22, 2019 [Page 22]
Internet-Draft SAVI-MIB January 2019
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 the tables and objects and their
sensitivity/vulnerability:
o saviObjectsBindingTable, saviObjectsFilteringTable - The IP
address and binding anchor information will be helpful to some
attacks.
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.
It is RECOMMENDED that implementers consider the security features as
provided by the SNMPv3 framework (see [RFC3410], section 8),
including full support for the SNMPv3 cryptographic mechanisms (for
authentication and privacy).
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.
10. IANA Considerations
The MIB module in this document uses the following IANA-assigned
OBJECT IDENTIFIER values recorded in the SMI Numbers registry:
Descriptor OBJECT IDENTIFIER value
---------- -----------------------
SAVI-MIB { ip XXX }
11. Contributors
12. References
An, et al. Expires July 22, 2019 [Page 23]
Internet-Draft SAVI-MIB January 2019
12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol",
RFC 2131, DOI 10.17487/RFC2131, March 1997,
<https://www.rfc-editor.org/info/rfc2131>.
[RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J.
Schoenwaelder, Ed., "Structure of Management Information
Version 2 (SMIv2)", STD 58, RFC 2578,
DOI 10.17487/RFC2578, April 1999,
<https://www.rfc-editor.org/info/rfc2578>.
[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J.
Schoenwaelder, Ed., "Textual Conventions for SMIv2",
STD 58, RFC 2579, DOI 10.17487/RFC2579, April 1999,
<https://www.rfc-editor.org/info/rfc2579>.
[RFC2580] McCloghrie, K., Ed., Perkins, D., Ed., and J.
Schoenwaelder, Ed., "Conformance Statements for SMIv2",
STD 58, RFC 2580, DOI 10.17487/RFC2580, April 1999,
<https://www.rfc-editor.org/info/rfc2580>.
[RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
C., and M. Carney, "Dynamic Host Configuration Protocol
for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July
2003, <https://www.rfc-editor.org/info/rfc3315>.
[RFC4001] Daniele, M., Haberman, B., Routhier, S., and J.
Schoenwaelder, "Textual Conventions for Internet Network
Addresses", RFC 4001, DOI 10.17487/RFC4001, February 2005,
<https://www.rfc-editor.org/info/rfc4001>.
[RFC6620] Nordmark, E., Bagnulo, M., and E. Levy-Abegnoli, "FCFS
SAVI: First-Come, First-Served Source Address Validation
Improvement for Locally Assigned IPv6 Addresses",
RFC 6620, DOI 10.17487/RFC6620, May 2012,
<https://www.rfc-editor.org/info/rfc6620>.
[RFC7039] Wu, J., Bi, J., Bagnulo, M., Baker, F., and C. Vogt, Ed.,
"Source Address Validation Improvement (SAVI) Framework",
RFC 7039, DOI 10.17487/RFC7039, October 2013,
<https://www.rfc-editor.org/info/rfc7039>.
An, et al. Expires July 22, 2019 [Page 24]
Internet-Draft SAVI-MIB January 2019
[RFC7219] Bagnulo, M. and A. Garcia-Martinez, "SEcure Neighbor
Discovery (SEND) Source Address Validation Improvement
(SAVI)", RFC 7219, DOI 10.17487/RFC7219, May 2014,
<https://www.rfc-editor.org/info/rfc7219>.
[RFC7513] Bi, J., Wu, J., Yao, G., and F. Baker, "Source Address
Validation Improvement (SAVI) Solution for DHCP",
RFC 7513, DOI 10.17487/RFC7513, May 2015,
<https://www.rfc-editor.org/info/rfc7513>.
12.2. Informative References
[RFC2223] Postel, J. and J. Reynolds, "Instructions to RFC Authors",
RFC 2223, DOI 10.17487/RFC2223, October 1997,
<https://www.rfc-editor.org/info/rfc2223>.
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
DOI 10.17487/RFC2629, June 1999,
<https://www.rfc-editor.org/info/rfc2629>.
[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group
MIB", RFC 2863, DOI 10.17487/RFC2863, June 2000,
<https://www.rfc-editor.org/info/rfc2863>.
[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
"Introduction and Applicability Statements for Internet-
Standard Management Framework", RFC 3410,
DOI 10.17487/RFC3410, December 2002,
<https://www.rfc-editor.org/info/rfc3410>.
[RFC4181] Heard, C., Ed., "Guidelines for Authors and Reviewers of
MIB Documents", BCP 111, RFC 4181, DOI 10.17487/RFC4181,
September 2005, <https://www.rfc-editor.org/info/rfc4181>.
[RFC4293] Routhier, S., Ed., "Management Information Base for the
Internet Protocol (IP)", RFC 4293, DOI 10.17487/RFC4293,
April 2006, <https://www.rfc-editor.org/info/rfc4293>.
12.3. URL References
[idguidelines]
IETF Internet Drafts editor,
"http://www.ietf.org/ietf/1id-guidelines.txt".
[idnits] IETF Internet Drafts editor,
"http://www.ietf.org/ID-Checklist.html".
[ietf] IETF Tools Team, "http://tools.ietf.org".
An, et al. Expires July 22, 2019 [Page 25]
Internet-Draft SAVI-MIB January 2019
[ops] the IETF OPS Area, "http://www.ops.ietf.org".
[xml2rfc] XML2RFC tools and documentation,
"http://xml.resource.org".
An, et al. Expires July 22, 2019 [Page 26]
Internet-Draft SAVI-MIB January 2019
Appendix A. Change Log
From draft 00 to draft 01
o Change the value range of object saviObjectsSystemMode and add a
new value savi-send(6).
From draft 01 to draft 02
o Change saviObjectsTrustStatus into two booleans, one is
saviObjectsDhcpTrustStatus, another is saviObjectsRaTrustStatus.
o Change the character string saviObjectsIf to saviObjectsPort
globally.
o Change saviObjectsBindingState according to the latest version of
solution drafts.
From draft 02 to draft 03
o Add a new object saviObjectsPortBindRecoveryAttr, and change the
object saviObjectsPortRaTrustStatus to saviObjectsPortTrustAttr
according to the latest version of solution drafts and RFC.
o Change the value range and meaning of saviObjectsBindingState
according to the latest version of solution drafts and RFC.
o Change the value range of object saviObjectsBindingType, add a new
value send(4), and change the value static(1) to manual(1).
From draft 03 to draft 04
o Add three new objects according to the latest version of solution
drafts and RFC, i.e. saviObjectsSystemTentLT,
saviObjectsSystemDefaultLT, saviObjectsSystemTWAIT.
From draft 04 to draft 05
o Add two new objects according to the latest version of solution
drafts and RFC, i.e. saviObjectsBindingCreationtime,
saviObjectsBindingTID.
From draft 05 to draft 06
o Add three new objects, saviObjectsSystemDadTimeout,
saviObjectsPortDhcpSnoopingAttr and
saviObjectsPortDataSnoopingAttr.
An, et al. Expires July 22, 2019 [Page 27]
Internet-Draft SAVI-MIB January 2019
o Replace object saviObjectsSystemBindRecoveryInterval with
saviObjectsSystemDataSnoopingInterval.
o Replace object saviObjectsPortSAVISAVIAttr with
saviObjectsPortTrustAttr.
o Delete object saviObjectsPortBindRecoveryAttr.
From draft 06 to draft 07
o Replace object saviObjectsSystemDadTimeout with
saviObjectsSystemDetectionTimeout.
From draft 07 to draft 08
o Add a new table to count the fail packets of each interface.
From draft 08 to draft 09
o Change the value range and meaning of saviObjectsBindingState
according to the latest version of solution RFC.
From draft 09 to draft 10
o Replace object saviObjectsSystemMode with
saviObjectsSystemSlaacEnable, saviObjectsSystemDhcpEnable,
saviObjectsSystemSendEnable, saviObjectsManualEnable.
From draft 10 to draft 11
o Add a new table SaviObjectsPreferenceTable to reflect the
preference of each savi method.
From draft 11 to draft 12
o Replace object saviObjectsBindingType with
saviObjectsBindingMethod.
From draft 12 to draft 13
o Add a new object saviObjectsCountFilterOctets to count the octets
dropped by SAVI protocol.
Appendix B. Open Issues
Note to RFC Editor: please remove this appendix before publication as
an RFC.
An, et al. Expires July 22, 2019 [Page 28]
Internet-Draft SAVI-MIB January 2019
Authors' Addresses
Changqing An
Tsinghua University
Institute for Network Sciences and Cyberspace, Tsinghua University
Beijing 100084
China
Phone: +86 10 62603113
EMail: acq@cernet.edu.cn
Jiahai Yang
Tsinghua University
Institute for Network Sciences and Cyberspace, Tsinghua University
Beijing 100084
China
Phone: +86 10 62783492
EMail: yang@cernet.edu.cn
Jianping Wu
Tsinghua University
Institute for Network Sciences and Cyberspace, Tsinghua University
Beijing 100084
China
EMail: jianping@cernet.edu.cn
Jun Bi
Tsinghua University
Institute for Network Sciences and Cyberspace, Tsinghua University
Beijing 100084
China
EMail: junbi@cernet.edu.cn
An, et al. Expires July 22, 2019 [Page 29]