SFC WG Liang Xia
Internet Draft Qin Wu
Intended status: Standard Track Huawei
Deepak Kumar
Cisco
Expires: June 2015 February 10, 2015
YANG Data Model for SFC Operations, Administration, and Maintenance
(OAM)
draft-xia-sfc-yang-oam-01.txt
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), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on June 25,2015.
Copyright Notice
Copyright (c) 2014 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
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
Xia, et al. Expires June 25, 2015 [Page 1]
Internet-Draft SFC OAM YANG Model February 2015
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 the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License.
Abstract
This document defines YANG data model for Service Function Chaining
(SFC) Operations, Administration, and Maintenance (OAM). It extends
from the basic YANG data model for Layer independent OAM Management
defined in [I-D.tissa-lime-yang-oam-model] and [I-D.wang-lime-rpc-
yang-oam-management] with SFC technology specifics. It includes SFC
OAM related configuration, state, and RPC information data.
Table of Contents
1. Introduction ................................................ 2
2. Conventions used in this document ........................... 3
2.1. Terminology ............................................ 4
3. SFC Extensions to LIME YANG Model ........................... 4
3.1. MEP Address ............................................ 5
3.2. Connectivity-Context ................................... 6
3.3. SFC Layer For RPC - Path Discovery ..................... 7
4. SFC OAM YANG Data Hierarchy ................................. 8
5. SFC OAM YANG Module ........................................ 17
6. Security Considerations .................................... 40
7. IANA Considerations ........................................ 40
8. References ................................................. 40
8.1. Normative References .................................. 40
8.2. Informative References ................................ 41
9. Acknowledgments ............................................ 41
1. Introduction
YANG [RFC6020] is a data modeling language used to model
configuration and state data manipulated by the Network
Configuration Protocol (NETCONF) [RFC6241], NETCONF remote procedure
calls (RPC), and NETCONF notifications.
This document defines the YANG data model for Service Function Chaining
(SFC) [SFCPS] OAM. The SFC OAM YANG module involves the OAM
configuration, RPCs and notifications, etc.
Currently, [I-D.tissa-lime-yang-oam-model] and [I-D.wang-lime-rpc-
yang-oam-management] propose a basic YANG data model for Layer
Xia, et al. Expires June 25, 2015 [Page 2]
Internet-Draft SFC OAM YANG Model February 2015
independent OAM Management that can be applied to various OAM
technologies. SFC OAM YANG data model can be defined by directly
extending the basic model with SFC technology specifics. It can
bring some obvious benefits such as unified format, reusable parts,
and correlation of defects, faults, network failure at the specific
layer.
In addition, various components in the SFC technology specific YANG
data model defined in [SFCYANG] can be directly reused in this draft
to define the SFC OAM YANG data model.
Note that SFC OAM mechanisms are not yet defined or standardized
although some of the basic concepts and functions (e.g., fault
detection, fault localization, performance measurement, etc) may be
similar to traditional OAM mechanisms. This draft should get
alignment with the latest development SFC OAM mechanisms.
2. Conventions used in this document
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].
The following terms are defined in [RFC6241] and are not redefined
here:
o client
o configuration data
o server
o state data
The following terms are defined in [RFC6020] and are not redefined
here:
o augment
o data model
o data node
The terminology for describing YANG data models is found in
[RFC6020].
Xia, et al. Expires June 25, 2015 [Page 3]
Internet-Draft SFC OAM YANG Model February 2015
2.1. Terminology
MP - Maintenance Point [8021Q]
MEP - Maintenance End Point [8021Q] [RFC6371]
MIP - Maintenance Intermediate Point [8021Q] [RFC6371]
MEG - Maintenance Entity Group [Y1731] [RFC6371]
ME - Maintenance Entity [Y.1731] [RFC6371]
MD - Maintenance Domain [8021Q]
OAM - Operations, Administration, and Maintenance [RFC6291]
LIME - Layer Independent OAM Management [I-D.tissa-lime-yang-oam-
model] [I-D.wang-lime-rpc-yang-oam-management]
SF - Service Function [SFCYANG]
SFC - Service Function Chaining [SFCYANG]
SFF - Service Function Forwarder [SFCYANG]
3. SFC Extensions to LIME YANG Model
A new Technology parameter of SFC is defined here for the purpose of
identifying the SFC specific YANG model extension:
identity SFC {
base goam:technology-types;
description
"SFC type";
}
Figure 1 SFC identity type
Only when the Technology parameter is set to the "SFC" value, the
SFC specific extensions are applied.
Xia, et al. Expires June 25, 2015 [Page 4]
Internet-Draft SFC OAM YANG Model February 2015
3.1. MEP Address
In SFC, either the SF on service function layer or SF/SFF on SFC
forwarding layer can be MEP/MIP. A MEP/MIP cannot be identified
without specifying service function path. Therefore the MEP/MIP
address can only be identified by SF/SFF address plus service
function path id. In [I-D.tissa-lime-yang-oam-model] and [I-D.wang-
lime-rpc-yang-oam-management], MEP/MIP address is defined using a
combination of choice and case statement. We augment this to include
SFC specific SF/SFF address plus service function path id.
augment
"/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:mp-
address" {
case sf-mep-address {
description
"Service function (or service function forwarder) address plus
service function path id to identify one SFC MEP. A SFC MP can
be a service function or service function forwarder!"
leaf sf-mep-ref {
when "/goam:domains/goam:domain/goam:technology='sfc'";
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
when "/goam:domains/goam:domain/goam:technology='sfc'";
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
description
Xia, et al. Expires June 25, 2015 [Page 5]
Internet-Draft SFC OAM YANG Model February 2015
"Service function forwarder address plus service function path
id identify one SFC MEP. A SFC MP can be a service function or
service function forwarder!"
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
Figure 2 Augment SFC MEP address
3.2. Connectivity-Context
In SFC, connectivity-context is the service function path id. [I-
D.tissa-lime-yang-oam-model] and [I-D.wang-lime-rpc-yang-oam-
management] defines a placeholder for connectivity-context. This
allows other technologies to easily augment that to include
technology specific extensions. The snippet below depicts an example
of augmenting connectivity-context to include the SFC connectivity-
context.
augment "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:
connectivity-context" {
case connectivity-context-sfc {
leaf connectivity-context-sfp {
type sfc-sfp:service-function-path-ref;
}
}
Xia, et al. Expires June 25, 2015 [Page 6]
Internet-Draft SFC OAM YANG Model February 2015
}
Figure 3 Augment SFC Connectivity-Context
3.3. SFC Layer For RPC - Path Discovery
Path Discovery is used to discover the path that specific service
traverses in the network. For SFC, it can be used on both service
function layer and SFC forwarding layer depending on what is the
desired degree of path information.
typedef SFC-layer {
type enumeration {
enum "Service function layer" {
value 0;
}
enum "SFC forwarding layer" {
value 1;
}
}
}
augment "/goam-rpc:initiated-path-discovery/goam-rpc:input" {
description
"Adding SFC specific items on the input";
leaf path-discovery-layer {
Xia, et al. Expires June 25, 2015 [Page 7]
Internet-Draft SFC OAM YANG Model February 2015
type SFC-layer;
description
"Identifying which SFC layer to run path discovery";
}
}
Figure 4 Augment SFC SFC-layer for Path Discovery
4. SFC OAM YANG Data Hierarchy
The complete data hierarchy related to the SFC OAM YANG model is
presented below. The following notations are used within the data
tree and carry the meaning as noted below.
Each node is printed as:
<status> <flags> <name> <opts> <type>
<status> is one of:
+ for current
x for deprecated
o for obsolete
<flags> is one of:
rw for configuration data
ro for non-configuration data
-x for rpcs
-n for notifications
<name> is the name of the node
Xia, et al. Expires June 25, 2015 [Page 8]
Internet-Draft SFC OAM YANG Model February 2015
If the node is augmented into the tree from another module,
its
name is printed as <prefix>:<name>.
<opts> is one of:
? for an optional leaf or choice
! for a presence container
* for a leaf-list or list
[<keys>] for a list's keys
<type> is the name of the type for leafs and leaf-lists
module: sfc-oam
augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:
connectivity-context:
+--:(connectivity-context-sfc)
+--rw connectivity-context-sfp? sfc-sfp:service-function-
path-ref
augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:mp-
address:
+--:(sf-mep-address)
| +--rw sf-mep-ref? sfc-sf:service-function-ref
| +--rw sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--rw sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--rw sfp-mep-ref? sfc-sfp:service-function-path-ref
Xia, et al. Expires June 25, 2015 [Page 9]
Internet-Draft SFC OAM YANG Model February 2015
augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:
connectivity-context:
+--:(connectivity-context-sfc)
+--rw connectivity-context-sfp? sfc-sfp:service-function-
path-ref
augment
/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session/goa
m:destination-mep-address/goam:mp-address:
+--:(sf-mep-address)
| +--rw sf-mep-ref? sfc-sf:service-function-ref
| +--rw sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
+--rw sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--rw sfp-mep-ref? sfc-sfp:service-function-path-ref
augment
/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session/goa
m:connectivity-context:
+--:(connectivity-context-sfc)
+--rw connectivity-context-sfp? sfc-sfp:service-function-
path-ref
augment /goam-rpc:initiated-contiuity-check/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
Xia, et al. Expires June 25, 2015 [Page 10]
Internet-Draft SFC OAM YANG Model February 2015
augment /goam-rpc:initiated-contiuity-check/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:revoke-contiuity-check/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:revoke-contiuity-check/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:initiated-connectity-verification/goam-
rpc:input/goam-rpc:source-mep/goam-rpc:mp-address:
Xia, et al. Expires June 25, 2015 [Page 11]
Internet-Draft SFC OAM YANG Model February 2015
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:initiated-connectity-verification/goam-
rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:revoke-connectity-verification/goam-
rpc:input/goam-rpc:source-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:revoke-connectity-verification/goam-
rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
Xia, et al. Expires June 25, 2015 [Page 12]
Internet-Draft SFC OAM YANG Model February 2015
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:initiated-path-discovery/goam-rpc:input:
+--ro:path-discovery-layer SFC-layer
augment /goam-rpc:initiated-path-discovery/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:initiated-path-discovery/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:initiated-path-discovery/goam-rpc:output/ goam-
rpc:response/goam-rpc:destination-mp/goam-rpc:mp-address:
Xia, et al. Expires June 25, 2015 [Page 13]
Internet-Draft SFC OAM YANG Model February 2015
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:revoke-path-discovery/goam-rpc:input:
+--ro:path-discovery-layer SFC-layer
augment /goam-rpc:revoke-path-discovery/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:revoke-path-discovery/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
Xia, et al. Expires June 25, 2015 [Page 14]
Internet-Draft SFC OAM YANG Model February 2015
augment /goam-rpc:initiated-performance-measurement/goam-
rpc:input/goam-rpc:source-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:initiated-performance-measurement/goam-
rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:revoke-performance-measurement/goam-
rpc:input/goam-rpc:source-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:revoke-performance-measurement/goam-
rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address:
Xia, et al. Expires June 25, 2015 [Page 15]
Internet-Draft SFC OAM YANG Model February 2015
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:initiated-other-function/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:initiated-other-function/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:revoke-other-function/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
Xia, et al. Expires June 25, 2015 [Page 16]
Internet-Draft SFC OAM YANG Model February 2015
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
augment /goam-rpc:revoke-other-function/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address:
+--:(sf-mep-address)
| +--ro sf-mep-ref? sfc-sf:service-function-ref
| +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
+--:(sff-mep-address)
| +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref
+--ro sfp-mep-ref? sfc-sfp:service-function-path-ref
Figure 5 Data hierarchy of SFC OAM
5. SFC OAM YANG Module
<CODE BEGINS> file "sfc-oam.yang"
module sfc-oam {
namespace "urn:huawei:params:xml:ns:yang:sfc-oam";
prefix sfcoam;
import gen-oam {
prefix goam;
}
Xia, et al. Expires June 25, 2015 [Page 17]
Internet-Draft SFC OAM YANG Model February 2015
import gen-oam-rpc {
prefix goam-rpc;
}
import service-function {
prefix sfc-sf;
}
import service-function-path {
prefix sfc-sfp;
}
import service-function-forwarder {
prefix sfc-sff;
}
revision 2014-09-04 {
description
"Initial revision.";
}
identity sfc {
base goam:technology-types;
description
"sfc type";
}
Xia, et al. Expires June 25, 2015 [Page 18]
Internet-Draft SFC OAM YANG Model February 2015
typedef SFC-layer {
type enumeration {
enum "Service function layer" {
value 0;
}
enum "SFC forwarding layer" {
value 1;
}
}
}
augment
"/goam:domains/goam:domain/goam:MAs/goam:MA/goam:connectivity-
context" {
case connectivity-context-sfc {
leaf connectivity-context-sfp {
type sfc-sfp:service-function-path-ref;
}
}
}
augment
"/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:mp-
address" {
case sf-mep-address {
Xia, et al. Expires June 25, 2015 [Page 19]
Internet-Draft SFC OAM YANG Model February 2015
description
"Service function (or service function forwarder) address plus
service function path id to identify one SFC MEP. A SFC MP can be a
service function or service function forwarder!";
leaf sf-mep-ref {
when "/goam:domains/goam:domain/goam:technology='sfc'";
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
when "/goam:domains/goam:domain/goam:technology='sfc'";
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
description
"Service function address plus service function path id to
identify one SFC MEP. A SFC MP can be a service function or service
function forwarder!";
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
Xia, et al. Expires June 25, 2015 [Page 20]
Internet-Draft SFC OAM YANG Model February 2015
augment
"/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session/go
am:destination-mep-address/goam:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment
"/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session/go
am:connectivity-context" {
case connectivity-context-sfc {
leaf connectivity-context-sfp {
Xia, et al. Expires June 25, 2015 [Page 21]
Internet-Draft SFC OAM YANG Model February 2015
type sfc-sfp:service-function-path-ref;
}
}
}
//SFC extension of contiuity-check part
augment "/goam-rpc:initiated-continuity-check/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
Xia, et al. Expires June 25, 2015 [Page 22]
Internet-Draft SFC OAM YANG Model February 2015
}
}
}
augment "/goam-rpc:initiated-continuity-check/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:revoke-continuity-check/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address" {
Xia, et al. Expires June 25, 2015 [Page 23]
Internet-Draft SFC OAM YANG Model February 2015
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:revoke-continuity-check/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
Xia, et al. Expires June 25, 2015 [Page 24]
Internet-Draft SFC OAM YANG Model February 2015
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
//SFC extension of connectity-verification part
augment "/goam-rpc:initiated-connectivity-verification/goam-
rpc:input/goam-rpc:source-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
Xia, et al. Expires June 25, 2015 [Page 25]
Internet-Draft SFC OAM YANG Model February 2015
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:initiated-connectivity-verification/goam-
rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
Xia, et al. Expires June 25, 2015 [Page 26]
Internet-Draft SFC OAM YANG Model February 2015
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:revoke-connectity-verification/goam-
rpc:input/goam-rpc:source-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
Xia, et al. Expires June 25, 2015 [Page 27]
Internet-Draft SFC OAM YANG Model February 2015
augment "/goam-rpc:revoke-connectity-verification/goam-
rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
//SFC extension of path-discovery part
augment "/goam-rpc:initiated-path-discovery/goam-rpc:input" {
description
"adds SFC specific items on the input";
Xia, et al. Expires June 25, 2015 [Page 28]
Internet-Draft SFC OAM YANG Model February 2015
leaf path-discovery-layer {
type SFC-layer;
description
"Identifying which SFC layer to run path discovery";
}
}
augment "/goam-rpc:initiated-path-discovery/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
Xia, et al. Expires June 25, 2015 [Page 29]
Internet-Draft SFC OAM YANG Model February 2015
}
}
augment "/goam-rpc:initiated-path-discovery/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:initiated-path-discovery/goam-rpc:output/goam-
rpc:response/goam-rpc:destination-mp/goam-rpc:mp-address" {
case sf-mep-address {
Xia, et al. Expires June 25, 2015 [Page 30]
Internet-Draft SFC OAM YANG Model February 2015
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:revoke-path-discovery/goam-rpc:input" {
description
"adds SFC specific items on the input";
leaf path-discovery-layer {
type SFC-layer;
description
"Identifying which SFC layer to run path discovery";
Xia, et al. Expires June 25, 2015 [Page 31]
Internet-Draft SFC OAM YANG Model February 2015
}
}
augment "/goam-rpc:revoke-path-discovery/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:revoke-path-discovery/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
Xia, et al. Expires June 25, 2015 [Page 32]
Internet-Draft SFC OAM YANG Model February 2015
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
//SFC extension of performance-measurement part
augment "/goam-rpc:initiated-performance-measurement/goam-
rpc:input/goam-rpc:source-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
Xia, et al. Expires June 25, 2015 [Page 33]
Internet-Draft SFC OAM YANG Model February 2015
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:initiated-performance-measurement/goam-
rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
Xia, et al. Expires June 25, 2015 [Page 34]
Internet-Draft SFC OAM YANG Model February 2015
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:revoke-performance-measurement/goam-
rpc:input/goam-rpc:source-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
Xia, et al. Expires June 25, 2015 [Page 35]
Internet-Draft SFC OAM YANG Model February 2015
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:revoke-performance-measurement/goam-
rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
Xia, et al. Expires June 25, 2015 [Page 36]
Internet-Draft SFC OAM YANG Model February 2015
//SFC extension of other-function part
augment "/goam-rpc:initiated-other-function/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:initiated-other-function/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
Xia, et al. Expires June 25, 2015 [Page 37]
Internet-Draft SFC OAM YANG Model February 2015
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:revoke-other-function/goam-rpc:input/goam-
rpc:source-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
Xia, et al. Expires June 25, 2015 [Page 38]
Internet-Draft SFC OAM YANG Model February 2015
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
augment "/goam-rpc:revoke-other-function/goam-rpc:input/goam-
rpc:destination-mep/goam-rpc:mp-address" {
case sf-mep-address {
leaf sf-mep-ref {
type sfc-sf:service-function-ref;
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
case sff-mep-address {
leaf sff-mep-ref {
type sfc-sff:service-function-forwarder-ref;
Xia, et al. Expires June 25, 2015 [Page 39]
Internet-Draft SFC OAM YANG Model February 2015
}
leaf sfp-mep-ref {
type sfc-sfp:service-function-path-ref;
}
}
}
}
<CODE ENDS>
Figure 6 YANG module of SFC OAM
6. Security Considerations
TBD
7. IANA Considerations
This document registers the following namespace URI in the IETF XML
registry.
URI:TBD
8. References
8.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[2] Crocker, D. and Overell, P.(Editors), "Augmented BNF for
Syntax Specifications: ABNF", RFC 2234, Internet Mail
Consortium and Demon Internet Ltd., November 1997.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Xia, et al. Expires June 25, 2015 [Page 40]
Internet-Draft SFC OAM YANG Model February 2015
[RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for
Syntax Specifications: ABNF", RFC 2234, Internet Mail
Consortium and Demon Internet Ltd., November 1997.
[8021Q] IEEE, "Media Access Control (MAC) Bridges and Virtual
Bridged Local Area Networks", IEEE Std 802.1Q-2011, August,
2011.
8.2. Informative References
[Y1731] ITU, "OAM functions and mechanisms for Ethernet based
networks", ITU-T G.8013/Y.1731, July, 2011
[RFC6291] Andersson, L., et.al., "Guidelines for the use of the
"OAM" Acronym in the IETF" RFC 6291, June 2011.
[I-D.tissa-lime-yang-oam-model] Senevirathne , T. and Q. Wu, "YANG
Data Model for Generic Operations, Administration, and
Maintenance (OAM)", Work in Progress, November 2014.
[I-D.wang-lime-rpc-yang-oam-management] Wang, Z., " Additional RPC
definitions to Generic YANG Data Model for layer
Independent OAM Management ", Work in Progress, December,
2014.
[SFCYANG] Penno, R., et.al., "Yang Data Model for Service Function
Chaining", Work in Progress, October, 2014.
9. Acknowledgments
This document was prepared using 2-Word-v2.0.template.dot.
Authors' Addresses
Liang Xia
Huawei
Email: Frank.xialiang@huawei.com
Xia, et al. Expires June 25, 2015 [Page 41]
Internet-Draft SFC OAM YANG Model February 2015
Qin Wu
Huawei
Email: Bill.wu@huawei.com
Deepak Kumar
CISCO Systems
510 McCarthy Blvd
Milpitas, CA 95035.
Email: dekumar@cisco.com
Xia, et al. Expires June 25, 2015 [Page 42]