Hi Simon,

On Tue, 19 Jun 2007, Simon Leinen wrote:

<p> The router vendors mentioned (Cisco and Juniper) have different models to manipulate configurations. With Cisco, most commands in configuration mode instantly modify the "running configuration". To become stable across a reboot, you must explicitly write the running configuration to NVRAM.

That's the Quagga model too, at present.

With Juniper, configuration changes are first made to a scratch area, and then atomically committed with an explicit "commit" command. I believe that committing also makeks the new configuration stable. I think both vendors have added additional version management features over time, so that you can revert to earlier configurations, compare two versions, etc. </p>

That sounds good too.

I don't have a preference myself, but I know we lack any easy way to do the latter.

<p> Some vendors have an internal schema for their configuration, and from that schema they automatically generate both the "CLI" configuration parser/unparser and the XML-based NETCONF agent. I think this is useful because (1) it reduces the parsing errors that plague other vendors where the CLI parser is mostly hard-coded, and (2) it ensures that CLI configuration language and NETCONF schema are feature-compatible. </p>

Reducing error (several classes of) is a major motivation for cleaning this up.

<p> (Note that folks from INRIA have <a href="http://www.google.com/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fhal.inria.fr%2Finria-00000803%2Fen%2F&ei=dkp4Rq-ZI4KgnQOM8dStDg&usg=AFQjCNFCJ0QVdnCnvbbzz1pF5Na95boOQQ&sig2=jLTgC6X18bDC7e6gtn3AmQ";>implemented a NETCONF agent for Quagga's BGP router.</a> This implementation is probably not helpful for your work, since it just wraps the CLI.) </p>

No, it's very interesting. I've actually been trying to dig up non-proprietary router-config schema to look at, this will be very useful.

<p> If you decide to go down the NETCONF route, consider joining the mailing list and share your implementation experiences. You will also find quite a few helpful fellow implementors there to answer your questions. <br />

I doubt time allows for a complete NETCONF implementation, however whatever is done will bear NETCONF in mind so far as possible. (A goal here is to make it easier to implement user-interaction tools/agents, like possibly NETCONF, /outside/ of system-critical daemons).

I'm mulling over the direction to go with design at the moment, will let you know when I know more ;).

regards,
--
Paul Jakma,
Solaris Networking                       Sun Microsystems, Scotland
http://opensolaris.org/os/project/quagga tel: EMEA x73150 / +44 15066 73150
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to