hi, I have a FreeBSD 8.2 server with some em & igb interfaces. (em driver version is 7.3.2 & igb driver version is 2.3.1) It doesn't have a full-load traffic on it (maximum 50-100Mbps per-interface on 1Gbps interface). but occasionally one of its interfaces stopped responding (mostly "em") and when I log in to server and ping the other side from it, i got "no buffer space available" error. and I have to do a "ifconfig em0 down; ifconfig em0 up" to solve the problem. related buffer sizes seem more than enough for existing low traffic on server: kern.ipc.nmbclusters=1000000 kern.ipc.maxsockbuf=4000000 net.inet.tcp.sendbuf_max=16777216 net.inet.tcp.recvbuf_max=16777216 net.inet.tcp.sendspace=1000000 net.inet.tcp.recvspace=1000000 net.inet.udp.recvspace=1000000
hw.igb.rxd=1024 hw.igb.txd=1024 hw.em.rxd=1024 hw.em.txd=1024 problem is, most of the time I'm not at the server when it happens and I can't update it's kernel for now (although I don't even know if it helps). So I wanted to write a simple shell that gets executed in background and everytime this problem happened on an interface, it automatically "down/up"s it to make it work. so my question is: 1- how can I discover if an interface's buffer is filled out, and "no buffer space available" situation is happened on that interface? 2- I know "down/up"ing interface is not an ideal work to do, but it's the only solution I can think of. any other suggestions? thank you. _______________________________________________ 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"