Presentation is loading. Please wait.

Presentation is loading. Please wait.

Kalua – A DML for NETCONF

Similar presentations


Presentation on theme: "Kalua – A DML for NETCONF"— Presentation transcript:

1 Kalua – A DML for NETCONF bernd.linowski@nsn.com martin.storch@nsn.com mikko.lahdensivu@nsn.com mehmet.ersue@nsn.com

2 Kalua Basics In the first place, Kalua is a DML for NETCONF:  supports the immediate needs of the NETCONF protocol  provides modeling features for... the payload of NETCONF get-/edit(-config) operations NETCONF notifications  uses precedent discussion in RFC 3535 as a guidance But Kalua also...  addresses extensibility and broader applicability  integrates data modeling and information modeling features  aims to support also solutions for different other IETF issues, e.g. in OPS and APPS areas

3 Kalua Basics (II) XML based language  Basic parsing / generation / editing support available everywhere  No need to learn a new grammar  Basic validation with Kalua XSD Kalua is XSD “Mappable”  Reuses concepts from XSD

4 Kalua Basics Kalua Model (XML) Kalua Model Schemas (XSD) Kalua Model Schemas (XSD) NETCONF Payload (XML) Metamodel Layer Kalua Schema (XSD) Model Layer Data Layer validates generated from validates

5 Kalua Features Build-ins based on “XML Schema 1.1 Part 2: Datatypes” Simple-type Modeling:  Restrictions, Enums, Unions and possible combinations Data modeling  Attributes, Structures, Sequences, Type-Defs, … Essential object-oriented modeling  Classes, Inheritance, Relationships, … Modularity  Model import, Multiple model release support Extensibility  Typed annotations

6 Complex Datatype Modeling Structures:  set of attributes  may use attribute groups  may have a key Sequences:  min & max-length (unbounded)  ordering relevance Type-Defs  Makes a datatype available for reuse double double <sequence minLength=“1” maxLength=“unbounded”> string …

7 Modules Packages Kalua model elements Own namespace XML mapping support  ns-uri  ns-prefix May import other modules … sdh http://www.xyz.com/sdh S7.0 tp http://www.xyz.com/tp … …

8 Module Releases Identifies a particular release of a module Release is typically tied to NE release Applies to all model elements in the module http://xyz.com/sdh sdh S7.0 http://xyz.com/sdh sdh S8.1 http://xyz.com/sdh sdh S8.1

9 Attribute Groups Equivalent to attribute groups in XML Schema Bundles attributes Reused by  Structures  Classes  other attribute groups Does not define a type … string … unsignedShort … … …

10 Classes Blueprints for  network elements or  abstract entities Defines a type Has it’s own identity potentially independent life-cycle Endpoint of relationships May be abstract May use attribute groups … string locId …

11 Class Inheritance Establishes an “is-a” relationship Reuse of features from base class  attributes  keys  relationships Avoid multiple-inheritance for the sake of reduced complexity … … Location … … …

12 Reference Relationships Connect a source and a target class Relate instances regardless of their context of use Specify the multiplicity of the relationship (e.g. 1:1, 1:n, n:m) May be read-only May specialize a base relationship … ManagedObject locatedObject Location location 1 …

13 Calculated Relationships Explicit relationships derived from configuration data Read-only Avoids “informally described” relationships Condition determines related instances Dynamic (re-)evaluation whenever a relationship is queried … $source/remoteLinkId = $target/linkId and $source/remoteTslot = $target/tslot PCM_TP localTP PCM_TP remoteTP …

14 Typed Annotations Annotations  enhance semantics of existing DML elements  Address new modeling needs Annotation Types  Force correct usage of model extensions  Define annotation properties … class <annotation-property-type name=“OID”> [0-9]+(\.[0-9]+)* …... 1.3.6.1.4.1.999...

15 Thank you! For more information please read: NETCONF Data Modeling Language Requirements http://tools.ietf.org/html/draft-linowski-netconf-dml-requirements-01 Kalua - A Data Modeling Language for NETCONF http://www.ietf.org/internet-drafts/draft-ersue-netconf-kalua-dml-01.txt

16 Back-UP Slides

17 Kalua Example: Partial Lock RPC <kalua:module name="NCPL" xmlns:kalua="urn:ietf:params:xml:ns:kalua:1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:kalua:1:\Users\kalua\kalua.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> NETCONF partial lock NETCONF partial lock operations urn:ietf:params:xml:ns:netconf:partial-lock:1.0 ncpl 1 IETF urn:ietf:params:xml:ns:netconf:base:1.0 nc kalua:unsignedInt This operation defines the element for partial-lock RPC operation.

18 Kalua Example: Partial Lock RPC (II) nc:config_name kalua:string lock_id_attribute This operation defines the element for partial-unlock RPC operation. lock_id_attribute

19 DHCP Example <kalua:module name="DHCP" xmlns:kalua="urn:ietf:params:xml:ns:kalua:1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:kalua:1 C:\Users\kalua\kalua.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> DHCP DHCP example, as in http://tools.ietf.org/html/draft-presuhn-rcdml-03#appendix- C http://example.org/ns/dhcp dhcp 1 Nokia Siemens Networks urn:ietf:params:xml:ns:netmod:base ndl http://example.com/ns/int int interfaces default-lease-time kalua:int max-lease-time kalua:int

20 DHCP Example (II) dhcp parent subnet children dynamic-bootp kalua:boolean true ndl:ipAddress ndl:ipAddress

21 DHCP Example (III) ndl:ipAddress prefix-length kalua:int rangeType max-lease-time kalua:int

22 DHCP Example (IV) ip-address ndl:ipAddress kalua:dateTime kalua:dateTime mac-address ndl:nsapAddress ip_address kalua:string network prefix_length

23 DHCP Example (V) dynamic-bootp kalua:boolean true ndl:ipAddress ndl:ipAddress dhcp dhcp_options

24 DHCP Example (VI) dhcp-options router-list ndl:ipAddress domain-list ndl:ipAddress kalua:int ip-address ndl:ipAddress kalua:string

25 DHCP Example (VII) $source/interface_filter/interface = $target/ifName subnet filtering_subnet unbounded int:interface filtered_interface unbounded

26 DHCP Example (VIII) kalua:string name shared_network parent subnet children


Download ppt "Kalua – A DML for NETCONF"

Similar presentations


Ads by Google