Hi David,

Thanks for your review and suggestion. I understand that using a
choice/case structure would allow better extensibility if someone wants to
introduce mode-specific parameters. I am wondering if there are any
specific examples where such per-mode extensions might be needed?

Regards,
Fan

On Fri, Nov 7, 2025 at 11:22 AM David 'equinox' Lamparter <
[email protected]> wrote:

> Hi all,
>
>
> I've superficially looked through intarea-arp-yang-model-00 and one thing
> stood out to me:
>
> +--rw proxy-arp
> .  +--rw mode?   enumeration
>
> The proxy-arp mode being an enum makes it really hard/annoying if some
> platform has additional parameters that are applicable only to some of the
> modes, since you can't add additional leaves under an enum.  I would
> suggest to instead make it a choice of containers instead, i.e.
>
> container proxy-arp {
>   choice mode {
>     default disabled;
>     case disabled {
>       leaf disabled { type empty; }
>     }
>     case remote-only {
>       leaf remote-only { type empty; }
>       /* room to augment things here */
>     }
>     case all {
>       leaf all { type empty; }
>       /* room to augment things here */
>     }
>   }
> }
>
> (I'm not sure this is 100% correct YANG, please take it only as an
> illustration of what I mean.)  The point is that with this representation,
> extra leaves can be added on the cases.  (AIUI it's also easier to add
> extra cases if needed.)
>
> Cheers,
>
>
> -equi
>
>
_______________________________________________
Int-area mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to