Summary:ASTERISK-02061: RTP.c not compiling on FreeBSD
Reporter:Olle Johansson (oej)Labels:
Date Opened:2004-07-19 02:53:53Date Closed:2008-01-15 15:03:05.000-0600
Versions:Frequency of
Description:rtp.c: In function `rtp_socket':
rtp.c:770: `SO_NO_CHECK' undeclared (first use in this function)
rtp.c:770: (Each undeclared identifier is reported only once
rtp.c:770: for each function it appears in.)
gmake: *** [rtp.o] Error 1
Comments:By: Olle Johansson (oej) 2004-07-19 04:42:32

From the -bsd mailing list:
"I believe you can do this system wide only via a sysctl
net.inet.udp.checksum call. This option should be silently ignored as is
the case in other FreeBSD apps. I am not sure why this is needed in
Linux. My understanding is that FreeBSD uses the ethernet card to
generate the crc if the hardware is available."

By: jacs (jacs) 2004-07-19 06:49:16

Having looked at bug ASTERISK-2040 this has been added for a slackware specific problem. Just need to not include the

setsockopt(s, SOL_SOCKET, SO_NO_CHECK, &cksum_flag,sizeof(cksum_flag));

code at compile time for BSD. Maybe add a comment in rtp.conf  that "rtpchecksum" is a Linux specific option.

By: cherso (cherso) 2004-07-19 08:39:09

yes. it's a linux problem, but I think that the "no udp checksum" feature is good on a local network. better performance

By: Mark Spencer (markster) 2004-07-19 14:23:52

Fixed in CVS -- just made it print a warning if it wasn't supported.

By: Digium Subversion (svnbot) 2008-01-15 15:03:05.000-0600

Repository: asterisk
Revision: 3480

U   trunk/rtp.c

r3480 | markster | 2008-01-15 15:03:05 -0600 (Tue, 15 Jan 2008) | 2 lines

Don't copmile in the no-RTP checksum stuff for non-Linux (bug ASTERISK-2061)