draft-ietf-sfc-nsh-16.txt   draft-ietf-sfc-nsh-17.txt 
Service Function Chaining P. Quinn, Ed. Service Function Chaining P. Quinn, Ed.
Internet-Draft Cisco Internet-Draft Cisco
Intended status: Standards Track U. Elzur, Ed. Intended status: Standards Track U. Elzur, Ed.
Expires: January 20, 2018 Intel Expires: January 26, 2018 Intel
C. Pignataro, Ed. C. Pignataro, Ed.
Cisco Cisco
July 19, 2017 July 25, 2017
Network Service Header (NSH) Network Service Header (NSH)
draft-ietf-sfc-nsh-16 draft-ietf-sfc-nsh-17
Abstract Abstract
This document describes a Network Service Header (NSH) inserted onto This document describes a Network Service Header (NSH) inserted onto
packets or frames to realize service function paths. NSH also packets or frames to realize service function paths. NSH also
provides a mechanism for metadata exchange along the instantiated provides a mechanism for metadata exchange along the instantiated
service paths. NSH is the SFC encapsulation required to support the service paths. NSH is the SFC encapsulation required to support the
Service Function Chaining (SFC) architecture (defined in RFC7665). Service Function Chaining (SFC) architecture (defined in RFC7665).
Status of This Memo Status of This Memo
skipping to change at page 1, line 37 skipping to change at page 1, line 37
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 20, 2018. This Internet-Draft will expire on January 26, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 26 skipping to change at page 4, line 26
Network Locator: dataplane address, typically IPv4 or IPv6, used to Network Locator: dataplane address, typically IPv4 or IPv6, used to
send and receive network traffic. send and receive network traffic.
Network Node/Element: Device that forwards packets or frames based Network Node/Element: Device that forwards packets or frames based
on an outer header (i.e., transport) information. on an outer header (i.e., transport) information.
Network Overlay: Logical network built on top of existing network Network Overlay: Logical network built on top of existing network
(the underlay). Packets are encapsulated or tunneled to create (the underlay). Packets are encapsulated or tunneled to create
the overlay network topology. the overlay network topology.
NSH-aware SFC-encapsulation-aware, or SFC-aware [RFC7665].
Service Classifier: Logical entity providing classification Service Classifier: Logical entity providing classification
function. Since they are logical, classifiers may be co-resident function. Since they are logical, classifiers may be co-resident
with SFC elements such as SFs or SFFs. Service classifiers with SFC elements such as SFs or SFFs. Service classifiers
perform classification and impose NSH. The initial classifier perform classification and impose NSH. The initial classifier
imposes the initial NSH and sends the NSH packet to the first SFF imposes the initial NSH and sends the NSH packet to the first SFF
in the path. Non-initial (i.e. subsequent) classification can in the path. Non-initial (i.e. subsequent) classification can
occur as needed and can alter, or create a new service path. occur as needed and can alter, or create a new service path.
Service Function (SF): Defined in [RFC7665]. Service Function (SF): Defined in [RFC7665].
skipping to change at page 7, line 29 skipping to change at page 7, line 29
OAM procedures SHOULD discard packets with O bit set, but MAY support OAM procedures SHOULD discard packets with O bit set, but MAY support
a configurable parameter to enable forwarding received SFC OAM a configurable parameter to enable forwarding received SFC OAM
packets unmodified to the next element in the chain. Forwarding OAM packets unmodified to the next element in the chain. Forwarding OAM
packets unmodified by SFC elements that do not support SFC OAM packets unmodified by SFC elements that do not support SFC OAM
procedures may be acceptable for a subset of OAM functions, but can procedures may be acceptable for a subset of OAM functions, but can
result in unexpected outcomes for others, thus it is recommended to result in unexpected outcomes for others, thus it is recommended to
analyze the impact of forwarding an OAM packet for all OAM functions analyze the impact of forwarding an OAM packet for all OAM functions
prior to enabling this behavior. The configurable parameter MUST be prior to enabling this behavior. The configurable parameter MUST be
disabled by default. disabled by default.
TTL: Indicates the maximum SFF hops for an SFP. The initial TTL TTL: Indicates the maximum SFF hops for an SFP. This field is used
value SHOULD be configurable via the control plane; the configured for service plane loop detection. The initial TTL value SHOULD be
initial value can be specific to one or more SFPs. If no initial configurable via the control plane; the configured initial value can
value is explicitly provided, the default initial TTL value 63 MUST be specific to one or more SFPs. If no initial value is explicitly
be used. Each SFF involved in forwarding an NSH packet MUST provided, the default initial TTL value 63 MUST be used. Each SFF
decrement the TTL value by 1 prior to NSH forwarding lookup. involved in forwarding an NSH packet MUST decrement the TTL value by
Decrementing by 1 from an incoming value of 0 shall result in a TTL 1 prior to NSH forwarding lookup. Decrementing by 1 from an incoming
value of 63. The packet MUST NOT be forwarded if TTL is, after value of 0 shall result in a TTL value of 63. The packet MUST NOT be
decrement, 0. forwarded if TTL is, after decrement, 0.
All other flag fields are unassigned and available for future use, All other flag fields are unassigned and available for future use,
see Section 11.2.1. Unassigned bits MUST be set to zero upon see Section 11.2.1. Unassigned bits MUST be set to zero upon
origination and MUST be preserved unmodified by other NSH supporting origination and MUST be preserved unmodified by other NSH supporting
elements. Elements which do not understand the meaning of any of elements. Elements which do not understand the meaning of any of
these bits MUST NOT modify their actions based on those unknown bits. these bits MUST NOT modify their actions based on those unknown bits.
Length: The total length, in 4-byte words, of NSH including the Base Length: The total length, in 4-byte words, of NSH including the Base
Header, the Service Path Header, the Fixed Length Context Header or Header, the Service Path Header, the Fixed Length Context Header or
Variable Length Context Header(s). The length MUST be of value 0x6 Variable Length Context Header(s). The length MUST be of value 0x6
skipping to change at page 10, line 12 skipping to change at page 10, line 12
and the new decremented SI value MUST be used in the egress NSH and the new decremented SI value MUST be used in the egress NSH
packet. The initial Classifier MUST send the packet to the first SFF packet. The initial Classifier MUST send the packet to the first SFF
in the identified SFP for forwarding along an SFP. If re- in the identified SFP for forwarding along an SFP. If re-
classification occurs, and that re-classification results in a new classification occurs, and that re-classification results in a new
SPI, the (re)classifier is, in effect, the initial classifier for the SPI, the (re)classifier is, in effect, the initial classifier for the
resultant SPI. resultant SPI.
The SI is used in conjunction with Service Path Identifier for The SI is used in conjunction with Service Path Identifier for
Service Function Path Selection and for determining the next SFF/SF Service Function Path Selection and for determining the next SFF/SF
in the path. The SI is also valuable when troubleshooting/ reporting in the path. The SI is also valuable when troubleshooting/ reporting
service paths. In addition to indicating the location within a service paths. Additionally, while the TTL field is the main
Service Function Path, SI can be used for service plane loop mechanism for service plane loop detection, the SI can also be used
detection. for detecting service plane loops.
2.4. NSH MD Type 1 2.4. NSH MD Type 1
When the Base Header specifies MD Type = 0x1, a Fixed Length Context When the Base Header specifies MD Type = 0x1, a Fixed Length Context
Header (16-bytes) MUST be present immediately following the Service Header (16-bytes) MUST be present immediately following the Service
Path Header, as per Figure 4. A Fixed Length Context Header that Path Header, as per Figure 4. A Fixed Length Context Header that
carries no metadata MUST be set to zero. carries no metadata MUST be set to zero.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
skipping to change at page 31, line 14 skipping to change at page 31, line 14
[I-D.ietf-sfc-oam-framework] [I-D.ietf-sfc-oam-framework]
Aldrin, S., Pignataro, C., Kumar, N., Akiya, N., Krishnan, Aldrin, S., Pignataro, C., Kumar, N., Akiya, N., Krishnan,
R., and A. Ghanwani, "Service Function Chaining Operation, R., and A. Ghanwani, "Service Function Chaining Operation,
Administration and Maintenance Framework", draft-ietf-sfc- Administration and Maintenance Framework", draft-ietf-sfc-
oam-framework-02 (work in progress), July 2017. oam-framework-02 (work in progress), July 2017.
[I-D.napper-sfc-nsh-broadband-allocation] [I-D.napper-sfc-nsh-broadband-allocation]
Napper, J., Kumar, S., Muley, P., Henderickx, W., and M. Napper, J., Kumar, S., Muley, P., Henderickx, W., and M.
Boucadair, "NSH Context Header Allocation -- Broadband", Boucadair, "NSH Context Header Allocation -- Broadband",
draft-napper-sfc-nsh-broadband-allocation-02 (work in draft-napper-sfc-nsh-broadband-allocation-03 (work in
progress), January 2017. progress), July 2017.
[RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P. [RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P.
Traina, "Generic Routing Encapsulation (GRE)", RFC 2784, Traina, "Generic Routing Encapsulation (GRE)", RFC 2784,
DOI 10.17487/RFC2784, March 2000, DOI 10.17487/RFC2784, March 2000,
<http://www.rfc-editor.org/info/rfc2784>. <http://www.rfc-editor.org/info/rfc2784>.
[RFC3692] Narten, T., "Assigning Experimental and Testing Numbers [RFC3692] Narten, T., "Assigning Experimental and Testing Numbers
Considered Useful", BCP 82, RFC 3692, Considered Useful", BCP 82, RFC 3692,
DOI 10.17487/RFC3692, January 2004, DOI 10.17487/RFC3692, January 2004,
<http://www.rfc-editor.org/info/rfc3692>. <http://www.rfc-editor.org/info/rfc3692>.
 End of changes. 8 change blocks. 
18 lines changed or deleted 20 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/