Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.