system-linux: add support for configurable GRO option
authorChristian Marangi <ansuelsmth@gmail.com>
Wed, 25 Oct 2023 01:27:58 +0000 (03:27 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Thu, 9 Nov 2023 13:50:20 +0000 (14:50 +0100)
commit838f815db5ef989ca89e427bc7af66e2a0b2fe10
tree929605ee04ad3feba9156cb2b3b68157880315fa
parent5c2e5d5ea4e0dd9a0ed66154d818b96bf81664f4
system-linux: add support for configurable GRO option

Add support for configurable GRO option. Some device doesn't have HW
Checksum support and may suffer from performance regression by using
GRO. Disabling GRO restore the original performance and make the device
usable again.

The option can be configured by adding the config for the device in the
network config. Example:

config device
option name 'eth0'
option gro '0'

The option can also be configured by adding the config to the
board.json.

Notice that a new "kind" of settings are introduced
"system_if_apply_settings_after_up". Option set in this function will be
executed AFTER the interface is UP. This is needed as some option
(example GRO) needs to be applied after the interface is UP and applying
them before results in error in ioctl.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
config.c
config.h
device.c
device.h
system-linux.c
system.h