[erlang-questions] ct_netconfc.erl: is this the expected behavior or is it a bug?
Alexander Poulikakos
alexander.poulikakos@REDACTED
Wed Mar 12 09:38:44 CET 2014
Hi
Yes, this works for me (it also works without the 'xs' prefix), thanks for that :)
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<rpc message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<edit-config>
<target>
<running/>
</target>
<config>
<ElementA xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
<elementAId>1</elementAId>
<elementB>
<elementB>1</elementB>
< xc:operation="delete">
<elementCId>6</elementCId>
</elementC>
</elementB>
</ElementA>
</config>
</edit-config>
</rpc>
But what is the difference between putting the namespace attribute on ElementA, instead of config? Which is the correct NETCONF way? Or maybe it does not matter?
<ElementA xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
Seems to work to add the namespace attribute on the "elementC" as well (at least for my SUT).
Is the example in RFC6241 [ http://tools.ietf.org/html/rfc6241 June 2011 page 41], where they use the "config" element, wrong? See below:
<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<edit-config>
<target>
<running/>
</target>
<default-operation>none</default-operation>
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
<top xmlns="http://example.com/schema/1.2/config">
<interface xc:operation="delete">
<name>Ethernet0/0</name>
</interface>
</top>
</config>
</edit-config>
</rpc>
///Alex
-----Original Message-----
From: Martin Bjorklund [mailto:mbj@REDACTED]
Sent: den 11 mars 2014 14:50
To: erlangsiri@REDACTED
Cc: Alexander Poulikakos; erlang-questions@REDACTED
Subject: Re: [erlang-questions] ct_netconfc.erl: is this the expected behavior or is it a bug?
Hi,
Siri Hansen <erlangsiri@REDACTED> wrote:
> Would this also work ?
>
> <?xml version=\"1.0\" encoding=\"UTF-8\"?> <rpc message-id=\"1\"
> xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">
> <edit-config>
> <target>
> <running/>
> </target>
> <config>
> <ElementA>
> <elementAId>1</elementAId>
> <elementB>
> <elementB>1</elementB>
> <elementC operation=\"delete\">
> <elementCId>6</elementCId>
> </elementC>
> </elementB>
> </ElementA>
> </config>
> </edit-config>
> </rpc>
>
>
> i.e. without the 'xc' prefix (the netconf base namespace is the
> default anyway).
This is actually not how default namespaces work. The default namespace does not apply to XML attributes.
> It's probably up to your netconf server if it can handle that or not.
Some NETCONF servers are lax and will accept an unqualified "operation" attribute.
> Ideally it should be something like:
>
> <?xml version=\"1.0\" encoding=\"UTF-8\"?> <rpc message-id=\"1\"
> xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">
> <edit-config>
> <target>
> <running/>
> </target>
> <config>
> <ElementA xmlns=\"mynamespace\"
> xmlns:xc=\"urn:ietf:params:xml:ns:netconf:base:1.0\">
> <elementAId>1</elementAId>
> <elementB>
> <elementB>1</elementB>
> <elementC xc:operation=\"delete\">
> <elementCId>6</elementCId>
> </elementC>
> </elementB>
> </ElementA>
> </config>
> </edit-config>
> </rpc>
>
> where "mynamespace" defines your own config data.
This is the only example so far that is correct. It is important that the "ElementA" has a namespace declaration; otherwise it refers to "ElementA" in the namespace "urn:ietf:params:xml:ns:netconf:base:1.0",
which clearly is wrong.
/martin
More information about the erlang-questions
mailing list