Module: sip-router Branch: andrei/raw_sock Commit: 557ddc199cb532427e16141d9099e4fb024adf73 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=557ddc19...
Author: Andrei Pelinescu-Onciul andrei@iptel.org Committer: Andrei Pelinescu-Onciul andrei@iptel.org Date: Wed Aug 11 16:03:55 2010 +0200
NEWS: notes about the new udp4_raw mode
---
NEWS | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/NEWS b/NEWS index de353af..cd1696f 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,19 @@ $Id$ sip-router 3.1 chages
core: + - major performance increase on Linux multi-cpu machines that send a lot + of UDP IPv4 packets (40-50% faster in stateless mode). For it to work + udp4_raw must be enabled or set into auto mode in sr.cfg and sr must be + started as root or with CAP_NET_RAW. Note that even if udp4_raw is + off (default), if sr was started with enough privileges, it can be + enabled at runtime. + The support for using raw sockets is also available on FreeBSD (compiled + by default but not tested for performance yet), NetBSD, OpenBSD and + Darwin (not tested and not compiled by default, needs + make cfg extra_defs=-DUSE_RAW_SOCKS). To check if the support is + compiled, use ser -V |grep --color RAW_SOCKS or for a running + ser: sercmd core.udp4_raw_info. + See udp4_raw, udp4_raw_mtu and udp4_raw_ttl below. - onreply_route {...} is now equivalent with onreply_route[0] {...} - global, per protocol blacklist ignore masks (via extended send_flags). See dst_blacklist_udp_imask a.s.o (dst_blacklist_*_imask). @@ -13,6 +26,28 @@ core: - route() now supports rvalue expressions (e.g. route("test"+$i))
new config variables: + - udp4_raw - enables raw socket support for sending UDP IPv4 datagrams + (40-50% performance increase on linux multi-cpu). + Possible values: 0 - disabled (default), 1 - enabled, -1 auto. + In "auto" mode it will be enabled if possible (sr started as root or + with CAP_NET_RAW). + udp4_raw can be used on Linux and FreeBSD. For other BSDs and Darwin + one must compile with -DUSE_RAW_SOCKS. + On Linux one should also set udp4_raw_mtu if the MTU on any network + interface that could be used for sending is smaller then 1500. + Can be set at runtime as long as sr was started with enough privileges + (core.udp4_raw). + - udp4_raw_mtu - MTU value used for UDP IPv4 packets when udp4_raw is + enabled. It should be set to the minimum MTU of all the network + interfaces that could be used for sending. The default value is 1500. + Note that on BSDs it does not need to be set (if set it will be ignored, + the proper MTU will be used automatically by the kernel). On Linux it + should be set. + Can be set at runtime (core.udp4_raw_mtu). + - udp4_raw_ttl - TTL value used for UDP IPv4 packets when udp4_raw is + enabled. By default it is set to auto mode (-1), meaning that the + same TTL will be used as for normal UDP sockets. + Can be set at runtime (core.udp4_raw_ttl). - dst_blacklist_udp_imask - global blacklist events ignore mask for udp (a blacklist event/reason set in this variable will be ignored when deciding whether or not to blacklist an udp destination). Can be set