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, PATTERN FOUTPUT ROUTPUT)
Ports: 1 input, 1 output
Processing: agnostic
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. PATTERN is a pattern specification -- either a pattern name (see IPRewriterPatterns) or a `SADDR SPORT DADDR DPORT' quadruple. See IPRewriter for more information. The address and port specified in the PORT command correspond to `SADDR' and `SPORT' in the pattern. If a new SADDR and SPORT are chosen, then the PORT command is rewritten to reflect the new SADDR and SPORT. In summary: Assume that an FTP packet with source address and port 1.0.0.2:6587 and destination address and port 2.0.0.2:21 contains a command `PORT 1,0,0,2,3,9' (that is, 1.0.0.2:777). Furthermore assume that the PATTERN is `1.0.0.1 9000-14000 - -'. Then FTPPortMapper performs the following actions:
? **1.** ! (1.0.0.2, 777, 2.0.0.2, 20) => (1.0.0.1, 9000, 2.0.0.2, 20) with output
port FOUTPUT.
? **2.** ! (2.0.0.2, 20, 1.0.0.1, 9000) => (2.0.0.2, 20, 1.0.0.2, 777) with output
port ROUTPUT.
IPRewriter, TCPRewriter, IPRewriterPatterns RFC 959, File Transfer Protocol (FTP)
Generated by 'click-elem2man' from '../elements/app/ftpportmapper.hh' on 18/Jul/2007.