OpenFlow Controller/Switch NDM Synchronization v1.0

Similar documents
OpenFlow Switch Errata

FOR TCG ACPI Specification

TCG Physical Security Interoperability Alliance IP Video Use Case 002 (PSI-UC-IPV002) Specification Version 1.0 Revision 0.2

ERRATA FOR. Protection Profile PC Client Specific TPM. Errata Version 1.0 June 16, 2018 DRAFT. Specification Version 1.

ERRATA FOR. TCG TPM I2C Interface Specification. Errata Version 1.0 April 6, Family 2.0 Level 00 Revision 1.

ERRATA FOR. TCG Platform Attribute Credential Profile. Errata Version Published. Specification Version 1.0 Revision January 2018

Ecma International Policy on Submission, Inclusion and Licensing of Software

SDLC INTELLECTUAL PROPERTY POLICY

TCG Compliance TNC IF-MAP Metadata for Network Security Compliance Test Plan

Ecma International Policy on Submission, Inclusion and Licensing of Software

Enhanced Serial Peripheral Interface (espi) ECN

TCG. TCG Certification Program. TNC Certification Program Suite. Document Version 1.1 Revision 1 26 September 2011

TCG Storage Opal SSC Feature Set: PSID. Specification Version 1.00 Revision August 5, Contact:

Getting Started with MTConnect: Architecture

TCG. TCG Storage Interface Interactions Specification. Specification Version 1.0. January 27, Contacts:

Native route discovery algorithm

IETF TRUST. Legal Provisions Relating to IETF Documents. February 12, Effective Date: February 15, 2009

IETF TRUST. Legal Provisions Relating to IETF Documents. Approved November 6, Effective Date: November 10, 2008

Expires: February 25, 2004 August 27, Using the NETCONF Configuration Protocol over Secure Shell (SSH) draft-wasserman-netconf-over-ssh-00.

One Identity Active Roles 7.2. Management Pack Technical Description

Quest Migration Manager Upgrade Guide

Open-E Data Storage Server. Intel Modular Server

MySonicWall Secure Upgrade Plus

RE866 Interface User Guide

ESS Utility Android App User Guide

Packet Trace Guide. Packet Trace Guide. Technical Note

TERMS & CONDITIONS. Complied with GDPR rules and regulation CONDITIONS OF USE PROPRIETARY RIGHTS AND ACCEPTABLE USE OF CONTENT

If the firmware version indicated is earlier than the "Version 1.06", please update the unit s firmware.

Mile Terms of Use. Effective Date: February, Version 1.1 Feb 2018 [ Mile ] Mileico.com

GS2K External Flash based Host Firmware Update Application Note NT11608A Rev

One Identity Active Roles 7.2

Bar Code Discovery. Administrator's Guide

Terms of Use. Changes. General Use.

MERIDIANSOUNDINGBOARD.COM TERMS AND CONDITIONS

TCG Storage Work Group. Storage Certification Program. Program Version 1.0 Document Revision 1.22 March 16, Contact: Doug Gemmill, TCG CPM T C G

Intel Cluster Ready Allowed Hardware Variances

MyCreditChain Terms of Use

TCG Storage Interface Interactions Specification (SIIS) Specification Version 1.02 Revision December, 2011 TCG

OpenFlow Management and Configuration Protocol (OF-Config 1.1)

Clear CMOS after Hardware Configuration Changes

EAM Portal User's Guide

XEP-0087: Stream Initiation

INCLUDING MEDICAL ADVICE DISCLAIMER

One Identity Active Roles 7.2. Web Interface User Guide

Change of Data Pool Service Provider Policy

TCG Specification TCG. TPM 2.0 Mobile Command Response Buffer Interface. TCG Published. Family 2.0. Level 00 Revision 12.

LOGO LICENSE AGREEMENT(S) CERTIPORT AND IC³

OCF 2.3 New Resources for Gas Consumption DMWG CR Legal Disclaimer

StorageGRID Webscale NAS Bridge Management API Guide

R E F E R E N C E TCG. Trusted Multi-Tenant Infrastructure Work Group. Use Cases. Version 1.1. November 15, 2013

Cluster and SVM Peering Express Guide

Terminal I/O Profile Client Implementation Guide

HYCU SCOM Management Pack for F5 BIG-IP

BlackBerry Enterprise Server for Microsoft Office 365. Version: 1.0 Maintenance Release: 1. Release Notes

One Identity Active Roles 7.2. Replication: Best Practices and Troubleshooting Guide

Hyper-V - Windows 2012 and 8. Virtual LoadMaster for Microsoft Hyper-V on Windows Server 2012, 2012 R2 and Windows 8. Installation Guide

Introduction and Applications for Ceramic Band-Pass Filters

SafeNet Authentication Client

E-Series Cabling E-Series Hardware

Security Removable Media Manager

Security Removable Media Manager

Security Removable Media Manager

Windows VISTA Wireless Network Access Information

Release Notes. BlackBerry Enterprise Identity

NTLM NTLM. Feature Description

Bluetooth PC Card Transport Layer

SafeNet Authentication Service

XEP-0206: XMPP Over BOSH

Quest Migration Manager for Exchange Granular Account Permissions for Exchange 2010 to 2013 Migration

Workshop 4 Installation INSTALL GUIDE. Document Date: February 4 th, Document Revision: 1.1

Metalogix Intelligent Migration. Installation Guide

QPP Proprietary Profile Guide

One Identity Active Roles 7.2. Azure AD and Office 365 Management Administrator Guide

AN S1401 Using BlueMod+S as Beacon

RUGGEDCOM NETCONF. Preface. Introducing NETCONF 1. NETCONF Capabilities and Namespaces 2. NETCONF Sessions 3. Getting Data 4

Toad Intelligence Central 3.3 New in This Release

About One Identity Quick Connect for Base Systems 2.4.0

One Identity Active Roles 7.2. Web Interface Administrator Guide

How to Show Grouping in Scatterplots using Statistica

AT11512: SAM L Brown Out Detector (BOD) Driver. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

Quest Migration Manager for Exchange Granular Account Permissions for Exchange 2010 to 2010 Migration

One Identity Active Roles Diagnostic Tools 1.2.0

One Identity Quick Connect for Base Systems 2.4. Administrator Guide

SPListX for SharePoint Installation Guide

One Identity Quick Connect Express

SafeNet Authentication Client

RAVENNA-2-SAP Converter Installation + Operation Guide

VMware vcenter Log Insight Manager. Deployment Guide

End User License Agreement

One Identity Starling Two-Factor HTTP Module 2.1. Administration Guide

One Identity Manager Administration Guide for Connecting to SharePoint

Authentication Services ActiveRoles Integration Pack 2.1.x. Administration Guide

NetApp Cloud Volumes Service for AWS

Oracle Binary Code License Agreement for Java Secure Sockets Extension for Connected Device Configuration 1.0.2

AT03262: SAM D/R/L/C System Pin Multiplexer (SYSTEM PINMUX) Driver. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

SKY33108: BAW GHz WiFi Pass/ GHz WiMAX Reject Filter

Spotlight Management Pack for SCOM. User Guide

The OpenVX Buffer Aliasing Extension

Volume Disaster Recovery Preparation Express Guide

One Identity Starling Two-Factor Authentication. Administration Guide

Transcription:

OpenFlow Controller/Switch NDM Synchronization v1.0 15 August 2014 ONF TS-018 NOTE: ONF specification TS_OpenFlow_Negotiable_Datapath_Models_v.1.0_062014 is closely related to this specification.

OpenFlow Controller/Switch NDM Synchronization Version 1.0 ONF Document Type: OpenFlow Spec ONF Document Name: OpenFlow Controller-Switch NDM Synchronization v1.0 Disclaimer THIS SPECIFICATION IS PROVIDED AS IS WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. Without limitation, ONF disclaims all liability, including liability for infringement of any proprietary rights, relating to use of information in this specification and to the implementation of this specification, and ONF disclaims all liability for cost of procurement of substitute goods or services, lost profits, loss of use, loss of data or any incidental, consequential, direct, indirect, or special damages, whether under contract, tort, warranty or otherwise, arising in any way out of use or reliance upon this specification or any information herein. No license, express or implied, by estoppel or otherwise, to any Open Networking Foundation or Open Networking Foundation member intellectual property rights is granted herein. Except that a license is hereby granted by ONF to copy and reproduce this specification for internal use only. Contact the Open Networking Foundation at https://www.opennetworking.org for information on specification licensing through membership agreements. Any marks and brands contained herein are the property of their respective owners. WITHOUT LIMITING THE DISCLAIMER ABOVE, THIS SPECIFICATION OF THE OPEN NETWORKING FOUNDATION ( ONF ) IS SUBJECT TO THE ROYALTY FREE, REASONABLE AND NONDISCRIMINATORY ( RANDZ ) LICENSING COMMITMENTS OF THE MEMBERS OF ONF PURSUANT TO THE ONF INTELLECTUAL PROPERTY RIGHTS POLICY. ONF DOES NOT WARRANT THAT ALL NECESSARY CLAIMS OF PATENT WHICH MAY BE IMPLICATED BY THE IMPLEMENTATION OF THIS SPECIFICATION ARE OWNED OR LICENSABLE BY ONF'S MEMBERS AND THEREFORE SUBJECT TO THE RANDZ COMMITMENT OF THE MEMBERS. Open Networking Foundation

1 Introduction... 4 2 OF-Config-based NDM Negotiation... 4 2.1 NDM Negotiation Overview... 4 2.2 Basic Flow of Operations... 4 2.3 Example NDM Negotiation... 5 2.4 Example Parameter Adjustment... 7 Page 3 of 8

1 Introduction This document describes how OFCPs can use OF-Config 1.2 to negotiate an agreed NDM (negotiable datapath model) with an OpenFlow Capable switch. Negotiation can include discovery of available switch-supported NDMs, request for parameter constraints, and ultimately activation of specific NDMs with specific parameters. 2 OF-Config-based NDM Negotiation 2.1 NDM Negotiation Overview For system implementations that support the OF-Config1.2 protocol, a method is defined for the OFCP to determine which NDMs are supported by a capable switch, and subsequently to associate an NDM with a logical switch. In cases where the NDM implementation has adjustable parameters, the OFCP can attempt to impose value constraints on one or more of the NDM parameters, and switch will either reject the constraints, or will respond with a collection of parameter values that satisfy the requested constraints. The following section describes the negotiation process. 2.2 Basic Flow of Operations 1. OFCP connects to an OpenFlow capable switch and learns the following through NETCONF capabilities exchange: a. Does the capable switch implement NDMs? i. Detectable through the optional presence of the NDM YANG module identifiers (URIs) b. A list of NDMs that the capable switch implements through their respective unique identifier (URIs) 2. For some very simple OFCP clients (e.g. shell scripts), it may be difficult to process the information provided in the capabilities exchange. An alternative approach is to query the subtree that would contain the basic NDM parameters by performing a 'get' on the following node: /capable-switch/resources/ndm If that subtree does not exist (i.e. the response is empty), the client can safely assume that the capable switch does not implement NDMs. 3. If the capable switch does indeed implement NDM supports, the client can proceed by querying the capable switch for available NDMs performing a 'get' operation on the following node: /capable-switch/resources/ndm/available-ndms The capable switch responds with a list of available NDMs as a list with the following leafs: ndm:authority string ndm:name string ndm:type enumeration (ttp, fpmod) ndm:version string Any empty response means that while it does implement NDM functionality there are currently no NDMs available for use. 4. If the client finds NDMs for which it doesn't currently have access to the associated YANG module, it can use the (optional) get-schema operation as described in RFC 6022, Section 3.1 to fetch the YANG modules for specific NDMs. Page 4 of 8

The client now knows: a. Which NDMs the capable switch supports through the capabilities exchange in (1. above) or the query in (2. above). b. The formal set of configuration parameters (including default values) and negotiation RPCs for all NDMs as defined in the corresponding YANG modules. 5. The client may now proceed by instantiating (and parameterizing) an NDM on any of the available logical switches either according to the data definitions in the YANG module (5.a below); or by first collecting suggested parameters from the capable switch using the suggest-ndm-parameters RPC if present (5.b below) a. The client uses basic NETCONF edit-config operations to create an instantiated (parameterized) NDM on any of the logical switches b. The client uses the suggest-ndm-parameters RPC with NDM-specific input values to query the switch for suggested parameters. The switch responds with a complete and valid set of data for the client to use in creating an NDM. The OFCP proceeds as described in (5.1) The suggest-ndm-parameters RPC may be called for several NDMs to collect suggested parameters before deciding on which NDM to create as described in (6. above) 2.3 Example NDM Negotiation This section contains an informal set of terminal and protocol dumps corresponding to the general steps above to provide an example. We make use of the netconf-console tool to query the NETCONF server. The command below initiates a capabilities-exchange with the NETCONF server (within a capable switch) to find out which protocol capabilities the switch supports and which YANG modules are implemented. We can see below that the server supports of-config, ndm, and two specific ndm-modules l2l3 and l2l3acl. calle@macbook:openflow $netconf-console --hello <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <capabilities> <capability>urn:ietf:params:netconf:base:1.0</capability> <capability>urn:ietf:params:netconf:base:1.1</capability> <capability>urn:ietf:params:netconf:capability:writable-running:1.0</capability> <capability>urn:ietf:params:netconf:capability:xpath:1.0</capability> [...] <capability>urn:onf:of111:config:yang?module=of-config&revision=2011-12-07</capability> <capability>urn:opennetworking.org:yang:ndm?module=ndm&revision=2013-04-30</capability> <capability>urn:opennetworking.org:yang:ndm:l2l3?module=l2l3</capability> <capability>urn:opennetworking.org:yang:ndm:l2l3acl?module=l2l3acl</capability> </capabilities> <session-id>13</session-id> </hello> The command below queries the server for configuration and operational data under the /capableswitch/resources/ndm node. The server returns data (in this case the name, type and version of the two supported NDMs). The client can now safely assume that the server supports NDMs. calle@macbook:openflow $netconf-console --get -x /capable-switch/resources/ndm <data> <capable-switch xmlns="urn:onf:of111:config:yang"> <resources> <ndm xmlns="urn:opennetworking.org:yang:ndm"> <available-ndms> <name>l2l3acl</name> <type>ttp</type> <version>draft</version> </available-ndms> <available-ndms> Page 5 of 8

<name>l2l3</name> <type>ttp</type> <version>draft</version> </available-ndms> </ndm> </resources> </capable-switch> </data> calle@macbook:openflow $ This is an example where the server has no support for NDMs: calle@macbook:openflow $netconf-console --get -x /capable-switch/resources/xlndm <data/> The below shows how to fetch a specific YANG module in-band using the get-schema and the name of the module we want to fetch (l2l3acl). Module content edited for space. calle@macbook:openflow $netconf-console --get-schema=l2l3acl <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"><![cdata[module l2l3acl { namespace "urn:opennetworking.org:yang:ndm:l2l3acl"; prefix "l2l3acl"; import of-config { prefix ofc; } import ndm { prefix ndm; } grouping l2l3acl-params { leaf ingress-vlan-table-size { type uint32; } [...] }]]></data> calle@macbook:openflow $ The YANG module includes parameter information for the NDM, including the default values and which parameters may be adjusted. If there are no adjustable parameters, or if the OFCP client finds the default parameters acceptable as-is, then it knows which parameters to use with the NDM. (Otherwise, see Example Parameter Adjustment below.) At this point, the OFCP client has the information it needs to perform an edit-config operation to associate a parameterized NDM with the logical switch. First we ll take a look at the content of the NDM we re planning to add: calle@macbook:openflow $more add-l2l3acl-implementation.xml <capable-switch xmlns="urn:onf:of111:config:yang" xmlns:ndm="urn:opennetworking.org:yang:ndm" xmlns:l2l3acl="urn:opennetworking.org:yang:ndm:l2l3acl"> <logical-switches> <switch> <id>logicalswitch6</id> <resources> <ndm:parameterized-ndm> <l2l3acl:l2l3acl> <l2l3acl:ingress-vlan-table-size>128</l2l3acl:ingress-vlan-table-size> <l2l3acl:acl-table-size>128</l2l3acl:acl-table-size> <l2l3acl:router-mac-table-size>128</l2l3acl:router-mac-table-size> <l2l3acl:l3-table-size>128</l2l3acl:l3-table-size> Page 6 of 8

<l2l3acl:l2-table-size>128</l2l3acl:l2-table-size> <l2l3acl:egress-vlan-table-size>128</l2l3acl:egress-vlan-table-size> </l2l3acl:l2l3acl> </ndm:parameterized-ndm> </resources> </switch> </logical-switches> </capable-switch> The next step is to add the NDM with all parameters set to default values. We use the edit-config operation as follows: calle@macbook:openflow $netconf-console --edit-config=add-l2l3acl-implementation.xml <ok/> Once the edit-config has completed, we can take a look at the newly parameterized NDM in the configuration using the get-config operation: calle@macbook:openflow $netconf-console --get -x "/capable-switch/logicalswitches/switch[id='logicalswitch6']/resources/parameterized-ndm" <data> <capable-switch xmlns="urn:onf:of111:config:yang"> <logical-switches> <switch> <id>logicalswitch6</id> <resources> <parameterized-ndm xmlns="urn:opennetworking.org:yang:ndm"> <l2l3acl xmlns="urn:opennetworking.org:yang:ndm:l2l3acl"> <ingress-vlan-table-size>128</ingress-vlan-table-size> <acl-table-size>128</acl-table-size> <router-mac-table-size>128</router-mac-table-size> <l3-table-size>128</l3-table-size> <l2-table-size>128</l2-table-size> <egress-vlan-table-size>128</egress-vlan-table-size> </l2l3acl> </parameterized-ndm> </resources> </switch> </logical-switches> </capable-switch> </data> calle@macbook:openflow $ 2.4 Example Parameter Adjustment If an NDM implementation supports parameter adjustment, the OFCP client may choose to request parameters other than the defaults. The suggest-ndm-parameters RPC, shown below, can be used to ask the switch to suggest a full set of parameters that comply with certain constraints. The constraints are represented as requested parameters, which may be larger table sizes, or may represent optional functionality (see the discussions of the support meta members and the built-in OptFunc parameter, both in section 3 of this document.). First we take a look at the requested parameters suggested by the client: calle@macbook:openflow $more action.xml <suggest-ndm-parameters xmlns="urn:opennetworking.org:yang:ndm"> <l2l3acl xmlns="urn:opennetworking.org:yang:ndm:l2l3acl"> <ingress-vlan-table-size>128</ingress-vlan-table-size> <router-mac-table-size>128</router-mac-table-size> </l2l3acl> </suggest-ndm-parameters> Page 7 of 8

Then we execute the RPC and capture the output. If the output is empty, then the NDM implementation was not able to generate a set of parameters that satisfy the provided parameter constraints. If that occurs, the OFCP client can try again using different constraints, or decide not to use the NDM. If the output is not empty, the returned parameters (in the rpc-rep ly below) can be used in an edit-config operation (similar to the earlier example, except that now we specify all the parameters) to add a parameterized NDM. calle@macbook:openflow $netconf-console --rpc=action.xml <l2l3acl xmlns="urn:opennetworking.org:yang:ndm:l2l3acl"> <ingress-vlan-table-size>128</ingress-vlan-table-size> <acl-table-size>128</acl-table-size> <router-mac-table-size>128</router-mac-table-size> <l3-table-size>128</l3-table-size> <l2-table-size>128</l2-table-size> <egress-vlan-table-size>128</egress-vlan-table-size> </l2l3acl> calle@macbook:openflow $ Page 8 of 8