On Thu, Jan 23, 2020 at 04:55:32PM +0100, Jakub Sitnicki wrote: > Commit 736b46027eb4 ("net: Add ID (if needed) to sock_reuseport and expose > reuseport_lock") has introduced lazy generation of reuseport group IDs that > survive group resize. > > By comparing the identifier we check if BPF reuseport program is not trying > to select a socket from a BPF map that belongs to a different reuseport > group than the one the packet is for. > > Because SOCKARRAY used to be the only BPF map type that can be used with > reuseport BPF, it was possible to delay the generation of reuseport group > ID until a socket from the group was inserted into BPF map for the first > time. > > Now that SOCKMAP can be used with reuseport BPF we have two options, either > generate the reuseport ID on map update, like SOCKARRAY does, or allocate > an ID from the start when reuseport group gets created. > > This patch goes the latter approach to keep SOCKMAP free of calls into > reuseport code. This streamlines the reuseport_id access as its lifetime > now matches the longevity of reuseport object. Acked-by: Martin KaFai Lau <kafai@xxxxxx>