On Sat, Feb 13, 2021 at 12:16:45PM -0700, David Ahern wrote:
> On 2/8/21 1:42 PM, Petr Machata wrote:
> > @@ -52,8 +53,50 @@ enum {
> > NHA_FDB, /* flag; nexthop belongs to a bridge fdb */
> > /* if NHA_FDB is added, OIF, BLACKHOLE, ENCAP cannot be set */
> >
> > + /* nested; resilient nexthop group attributes */
> > + NHA_RES_GROUP,
> > + /* nested; nexthop bucket attributes */
> > + NHA_RES_BUCKET,
> > +
> > __NHA_MAX,
> > };
> >
> > #define NHA_MAX (__NHA_MAX - 1)
> > +
> > +enum {
> > + NHA_RES_GROUP_UNSPEC,
> > + /* Pad attribute for 64-bit alignment. */
> > + NHA_RES_GROUP_PAD = NHA_RES_GROUP_UNSPEC,
> > +
> > + /* u32; number of nexthop buckets in a resilient nexthop group */
> > + NHA_RES_GROUP_BUCKETS,
>
> u32 is overkill; arguably u16 (64k) should be more than enough buckets
> for any real use case.
We wanted to make it future-proof, but I think we can live with 64k. At
least in Spectrum the maximum is 4k. I don't know about other devices,
but I guess it is not more than 64k.