> On Jul 14, 2016, at 8:08 AM, Nikolay Aleksandrov 
> <niko...@cumulusnetworks.com> wrote:
> 
> In preparation for hardware offloading of ipmr/ip6mr we need an
> interface that allows to check (and later update) the age of entries.
> Relying on stats alone can show activity but not actual age of the entry,
> furthermore when there're tens of thousands of entries a lot of the
> hardware implementations only support "hit" bits which are cleared on
> read to denote that the entry was active and shouldn't be aged out,
> these can then be naturally translated into age timestamp and will be
> compatible with the software forwarding age. Using a lastuse entry doesn't
> affect performance because the entries in that cache line are written to
> along with the age. Once an entry goes above the member size (32 bits) we
> keep it at UINT_MAX as we cannot afford to wrap it which will falsely show
> that it was used recently. This is not supposed to happen as entries should
> be aged out in matter of minutes or seconds.
> Since all new users are encouraged to use ipmr via netlink, this is
> exported via the RTA_CACHEINFO attribute which has rta_lastuse entry.
> 
> Signed-off-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com>
> CC: Roopa Prabhu <ro...@cumulusnetworks.com>
> CC: Shrijeet Mukherjee <s...@cumulusnetworks.com>
> CC: Satish Ashok <sas...@cumulusnetworks.com>
> CC: Donald Sharp <sha...@cumulusnetworks.com>
> CC: David S. Miller <da...@davemloft.net>
> CC: Alexey Kuznetsov <kuz...@ms2.inr.ac.ru>
> CC: James Morris <jmor...@namei.org>
> CC: Hideaki YOSHIFUJI <yoshf...@linux-ipv6.org>
> CC: Patrick McHardy <ka...@trash.net>
> —

Self-NAK, I’ll send a revised v2 version using a single u32 attribute 
(RTA_EXPIRES), no need to waste the space
right now. We’ll add more as we need them.

Sorry for the noise.

Cheers,
 Nik


Reply via email to