Stefan Lambrev wrote:
It is the socket buffer that is filling up. Either the application is
not increasing it to large enough size or the default maximum is too
low (Linux may set a larger default). Try increasing
kern.ipc.maxsockbuf and confirming with the source and/or ktrace that
it is doing the right setsockopt() call.
Increasing kern.ipc.maxsockbuf doesn't help.
Actually this is the code that failed and print this error:
result = sendto(sockraw, packet, packetsize, 0,
(struct sockaddr*)&remote, sizeof(remote));
if (result == -1 && errno != EINTR && !opt_rand_dest &&
!opt_rand_source) {
perror("[send_ip] sendto");
Those are the only references for setsockopt when ktracing:
3385 hping CALL __sysctl(0xbfbfe870,0x6,0,0xbfbfe888,0,0)
3385 hping RET __sysctl 0
3385 hping CALL __sysctl(0xbfbfe870,0x6,0x28305180,0xbfbfe888,0,0)
3385 hping RET __sysctl 0
3385 hping CALL socket(PF_INET,SOCK_DGRAM,IPPROTO_IP)
3385 hping RET socket 3
3385 hping CALL setsockopt(0x3,SOL_SOCKET,SO_BROADCAST,0xbfbfe884,0x4)
3385 hping RET setsockopt 0
3385 hping CALL connect(0x3,0x8067da0,0x10)
3385 hping RET connect 0
3385 hping CALL getsockname(0x3,0xbfbfe874,0xbfbfe888)
3385 hping RET getsockname 0
3385 hping CALL close(0x3)
3385 hping RET close 0
3385 hping CALL socket(PF_INET,SOCK_RAW,IPPROTO_RAW)
3385 hping RET socket 3
3385 hping CALL setsockopt(0x3,SOL_SOCKET,SO_BROADCAST,0xbfbfe914,0x4)
3385 hping RET setsockopt 0
3385 hping CALL setsockopt(0x3,0,0x2,0xbfbfe914,0x4)
3385 hping RET setsockopt 0
3385 hping CALL open(0xbfbfe8a4,O_RDWR,<unused>0)
3385 hping NAMI "/dev/bpf0"
3385 hping RET open -1 errno 16 Device busy
3385 hping CALL open(0xbfbfe8a4,O_RDWR,<unused>0)
3385 hping NAMI "/dev/bpf1"
3385 hping RET open 4
OK, try adding the setsockopt(...SO_SNDBUF...) call.
Kris
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"