Final version of newnat API
Mon, 11 Feb 2002 13:23:37 +0100 (CET)
The final version (:-) of the newnat API and the corresponding H.323/talk
helper patches are in cvs now.
The modifications compared to the previous version are the following:
- Because of structural reasons exp_matches_pkt functions are moved
from NAT to conntrack.
- Conntrack and NAT helpers are *not* set for expected connections.
In consequence, the original behaviour of setting the conntrack/NAT
helpers (for master connections) on the NATed port could be restored.
If helpers must be set for expected connections, it can be done using
the conntrack and NAT expect functions (see both H.323 and talk).
- A flag member to ip_conntrack_helper and ip_nat_helper structures is
added, with the following possible values (and functionality in
ip_conntrack_core.c, ip_nat_core.c and ip_nat_helper.c):
/* Reuse expectation when max_expected reached */
#define IP_CT_REUSE_EXPECT 0x01
/* NAT helper must be called on every packet (for TCP) */
#define IP_NAT_ALWAYS 0x01
/* Standalone NAT helper, without a conntrack part */
#define IP_NAT_STANDALONE 0x02
- The function hack to trigger the autoloading of the conntrack helper
module when the nat helper module is loaded is replaced by a more
elegant way in the ip_nat_helper_register function. It required adding
a struct module * member to the ip_conntrack_helper and ip_nat_helper
- Timeout for expectations added. (Therefore the output of
/proc/net/ip_conntrack for expected connections slightly changed.)
Please note, the really new functionality is the timeout for expectations.
I hope, before the weekend I can add an updated newnat-summary.txt to
userspace/patch-o-matic/newat as well.
E-mail : firstname.lastname@example.org, email@example.com
Address : KFKI Research Institute for Particle and Nuclear Physics
H-1525 Budapest 114, POB. 49, Hungary