On Tue, Apr 11, 2017 at 09:39:58AM -0700, R Parameswaran wrote: > Hi Guillaume, > > On Tue, Apr 11, 2017 at 3:40 AM, Guillaume Nault <g.na...@alphalink.fr> wrote: > > On Wed, Apr 05, 2017 at 05:00:07PM -0700, R. Parameswaran wrote: > >> > >> Change-set here uses the new kernel function, kernel_sock_ip_overhead(), > >> to factor the outer IP overhead on the L2TP tunnel socket (including > >> IP Options, if any) when calculating the default MTU for an Ethernet > >> pseudowire, along with consideration of the inner Ethernet header. > >> > > I get the following warning with CONFIG_LOCKDEP when creating a new > > session: > > # ip l2tp add tunnel local 10.1.8.64 remote 10.1.8.32 udp_sport 1701 > > udp_dport 1701 tunnel_id 1 peer_tunnel_id 1 > > # ip l2tp add session tunnel_id 1 session_id 1 peer_session_id 1 > > ... > > Thanks for reporting this - I'll try and put up a patch soon, > hopefully the patch can stay in while I add this. One Q - how many CPU > cores do you have? This is a virtual machine with 4 vcores, but that shouldn't matter.
> Can you give me some idea of how many tunnels and > sessions when you saw this? > Creating one session is enough. I simply used the following command: # ip l2tp add tunnel local 10.1.8.64 remote 10.1.8.32 udp_sport 1701 udp_dport 1701 tunnel_id 1 peer_tunnel_id 1 # ip l2tp add session tunnel_id 1 session_id 1 peer_session_id 1 > I did not see this warning in my testing, possibly because > CONFIG_LOCKDEP_SUPPORT is turned off on the product build? Will > re-test with this turned on. > Yes, enabling lockdep should let you reproduce the problem. The issue goes away if the tunnel's socket is locked while calling kernel_sock_ip_overhead(): + lock_sock(tunnel->sock); kernel_sock_ip_overhead(tunnel->sock); + release_sock(tunnel->sock);