Page MenuHomeFreeBSD

Implement optional table entry limits of if_llatbl.
AcceptedPublic

Authored by bz on Dec 6 2019, 10:14 PM.

Details

Summary

Implement counting of table entries linked on a per-table base.
Add an optional (if set > 0) limit of the maximum number of table
entries.

For that the public lltable_link_entry() and lltable_unlink_entry()
functions as well as the internal function pointers change from void
to having an int return type.

For as long as we do not set llt_maxentries this is can be committed
on its own. The moment we make use of the table limits, the callers
of the link function must check the return value as it can change.

Adjustments for IPv6 (and possibly IPv4) will follow in a separate
review.

Sponsored by: Netflix (originally)

This is extracted from D22447 and adjusted based on review comments.

Diff Detail

Repository
rS FreeBSD src repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 28017
Build 26174: arc lint + arc unit

Event Timeline

bz created this revision.Dec 6 2019, 10:14 PM
melifaro accepted this revision.Dec 7 2019, 8:00 PM
melifaro added inline comments.
sys/net/if_llatbl.h
165

Just for the sake of history: this change makes llt_lookup() the last pointer in the cache line (given 64B size). Eventually we will need to reshuffle fields here a bit.

This revision is now accepted and ready to land.Dec 7 2019, 8:00 PM