Hi, On Tue, 2019-04-09 at 14:09 +0800, Sean Tong wrote: > For example, recvmsg returns a packet size 50 of and gso_size of > 24, so the UDP packets is restored without knowing whether it is > 24+24+2 split into 3 packets or 24+26 split into 2 pakcets. > Is there any way to get the last UDP packet size or number of merged > UDP packets?
In the described scenario, the ingress packets lengths are: 24, 24, 2. The sequence 24, 26 is not possible. Generally speaking, if the aggregated packet length is not a multiple of gro_size, the length of the last UDP packet aggregated in the GRO one is: <GRO packet size> % gso_size. (2, in the above example). If you observe something differnt, it's a bug and must be fixed - please provide detailed setup information, thanks! Paolo