Lines Matching +full:fixed +full:- +full:links
1 .\"-
41 library is a collection of functions for aliasing and de-aliasing of IP
48 Incoming packets are then de-aliased so that they are sent to the correct
52 In the simplest mode of operation, a many-to-one address mapping takes
55 In addition, one-to-one mappings between local and public addresses can
59 many-to-one mappings.
76 .Bd -ragged -offset indent
88 .Bl -item -offset indent -compact
111 .Bd -ragged -offset indent
126 .Bd -ragged -offset indent
129 All outgoing packets are re-mapped to this address unless overridden by a
142 address may or may not change on successive dial-up attempts.
147 the aliasing address on a packet-to-packet basis (it is a low overhead call).
154 .Bd -ragged -offset indent
163 .Bl -tag -width indent
168 with the current number of ICMP, TCP and UDP links.
183 This mode bit is useful for implementing a one-way firewall.
185 If this mode bit is set, the packet-aliasing engine will attempt to leave
205 10.0.0.0 -> 10.255.255.255 (/8)
206 172.16.0.0 -> 172.31.255.255 (/16)
207 192.168.0.0 -> 192.168.255.255 (/24)
217 100.64.0.0 -> 100.127.255.255 (RFC 6598 subnet)
225 links where the interface address can sometimes change or remain the same
226 between dial-up attempts.
234 .Xr ipfirewall 4 -
241 (e.g.\& kill -9),
274 When this bit is set, UDP uses endpoint-independent mapping (EIM), as per
286 When this bit is unset, UDP packets use endpoint-dependent mapping (EDM)
292 by port forwarding on the NAT, or tunnelling through an in-between server.
298 .Bd -ragged -offset indent
307 .Bd -ragged -offset indent
333 .Bd -ragged -offset indent
335 de-aliased by this function.
344 .Bl -tag -width indent
348 The packet was ignored and not de-aliased.
365 and de-alias them with
374 .Bd -ragged -offset indent
389 .Bl -tag -width indent
404 Individual ports can be re-mapped or static network address translations can
418 .Bd -ragged -offset indent
459 The remote port specification will almost always be zero, but non-zero
488 .Bd -ragged -offset indent
561 .Bd -ragged -offset indent
568 in the server pool, using a real-time load sharing algorithm.
577 host is selected on a round-robin basis only, without regard to load on
592 For links created with
598 This function returns 0 on success, \-1 otherwise.
603 .Bd -ragged -offset indent
609 Only fully specified links can be made dynamic.
611 .Sx STATIC AND DYNAMIC LINKS
613 .Sx PARTIALLY SPECIFIED ALIASING LINKS
615 and partially vs.\& fully specified links.)
617 This function returns 0 on success, \-1 otherwise.
622 .Bd -ragged -offset indent
638 .Bd -ragged -offset indent
645 .Bl -tag -width indent
737 .Bd -ragged -offset indent
760 Non-zero remote addresses can sometimes be useful for firewalling.
785 subsequent fragments will be re-mapped in the same manner the header
792 .Bd -ragged -offset indent
817 .Bd -ragged -offset indent
838 .Bd -ragged -offset indent
841 it can then be de-aliased with a call to
847 is the pointer to the packet to be de-aliased.
854 .Bd -ragged -offset indent
859 However, in the current implementation, such links can only be used
860 for inbound (ext -> int) traffic.
865 .Bd -ragged -offset indent
866 When an incoming packet not associated with any pre-existing aliasing link
886 .Bd -ragged -offset indent
890 protocol-specific headers (TCP, UDP, ICMP).
897 The 16-bit checksum field should be zeroed before computing the checksum.
908 .Bd -ragged -offset indent
916 This function can be used if an already-aliased packet needs to have its
930 It is discussed how such links come into existence and are destroyed.
931 .Ss ALIASING LINKS
934 which is a 7-tuple describing a specific translation:
935 .Bd -literal -offset indent
944 table of aliasing links to determine how to modify a given IP packet.
946 Aliasing links are created and deleted as necessary according to network
960 .Ss STATIC AND DYNAMIC LINKS
961 Aliasing links can either be static or dynamic.
962 Static links persist indefinitely and represent fixed rules for translating
964 Dynamic links come into existence for a specific TCP connection or UDP
968 Aliasing links for UDP transactions (and ICMP ECHO and TIMESTAMP requests)
974 .Ss PARTIALLY SPECIFIED ALIASING LINKS
975 Aliasing links can be partially specified, meaning that the remote address
983 .Bd -literal -offset indent
994 In addition to aliasing links, there are also address mappings that can be
996 .Bd -literal -offset indent
1000 Address mappings are searched when creating new dynamic links.
1012 not conflict with any existing links.
1024 the ability to load/unload support for new protocols at run-time.
1061 .Bd -literal -offset indent
1087 .Dl "kill -HUP <process_pid>"
1095 .Bd -literal
1111 .Bd -literal
1125 .Bl -inset
1171 .Bd -literal -offset indent
1177 &ud->uh_sport, /* original source port */
1178 &ud->uh_dport, /* original dest port */
1197 .Bl -tag -width indent
1243 .Bd -literal
1249 * dlopen() - use this ptr to get access
1257 .Bl -inset
1278 .Bd -literal
1316 .Bd -literal
1345 .Bd -literal
1372 .Bl -enum
1398 .Bd -literal -offset indent
1431 .Bd -literal
1438 * ptr to an auto-malloced
1467 versions 1.0 - 1.8, 2.0 - 2.4.
1486 .Bd -ragged -offset indent
1487 .An -split