Subject: RE: how people implement <filter> in netconf over SOAP?

From: Zihong Lu <[email-masked]>
Date: Tue, 31 Jan 2006 21:49:59 -0800

Thanks for replying.  

Yes I am aware of that the filter selection model is vendor specific, as
described in the spec.  Just wonder how you as a "vendor" implement this.  

One way to do it would be to hard-code your specific selection model into
your SOAP skeleton code, for example, use type mapping in gSoap.  That will
avoid the XML parsing, but still, you are dealing with struct within struct
within struct, in C term.  The other way is what I have suspected, and
probably should be a new project like Ted Goddard suggested when I
communicated with him a while back, to have a toolkit that handles the
struct within struct within struct, to have a straight forward handling
function like

   getFilterData(target t)

The other problem that I have with the current netconf design is that it
doesn't allow vendors a chance to reinforce the schema, at the filter level
or at the config level, since there is no mechanism to show the data model
within the SOAP netconf wsdl, which leave a big hole in web services.  Not
sure how people deal with this problem.  Any suggesstion is highly
appreciated.

-Zihong

> -----Original Message-----
> From: Vincent Cridlig [mailto:[email-masked]]
> Sent: Monday, January 30, 2006 12:04 AM
> To: ??
> Cc: [email-masked]
> Subject: Re: how people implement <filter> in netconf over SOAP?
> 
> 
> Yes, it is the vendor's job.
> 
> "filter" is totally independant of the underlying application 
> protocol 
> (SOAP, SSH, BEEP...).
> "filter" node selection model is Netconf-specific and, to my 
> knowledge, 
> no libraries are freely available.
> 
> Vincent
> 
> 
> 王罕 wrote:
> 
> >I guess it should be the vedors' job.
> >
> >ÔÚÄúµÄÀ´ÐÅÖÐÔø¾Ìáµ½:
> >  
> >
> >>From: Zihong Lu <[email-masked]>
> >>Reply-To: 
> >>To: "[email-masked]'" <[email-masked]>
> >>Subject: how people implement <filter> in netconf over SOAP?
> >>Date:Fri, 27 Jan 2006 11:07:12 -0800
> >>
> >>
> >>
> >>
> >>    
> >>
> >>>I am looking into the implementation detail of netconf 
> over SOAP.  Wonder
> >>>how people implement <filter> in SOAP.  Can any one please 
> shed some
> >>>light?  
> >>>
> >>>
> >>>In general, SOAP is a service function based protocol.  It 
> should be
> >>>possible to be message-based, but it will not be as easy 
> to implement, and
> >>>the SOAP benefit will mostly be lost.  For example, the 
> <get-config> part,
> >>>we have a message looks like this:
> >>>
> >>><soapenc:Body>
> >>>  <rpc>
> >>>      <get-config>
> >>>           <fource/>
> >>>               <filter>
> >>>                   <users/>
> >>>               </filter>
> >>>      
> >>>
> >
> >
> >
> >--
> >to unsubscribe send a message to [email-masked] with
> >the word 'unsubscribe' in a single line as the message text body.
> >archive: <http://ops.ietf.org/lists/netconf/>
> >  
> >
> 
> 

--
to unsubscribe send a message to [email-masked] with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/netconf/>

---

From: Vincent Cridlig <[email-masked]>
Date: Wed, 01 Feb 2006 10:43:47 +0100

>described in the spec.  Just wonder how you as a "vendor" implement this.  
Here is how we implement it in YencaP:
The agent builds a super set of the config contained in the filter. This 
super set is the document that will be filtered.
This super set is a subset of the whole config (running, for example):
"filter config" smaller than "super set" smaller than "running"

How we build this super set is specific to our software. It uses a 
partial cache document and XPath to find the sub data models involved.

Then, a recursive algorithm is processing the filter, looking for 
content match nodes, selection nodes, ... at each XML level.
Each XML level matches a recursive level.

I know this is not optimal in terms of cpu consumption but it is easy to 
implement and it works (pretty fast).

Hope this helps,
Vincent