[j-nsp] any way to do group inheritence only if parent exists?

Saku Ytti saku at ytti.fi
Thu May 21 00:56:10 EDT 2020


Hey Chuck

> set groups ND6 interfaces irb unit <*> family inet6 nd6-stale-time 600
> set interfaces apply-groups ND6
>
> then all irb interfaces get a "family inet6" with link-local
> addressing created and the nd6-state-time setting applied.  How do I
> inherit the nd6-stale-time setting only if there is already a
> configured "family inet6" so I don't get IPv6 link-locals on IRBs
> where I only want IPv4?

As far as I know, you can't. I'm sure if you push this at JNPR they
are able to support it via 'family <inet6>'. However as it is today,
<inet6> only works for user input, not for parameters or keywords,
which I suspect is not actually that huge change in parser.
So if this would in in parser:

set family ?
<family>   Interface protocol family

Then you could do 'family <inet6>' and it would only apply when that
family exists. However, now as it's not user-input, it doesn't work
and I don't think there is a way.


Having said that, configuration groups in junos are really great tool,
while usually people use them to avoid repating themselves, I think
perhaps even better use-case is to use them as namespaces, for
example, put all your standard static config in 'template' namespace.
So you you can programmatically do this:

edit groups template
delete
load merge relative https://nms/junos.template
commit and-quit

Leaving all device-specific config intact, while normalising all generic config.


And further, don't use configuration groups, at all :) Do it all on
NMS side, so that you are less reliant on vendor tools and
limitations. Then you have as much flexibility on them as you wish and
it works for all your vendors.

-- 
  ++ytti


More information about the juniper-nsp mailing list