This is automatically generated documentation. Edit after the "COMMENTS" heading; changes to the main body will be lost.
FTPPortMapper -- Click element; manipulates IPRewriter for FTP
FTPPortMapper(CONTROL_REWRITER, DATA_REWRITER, DATA_REWRITER_INPUT)
Ports: 1 input, 1 output
Package: app (core)
Expects FTP control packets. Watches packets for PORT commands and installs corresponding mappings into the specified IPRewriter. This makes FTP possible through a NAT-like IPRewriter setup. CONTROL_REWRITER and DATA_REWRITER are the names of IPRewriter-like elements. CONTROL_REWRITER must be a TCPRewriter element, through which the FTP control packets are passed. Packets from FTPPortMapper must pass downstream through CONTROL_REWRITER. DATA_REWRITER can be any IPRewriter-like element; packets from the FTP data port must pass through DATA_REWRITER. CONTROL_REWRITER and DATA_REWRITER might be the same element. DATA_REWRITER_INPUT is a valid input port number for DATA_REWRITER. When a control connection opens a new data port, a mapping is installed in DATA_REWRITER as if a data packet had arrived on DATA_REWRITER_INPUT. Usually DATA_REWRITER_INPUT refers to a pattern specification; see IPRewriter for more information. In summary: Assume that an FTP packet with source address and port 220.127.116.11:6587 and destination address and port 18.104.22.168:21 contains a command `PORT 1,0,0,2,3,9' (that is, 22.214.171.124:777). Furthermore assume that the pattern corresponding to DATA_REWRITER_INPUT is `126.96.36.199 9000-14000 - -'. Then FTPPortMapper performs the following actions:
? **1.** ! (188.8.131.52, 777, 184.108.40.206, 20) => (220.127.116.11, 9000, 18.104.22.168, 20)
? **2.** ! (22.214.171.124, 20, 126.96.36.199, 9000) => (188.8.131.52, 20, 184.108.40.206, 777)
Generated by 'click-elem2man' from '../elements/app/ftpportmapper.hh' on 28/Feb/2010.