net: add gso_ipv4_max_size and gro_ipv4_max_size per device
authorXin Long <lucien.xin@gmail.com>
Sat, 28 Jan 2023 15:58:38 +0000 (10:58 -0500)
committerJakub Kicinski <kuba@kernel.org>
Thu, 2 Feb 2023 04:54:27 +0000 (20:54 -0800)
commit9eefedd58ae1daece2ba907849a44db2941fb4b0
tree37da21e8fecc0125f9b2282af03cdb4c72ec9732
parent8e08bb75b60f7f9ed319185cef80188b87d9b43a
net: add gso_ipv4_max_size and gro_ipv4_max_size per device

This patch introduces gso_ipv4_max_size and gro_ipv4_max_size
per device and adds netlink attributes for them, so that IPV4
BIG TCP can be guarded by a separate tunable in the next patch.

To not break the old application using "gso/gro_max_size" for
IPv4 GSO packets, this patch updates "gso/gro_ipv4_max_size"
in netif_set_gso/gro_max_size() if the new size isn't greater
than GSO_LEGACY_MAX_SIZE, so that nothing will change even if
userspace doesn't realize the new netlink attributes.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/linux/netdevice.h
include/uapi/linux/if_link.h
net/core/dev.c
net/core/dev.h
net/core/rtnetlink.c