Hi Vladimir,

I noticed that the fib/rib APIs (both IPv4 and IPv6) require the next hops to be represented as integer indexes. Reading the code, I noticed that they are stored as uint64_t with the MSB used for internal purposes.

This require either having a contiguous array of nexthop objects and choose an index in that array, or store pointer offsets as nexthop indexes and do pointer arithmetics to reconstruct the real pointers. Both are not very practical and/or hacky.

Would it be possible to store arbitrary pointers? That would mean moving that 64th bit information elsewhere.

I'd love to hear what you think on the matter.

Cheers,
Robin

Reply via email to