Re: [Netconf] capability exchange
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Netconf] capability exchange



Phil Shafer <phil at juniper.net> wrote:
> Martin Bjorklund writes:
> >There is nothing that prevents us from requiring the client to
> >advertise foo:1.1, if it is necessary.  So if foo:1.1 changes some
> >semantics of foo:1.0, then we can say that the client MUST advertise
> >foo:1.1, otherwise the agent will use the semantics of foo:1.0.
> 
> Brief history:  when capabilities were introduced, the idea was
> that both sides would always advertise all there capabilities and
> the overlapping set of capabilities would be what defines the
> capabilities of the session.  So if both sides support the a new
> revision of a capability, both sides can operate with an understanding
> that the other side will do The Right Thing WRT this capability.
> 
> Useful, simple, elegant.
> 
> But someone objected and this idea turned into a rat's nest, so
> during the Great Netconf Purge, this idea was discarded.
> 
> The post-Purge idea was that if you want the server to behave
> differently, then the new capability should introduce a new RPC or
> parameter to explicitly request this new behavior.
> 
> Personally, I'd be happy if 4741 reverts this to an "advertise all
> your capabilities" strategy, so capabilities can more easily evolve
> over time.

But I don't think 4741 needs to be changed in order to handle this.
As I wrote above, I think this can be handled on a capability basis -
i.e. if a particular capability's semantics is dependent on e.g. which
version of the capability the client implements, then that capability
can be defined to require that the client advertises it.  There is one
such capability already - the base capability.


/martin




Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.