Application specific VTY attributes

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Philipp Maier pmaier at sysmocom.de
Wed Sep 23 13:03:10 UTC 2020


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 <pmaier at sysmocom.de>              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



More information about the OpenBSC mailing list