HomeFreeBSD

gve: Add feature to change TX/RX ring size

Description

gve: Add feature to change TX/RX ring size

This change introduces new sysctl handlers that allow the user to change
RX/TX ring sizes. As before, the default ring sizes will come from the
device (usually 1024). We also get the max/min limits from the device.
In the case min values are not provided we have statically defined
constants for the min values. Additionally, if the modify ring option is
not enabled on the device, changing ring sizes via sysctl will not be
possible. When changing ring sizes, the interface turns down
momentarily while allocating/freeing resources as necessary.

Signed-off-by: Vee Agarwal <veethebee@google.com>

Reviewed by: markj
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D49428

(cherry picked from commit 22fe926a62b7bca771d46502dd6a8c202f25b5be)

Details

Provenance
veethebee_google.comAuthored on Fri, Apr 4, 10:53 PM
markjCommitted on Fri, Apr 18, 1:52 PM
Reviewer
markj
Differential Revision
D49428: gve: Add feature to change TX/RX ring size
Parents
rGecc250c60049: gve: Add feature to adjust RX/TX queue counts
Branches
Unknown
Tags
Unknown