From: Alexander Lobakin <aloba...@pm.me> Date: Fri, 19 Mar 2021 11:13:25 +0000
> From: Paolo Abeni <pab...@redhat.com> > Date: Fri, 19 Mar 2021 11:53:42 +0100 > > > Hello, > > Hi! > > > On Thu, 2021-03-18 at 18:42 +0000, Alexander Lobakin wrote: > > > call_gro_receive() is used to limit GRO recursion, but it works only > > > with callback pointers. > > > There's a combined version of call_gro_receive() + INDIRECT_CALL_2() > > > in <net/inet_common.h>, but it doesn't check for IPv6 modularity. > > > > AFAICS, ip6_offload is builtin even when IPv6 is a module, so the above > > should not be needed. > > Aww, you are right. I overlooked that since dev_gro_receive() still > use INDIRECT_CALL_INET(), though all GRO callbacks were made > built-in. I'm not sure if you did it on purpose in commit aaa5d90b395a7 ("net: use indirect call wrappers at GRO network layer"). Was that intentional for the sake of more optimized path for the kernels with moduled IPv6, or I can replace INDIRECT_CALL_INET() with INDIRECT_CALL_2() here too? I want to keep GRO callbacks that make use of indirect call wrappers unified. > Seems like more code can be optimized, thanks! > > > Cheers, > > > > Paolo > > Al Thanks, Al