Hello Vadim.

My initial idea was that the absence of attributes (in the command
definition and thus in the VTY reference) implicitly indicates that a
given VTY command in the 'config' node comes into effect immediately...

I also think that this makes sense, because as far as I can see this predefinition would also affect interactive VTY commands. Those always have an immediate effect. Also we prefer if commands apply immediately when the implementation permits it.


   struct cmd_node foo_node = {
     .node = FOO_NODE,
     .prompt = "%s(config-net)# ",
     .vtysh = 1,
     .usrattr = (1 << FOO_VTY_ATTR_RESTART_FULL),  // (!)
   };

This way a DEFUN() command definition would inherit foo_node.usrattr,
and a DEFUN_USRATTR() command definition would override it.

Makes sense I think, however, this will be more important in the future. Right now we need to look at each VTY command individually and check what changes it causes and when. I have now done the common part of osmo-bts, but for the moment I am using comments until the API is stable again.

ACK.  We can also agree that generic (pre-defined) attributes use upper
case letters, while the application specific ones use lower case?

Probably makes sense, there will also be never collisions should we add more predefined attributes later.

What do you think about these ideas?  If you agree, and nobody has any
objections, I can quickly implement them in libosmocore.  Would be also
nice to know what other developers think. Neels, Harald, Pau, Daniel?

I do not have any counter-arguments. I think your ideas make sense.

I still question myself if CMD_ATTR_APPLY_FULL_RESTART should be used on every CONFIGURE TERMINAL command. A full restart will always cause the changes to be applied, or is the policy only to set the attribute of the minimal condition that causes the change to apply?.

Best regards,
Philipp
--
Philipp Maier <[email protected]>              http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Director: Harald Welte

Reply via email to