Module: sip-router
Branch: andrei/raw_sock
Commit: 557ddc199cb532427e16141d9099e4fb024adf73
URL:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=557ddc1…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)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