]> git.baikalelectronics.ru Git - kernel.git/commit
sctp: Sysctl configuration for IPv4 Address Scoping
authorBhaskar Dutta <bhaskie@gmail.com>
Thu, 3 Sep 2009 11:55:47 +0000 (17:25 +0530)
committerVlad Yasevich <vladislav.yasevich@hp.com>
Fri, 4 Sep 2009 22:21:01 +0000 (18:21 -0400)
commit11618e0c5ad9ae1514b2169bec4b9348ad3f517e
treec8538602e56f2310470b0970bf121a1000313401
parent0ddd2db513155fc07d96ca6bb1d2f1f60f1bfa9b
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>
Documentation/networking/ip-sysctl.txt
include/net/sctp/constants.h
include/net/sctp/structs.h
net/sctp/bind_addr.c
net/sctp/protocol.c
net/sctp/sysctl.c