linux/net/sctp
Bhaskar Dutta 723884339f sctp: Sysctl configuration for IPv4 Address Scoping
This patch introduces a new sysctl option to make IPv4 Address Scoping
configurable <draft-stewart-tsvwg-sctp-ipv4-00.txt>.

In networking environments where DNAT rules in iptables prerouting
chains convert destination IP's to link-local/private IP addresses,
SCTP connections fail to establish as the INIT chunk is dropped by the
kernel due to address scope match failure.
For example to support overlapping IP addresses (same IP address with
different vlan id) a Layer-5 application listens on link local IP's,
and there is a DNAT rule that maps the destination IP to a link local
IP. Such applications never get the SCTP INIT if the address-scoping
draft is strictly followed.

This sysctl configuration allows SCTP to function in such
unconventional networking environments.

Sysctl options:
0 - Disable IPv4 address scoping draft altogether
1 - Enable IPv4 address scoping (default, current behavior)
2 - Enable address scoping but allow IPv4 private addresses in init/init-ack
3 - Enable address scoping but allow IPv4 link local address in init/init-ack

Signed-off-by: Bhaskar Dutta <bhaskar.dutta@globallogic.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
2009-09-04 18:21:01 -04:00
..
associola.c sctp: Get rid of an extra routing lookup when adding a transport. 2009-09-04 18:21:01 -04:00
auth.c fix similar typos to successfull 2009-01-08 08:31:15 -08:00
bind_addr.c sctp: Sysctl configuration for IPv4 Address Scoping 2009-09-04 18:21:01 -04:00
chunk.c sctp: Don't do NAGLE delay on large writes that were fragmented small 2009-09-04 18:20:59 -04:00
command.c [SCTP]: Remove sctp_add_cmd_sf wrapper bloat 2008-03-27 17:54:29 -07:00
debug.c net: mark read-only arrays as const 2009-08-05 10:42:58 -07:00
endpointola.c net: fix sctp breakage 2009-03-18 19:12:42 -07:00
input.c sctp: Use frag list abstraction interfaces. 2009-06-09 00:24:07 -07:00
inqueue.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
ipv6.c ipv6: Use correct data types for ICMPv6 type and code 2009-06-23 04:31:07 -07:00
Kconfig sctp: Don't abort initialization when CONFIG_PROC_FS=n 2008-07-18 23:03:44 -07:00
Makefile sctp: Don't abort initialization when CONFIG_PROC_FS=n 2008-07-18 23:03:44 -07:00
objcnt.c [NET]: Fix heavy stack usage in seq_file output routines. 2008-04-24 01:02:16 -07:00
output.c sctp: Correctly track if AUTH has been bundled. 2009-09-04 18:21:00 -04:00
outqueue.c sctp: Failover transmitted list on transport delete 2009-09-04 18:21:00 -04:00
primitive.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
proc.c sctp: use proc_create() 2009-09-04 18:20:58 -04:00
protocol.c sctp: Sysctl configuration for IPv4 Address Scoping 2009-09-04 18:21:01 -04:00
sm_make_chunk.c sctp: update the route for non-active transports after addresses are added 2009-09-04 18:20:55 -04:00
sm_sideeffect.c sctp: Try not to change a_rwnd when faking a SACK from SHUTDOWN. 2009-09-04 18:20:59 -04:00
sm_statefuns.c sctp: Failover transmitted list on transport delete 2009-09-04 18:21:00 -04:00
sm_statetable.c sctp: fix a typo in net/sctp/sm_statetable.c 2009-06-03 09:14:45 -04:00
socket.c sctp: Fix SCTP_MAXSEG socket option to comply to spec. 2009-09-04 18:21:00 -04:00
ssnmap.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
sysctl.c sctp: Sysctl configuration for IPv4 Address Scoping 2009-09-04 18:21:01 -04:00
transport.c sctp: Clear fast_recovery on the transport when T3 timer expires. 2009-09-04 18:20:58 -04:00
tsnmap.c trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01:00
ulpevent.c sctp: Use frag list abstraction interfaces. 2009-06-09 00:24:07 -07:00
ulpqueue.c net: Remove __skb_insert() calls outside of skbuff internals. 2008-09-21 21:28:51 -07:00