XMLCONF - PowerPoint PPT Presentation

About This Presentation
Title:

XMLCONF

Description:

Current is draft-enns-xmlconf-spec-01. Agenda. Very brief introduction to XMLCONF ... Ted Goddard ted.goddard_at_windriver.com Phil Shafer phil_at_juniper.net ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 23
Provided by: robe55
Category:
Tags: xmlconf | ted | wasserman

less

Transcript and Presenter's Notes

Title: XMLCONF


1
XMLCONF
  • IETF 57 Vienna
  • Rob Enns (rpe_at_juniper.net)

2
XMLCONF Draft
  • Current is draft-enns-xmlconf-spec-01
  • Agenda
  • Very brief introduction to XMLCONF
  • Draft-01 changes

3
XMLCONF Authors(in no particular order)
  • Andy Bierman ltabierman_at_cisco.comgt
  • Eliot Lear ltlear_at_cisco.comgt
  • David Perkins ltdperkins_at_dsperkins.comgt
  • Ted Goddard ltted.goddard_at_windriver.comgt
  • Phil Shafer ltphil_at_juniper.netgt
  • Rob Enns ltrpe_at_juniper.netgt
  • Ken Crozier ltkcrozier_at_cisco.comgt
  • Steve Waldbusser ltwaldbusser_at_nextbeacon.comgt
  • Margaret Wasserman ltmrw_at_windriver.comgt

4
XMLCONF Strategy
  • Create a standard operational framework for
    configuration
  • Allow for monitoring and notifications, but focus
    on configuration
  • Separate the protocol from the data model
  • Allow for standard and proprietary content
  • Standardize the protocol first, and then start on
    content
  • Create a transport independent, RPC-based
    configuration mechanism
  • XMLCONF over BEEP, SOAP, console
  • Develop high level protocol operations common to
    most devices
  • Focus on transactions

5
XMLCONF Strategy
  • Allow implementation to mirror native
    capabilities of device
  • Text-based technology such as XML permits tight
    integration with CLI
  • No feature lag between XMLCONF and CLI

6
Session Management
  • Management channel
  • Session control creation of other channels
  • Abort command kills current command on the
    operations channel
  • Kill-session used to terminate the session of
    another user
  • Operations channel
  • Used for RPC requests and replies
  • Notification channel
  • Optional channel for asynchronous messages

7
RPC Model
  • ltrpcgt
  • Request on operations channel
  • ltrpc-replygt
  • Reply sent on operations channel
  • ltrpc-progressgt
  • Provides progress reports (percentage completion)
    for long duration RPC operations, sent on the
    management channel
  • ltrpc-abortgt
  • Provides a way to abort an RPC in progress, or
    queued for processing, sent on the management
    channel
  • ltrpc-abort-replygt
  • Abort RPC reply, sent on the management channel

8
RPC Model Error Reporting
  • ltrpc-errorgt
  • Included in ltrpc-replygt if an error occurs during
    processing of an RPC request
  • ltokgt
  • Included in ltrpc-replygt if no error occurred
    during processing of an RPC request

9
Operational Model
  • Configuration datastores

candidate
running
startup
  • Different variants of this model are possible

10
Protocol Operationsltget-configgt
  • Used to retrieve all or part of a configuration

ltrpc message-id"101"gt ltget-configgt
ltsourcegtltrunning/gtlt/sourcegt ltconfig
xmlns"http//example.com/schema/v2.1/config"gt
ltusers/gt lt/configgt
lt/get-configgt lt/rpcgt
11
Protocol Operationsltget-configgt
  • ltrpc-reply message-id"101gtltget-configgt
    ltconfig xmlns"http//example.com/schema/v2.1/conf
    ig"gt ltusersgt ltusergt
    ltnamegtrootlt/namegt lttypegtsuperuserlt/typegt
    lt/usergt ltusergt
    ltnamegtfredlt/namegt lttypegtadminlt/typegt
    lt/usergt lt/usersgt lt/configgtlt/get-configgt
  • lt/rpc-replygt

12
Protocol Operationsltedit-configgt
  • Used to modify a configuration
  • Parameters
  • target (_at_config-name)
  • test-option (test-then-set set) default
    set
  • error-option (stop-on-err ignore-err)
    default stop-on-err
  • format (xml text)
  • config (_at_URL _at_config-name _at_element-tree
    text)

13
Protocol Operationsltedit-configgt
  • ltrpc message-id"102"gt
  • ltedit-configgt
  • lttargetgtltrunning/gtlt/targetgt
  • ltconfig xmlns"http//example.com/schema/
    v1.2/config"gt
  • ltinterfacegt
  • ltnamegtEthernet0/0lt/namegt
  • ltaddressgt
  • ltipv4gt1.2.3.4lt/ipv4gt
  • ltipv4-maskgt255.0.0.0lt/ipv4-maskgt
  • lt/addressgt
  • lt/interfacegt
  • lt/configgt
  • lt/edit-configgt
  • lt/rpcgt

Reply is
ltrpc-reply message-id"102"gt
ltok/gt lt/rpc-replygt
14
Protocol Operations
  • ltcopy-configgt
  • Copy configuration to/from a configuration
    datastore
  • ltdelete-configgt
  • Delete a configuration datastore
  • ltget-stategt
  • Get operational state

15
Protocol Operations
  • ltlockgt, ltunlockgt
  • Locking for configuration datastores
  • Requires lock capability
  • ltvalidategt, ltcommitgt
  • Validate configuration without committing
  • Commit (activate) configuration
  • Requires candidate configuration capability

16
Notifications
  • An XMLCONF peer advertising the notifications
    capability supports the notification channel
  • Used for sending asynchronous messages
  • ltopen-notificationsgt operation requests opening
    notification channel with specific parameters
  • format rfc3195 is the only legal value (in v1.0)
  • ltclose-notificationsgt requests that the
    notification channel be closed

17
draft-01 changes
  • Section 3
  • Change id attribute to message-id
  • Make message-id mandatory
  • Add ltrpc-errorgt example

18
draft-01 changes
  • Section 5
  • ltedit-configgt Allow an "operation" attribute to
    inicate the desired operation (merge, replace, or
    delete)
  • This attribute makes the "write-option" parameter
    superfluous, so remove it
  • Add more ltedit-configgt examples

19
ltedit-configgt replacing config
  • ltrpc message-id"107" xmlns"http//ietf.org/xmlc
    onf/1.0/base"gt
  • ltedit-configgt
  • lttargetgt
  • ltrunning/gt
  • lt/targetgt
  • ltconfig xmlns"http//example.com/schema/
    1.2/config"
  • xmlnsxc"http//ietf.org/xml
    conf/1.0/base"gt
  • ltinterface xcoperation"replace"gt
  • ltnamegtEthernet0/0lt/namegt
  • ltmtugt1500lt/mtugt
  • ltaddressgt
  • ltnamegt1.2.3.4lt/namegt
  • ltmaskgt255.0.0.0lt/maskgt
  • lt/addressgt
  • lt/interfacegt
  • lt/configgt
  • lt/edit-configgt
  • lt/rpcgt

20
ltedit-configgt deleting config
  • ltrpc message-id"107" xmlns"http//ietf.org/xmlc
    onf/1.0/base"gt
  • ltedit-configgt
  • lttargetgt
  • ltrunning/gt
  • lt/targetgt
  • ltconfig xmlns"http//example.com/schema/1.
    2/config"
  • xmlnsxc"http//ietf.org/xmlco
    nf/1.0/base"gt
  • ltinterface xcoperation"delete"gt
  • ltnamegtEthernet0/0lt/namegt
  • lt/interfacegt
  • lt/configgt
  • lt/edit-configgt
  • lt/rpcgt

21
draft-01 changes
  • Section 6
  • Fix lock and unlock examples
  • Section 7
  • Drop canonical XML requirement
  • Add no embedded DTD requirement (was in
    canonical XML)

22
draft-01 changes
  • Section 9
  • Make message-id attribute mandatory in the XSD
  • General
  • Fixed a number of namespace issues in the
    examples
  • Use empty tags where appropriate now that
    canonical XML is gone
Write a Comment
User Comments (0)
About PowerShow.com