ng_mppc_decompress: too many (4094) packets dropped, disabling node

Gleb Smirnoff glebius at FreeBSD.org
Thu Jan 5 13:49:04 UTC 2012


On Thu, Jan 05, 2012 at 03:43:45PM +0200, Sami Halabi wrote:
S> Hmm..
S> 
S> Somthing strange, i did:
S> net.graph.recvspace=8388608
S> net.graph.maxdgram=8388608
S> 
S> 
S> and i suddenly got disconnections and logs like:
S> Jan  5 16:10:01 mpd2 mpd: L2TP: ppp_l2tp_ctrl_create: No buffer space
S> available
S> Jan  5 16:10:11 mpd2 mpd: PPTP: NgMkSockNode: No buffer space available
S> 
S> the mpd as follows:
S> 
S> Jan  5 16:10:01 mpd2 mpd: Incoming L2TP packet from 172.25.229.3 1701
S> Jan  5 16:10:01 mpd2 mpd: L2TP: ppp_l2tp_ctrl_create: No buffer space
S> available
S> Jan  5 16:10:01 mpd2 mpd: Incoming L2TP packet from 172.27.173.112 1701
S> Jan  5 16:10:01 mpd2 mpd: L2TP: ppp_l2tp_ctrl_create: No buffer space
S> available
S> Jan  5 16:10:03 mpd2 mpd: Incoming L2TP packet from 172.19.246.206 1701
S> Jan  5 16:10:03 mpd2 mpd: L2TP: ppp_l2tp_ctrl_create: No buffer space
S> available
S> Jan  5 16:10:06 mpd2 mpd: Incoming L2TP packet from 172.27.173.112 1701
S> Jan  5 16:10:06 mpd2 mpd: L2TP: ppp_l2tp_ctrl_create: No buffer space
S> available
S> Jan  5 16:10:11 mpd2 mpd: [L-14] Accepting PPTP connection
S> Jan  5 16:10:11 mpd2 mpd: [L-14] Link: OPEN event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: Open event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: state change Initial --> Starting
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: LayerStart
S> Jan  5 16:10:11 mpd2 mpd: [L-14] PPTP: attaching to peer's outgoing call
S> Jan  5 16:10:11 mpd2 mpd: PPTP: NgMkSockNode: No buffer space available
S> Jan  5 16:10:11 mpd2 mpd: [L-14] PPTP call cancelled in state CONNECTING
S> Jan  5 16:10:11 mpd2 mpd: [L-14] Link: DOWN event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: Close event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: state change Starting --> Initial
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: LayerFinish
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: Down event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] Link: SHUTDOWN event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] Link: Shutdown
S> Jan  5 16:10:11 mpd2 mpd: [L-14] Accepting PPTP connection
S> Jan  5 16:10:11 mpd2 mpd: [L-14] Link: OPEN event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: Open event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: state change Initial --> Starting
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: LayerStart
S> Jan  5 16:10:11 mpd2 mpd: [L-14] PPTP: attaching to peer's outgoing call
S> Jan  5 16:10:11 mpd2 mpd: PPTP: NgMkSockNode: No buffer space available
S> Jan  5 16:10:11 mpd2 mpd: [L-14] PPTP call cancelled in state CONNECTING
S> Jan  5 16:10:11 mpd2 mpd: [L-14] Link: DOWN event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: Close event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: state change Starting --> Initial
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: LayerFinish
S> Jan  5 16:10:11 mpd2 mpd: [L-14] LCP: Down event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] Link: SHUTDOWN event
S> Jan  5 16:10:11 mpd2 mpd: [L-14] Link: Shutdown
S> Jan  5 16:10:16 mpd2 mpd: Incoming L2TP packet from 172.27.173.112 1701
S> Jan  5 16:10:16 mpd2 mpd: L2TP: ppp_l2tp_ctrl_create: No buffer space
S> available
S> Jan  5 16:10:21 mpd2 mpd: Incoming L2TP packet from 172.25.229.3 1701
S> Jan  5 16:10:21 mpd2 mpd: L2TP: ppp_l2tp_ctrl_create: No buffer space
S> available
S> Jan  5 16:10:23 mpd2 mpd: Incoming L2TP packet from 172.19.246.206 1701
S> Jan  5 16:10:23 mpd2 mpd: L2TP: ppp_l2tp_ctrl_create: No buffer space
S> available
S> 
S> 
S> Now i just returned to my original sysctl:
S> net.graph.recvspace=40960
S> net.graph.maxdgram=40960
S> 
S> and everything seems fine
S> 
S> any ideas?

mpd has many open sockets, and each socket allocates that much recvspace
and sendspace. Since there are a lot of them, it hits per-user resource
limits, I suppose.

We need to:

1) Change mpd to use one control socket with many hooks.
   This also requires improving ng_socket, to have a fast hook lookup
   method.

2) Implement SO_SNDBUF/SO_RCVBUF for AF_NETGRAPH socket, and utilize
   it in ngctl, so there would be no need to bump global tunables.

Eventually I may do this, but I need brave testers, since my mpd
installation is very small.

-- 
Totus tuus, Glebius.


More information about the freebsd-net mailing list