[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Transactions and operations



Larry,

 

Your latest example (included below) seems different than your first proposal. 

 

        <addRequest opId="3" select="/root/configuration/protocol/ospf">
            <area id="4">

            ...

            </area>

        </addRequest>

is different from:

 

      <area id="4" op="addRequest">

      ...

      </area>

 

I thought something along the lines of the latter was what you were proposing.  Sorry if I misunderstood.

 

Just to make sure I understand this message, your example would:

            Delete OSPF area 0

            Delete OSPF area 3

            Add a new OSPF area 4 with one interface (ge-2/2) in it

            Modify interface ge-1/5 in OSPF area 2 to have a dead interval of 40

            Add a new IS-IS area 5

            Add an LSP named "to-SFO" to OSPF area 1 with a metric of 15

            Change the metric of the LSP named "to-SFO" in OSPF area 6 to 20

 

All as a single atomic transaction.

 

Your use of X-Path is intriguing.  I think the conventional wisdom has been that X-Path would be too complicated to implement on an embedded system.  It is cleaner, though, than the approach this group has been pursuing, which would be to include the parent elements in the XML payload.  Have you been able to implement X-Path on a small embedded system?

 

Are there semantics associated with the opID attributes in your example?  Since it seems to be an atomic transaction I assume they do not imply order of execution.  Why are they needed?  Same with the transaction IDs.

 

Keith Allen

SBC Technology Resources

9505 Arboretum Blvd.

Austin, TX 78759

(512) 372-5741

kallen@tri.sbc.com

 

 

-----Original Message-----
From: Larry Menten [mailto:lmenten@lucent.com]
Sent: Tuesday, May 13, 2003 3:08 PM
To: netconf
Subject: Re: Is DOM vs SAX a red herring?

 

Keith,

To represent the transaction in multiple parts the target has to be identified.
We have used XPath expressions for this purpose as in the following example:

<transaction id="29">
        <deleteRequest opId="2" select="/root/configuration/protocol/ospf/area[@id='0']" />
        <deleteRequest opId="1" select="/root/configuration/protocol/ospf/area[@id='3']" />
        <addRequest opId="3" select="/root/configuration/protocol/ospf">
            <area id="4">
                <interface id="ge-2/2">
                    <authentication-key>
                        <keyname>gargoyle</keyname>
                        <key-id>3</key-id>
                    </authentication-key>
                    <metric>1</metric>
                    <hello-interval>10</hello-interval>
                    <dead-interval>40</dead-interval>
                    <retransmit-interval>10</retransmit-interval>
                    <transit-delay>5</transit-delay>
                </interface>
            </area>
        </addRequest>
        <addRequest opId="4" select="/root/configuration/protocol/ospf/area[@id='2']/interface[@id='ge-1/5']">
            <dead-interval>40</dead-interval>
        </addRequest>
        <addRequest opId="5" select="/root/configuration/protocol/is-is">
            <area id="5"></area>
        </addRequest>
        <addRequest opId="6" select="/root/configuration/protocol/ospf/area[@id='1']">
            <label-switched-path id="to-SFO">
                <metric>15</metric>
            </label-switched-path>
        </addRequest>
        <replaceRequest opId="7" select="/root/configuration/protocol/ospf/area[@id='6']/label-switched-path[@id='to-SFO']">
            <metric>20</metric>
        </replaceRequest>
    </transaction>