linux-sg2042/net
Pavel Emelyanov ee9952831c tcp: Initial repair mode
This includes (according the the previous description):

* TCP_REPAIR sockoption

This one just puts the socket in/out of the repair mode.
Allowed for CAP_NET_ADMIN and for closed/establised sockets only.
When repair mode is turned off and the socket happens to be in
the established state the window probe is sent to the peer to
'unlock' the connection.

* TCP_REPAIR_QUEUE sockoption

This one sets the queue which we're about to repair. The
'no-queue' is set by default.

* TCP_QUEUE_SEQ socoption

Sets the write_seq/rcv_nxt of a selected repaired queue.
Allowed for TCP_CLOSE-d sockets only. When the socket changes
its state the other seq-s are changed by the kernel according
to the protocol rules (most of the existing code is actually
reused).

* Ability to forcibly bind a socket to a port

The sk->sk_reuse is set to SK_FORCE_REUSE.

* Immediate connect modification

The connect syscall initializes the connection, then directly jumps
to the code which finalizes it.

* Silent close modification

The close just aborts the connection (similar to SO_LINGER with 0
time) but without sending any FIN/RST-s to peer.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-04-21 15:52:25 -04:00
..
9p net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
802 net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
8021q vlan: Stop using NLA_PUT*(). 2012-04-02 04:33:44 -04:00
appletalk net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
atm net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
ax25 net ax25: Simplify and cleanup the ax25 sysctl handling. 2012-04-20 21:22:28 -04:00
batman-adv batman-adv: skip the window protection test when the originator has no neighbours 2012-04-18 09:54:02 +02:00
bluetooth Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth 2012-04-09 15:47:49 -04:00
bridge net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
caif net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
can can: fix sparse warning for cgw_list 2012-04-16 21:08:18 +02:00
ceph net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
core sock: Introduce named constants for sk_reuse 2012-04-21 15:52:25 -04:00
dcb net/dcb: Add an optional max rate attribute 2012-04-05 05:08:04 -04:00
dccp net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
decnet net decnet: Convert to use register_net_sysctl 2012-04-20 21:22:29 -04:00
dns_resolver net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
dsa dsa: Move switch drivers to new directory drivers/net/dsa 2011-11-29 00:21:36 -05:00
econet sock: Introduce named constants for sk_reuse 2012-04-21 15:52:25 -04:00
ethernet net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
ieee802154 net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
ipv4 tcp: Initial repair mode 2012-04-21 15:52:25 -04:00
ipv6 sock: Introduce named constants for sk_reuse 2012-04-21 15:52:25 -04:00
ipx net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
irda net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
iucv Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2012-03-22 18:15:32 -07:00
key net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
l2tp net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
lapb Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
llc net llc: Don't use sysctl tables with .child entries. 2012-04-20 21:22:29 -04:00
mac80211 mac80211: add function retrieve average rssi 2012-04-16 14:38:49 -04:00
netfilter sock: Introduce named constants for sk_reuse 2012-04-21 15:52:25 -04:00
netlabel netlabel: use GFP flags from caller instead of GFP_ATOMIC 2012-03-22 19:29:57 -04:00
netlink netlink: dont drop packet but consume it 2012-04-19 14:23:55 -04:00
netrom net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
nfc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-04-18 14:27:48 -04:00
openvswitch net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
packet packet: dont drop packet but consume it 2012-04-19 14:23:55 -04:00
phonet net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
rds sock: Introduce named constants for sk_reuse 2012-04-21 15:52:25 -04:00
rfkill device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
rose net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
rxrpc net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
sched pkt_sched: Stop using NLA_PUT*(). 2012-04-01 18:11:37 -04:00
sctp net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
sunrpc sock: Introduce named constants for sk_reuse 2012-04-21 15:52:25 -04:00
tipc tipc: Ensure network address change doesn't impact configuration service 2012-04-19 15:46:50 -04:00
unix net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
wanrouter wanrouter: Remove kernel_lock annotations 2011-11-07 13:27:30 -05:00
wimax net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
wireless Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-04-18 14:27:48 -04:00
x25 net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
xfrm net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
Kconfig net: Add Open vSwitch kernel components. 2011-12-03 09:35:17 -08:00
Makefile net: Add Open vSwitch kernel components. 2011-12-03 09:35:17 -08:00
compat.c net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
nonet.c
socket.c net sysctl: Initialize the network sysctls sooner to avoid problems. 2012-04-20 21:21:16 -04:00
sysctl_net.c net: Remove register_net_sysctl_table 2012-04-20 21:22:30 -04:00