s95321517 wrote: > Dear all: > I install the SIPp support rtp stream. > I start the SIPp with the command > ./SIPp -sn uac_pcap -rsa server_IP:port remoteIP -i localIP > -r 10000 > I want the call-rate to be 10000, but the system says > "send_packets.c: sendto failed with error: No buffer space > available." > How could I handle this error?
When a sendto() call returns an ENOBUFS, particularly on a BSDish system, my recollection is it means the NIC driver's transmit queue was full. For example, netperf looks for this to try to learn if a sendto() it makes in a UDP_STREAM test actually had a chance of making it to the wire. Not all platforms have the necessary linkage to return an ENOBUFS on a sendto(), although some will instead initiate intra-stack flow control to pace the sender(s). Some will simply discard the packet and move-on without saying anything. If it is indeed the transmit queue filling, then apart from getting a faster NIC/network, I'm not sure there is anything much one can do with the single system. If you have confidence it is simply a transient thing you could try tweaking the driver's transmit queue length. That might be a driver-specific setting, or perhaps something one can set via ifconfig. However, if the issue is one of sustained rates... well then no length of additional queue will really help. It would be useful to compare the desired call rate and the number of packets and their size per call with the bitrate and packet per second limits of your NIC(s). rick jones ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Sipp-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sipp-users
