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. _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"