openwrt/staging/blogic.git
19 years ago[BNX2]: speedup serdes linkup
Michael Chan [Thu, 25 Aug 2005 22:35:24 +0000 (15:35 -0700)]
[BNX2]: speedup serdes linkup

This speeds up link-up time on 5706 SerDes if the link partner does
not autoneg, a rather common scenario in blade servers. Some blade
servers use IPMI for keyboard input and it's important to minimize
link disruptions.

The speedup is achieved by shortening the timer to (HZ / 3) during
the transient period right after initiating a SerDes autoneg. If
autoneg does not complete, parallel detect can be done sooner. After
the transient period is over, the timer goes back to its normal HZ
interval.

As suggested by Jeff Garzik, the timer initialization is moved to
bnx2_init_board() from bnx2_open().

An eeprom bit is also added to allow default forced SerDes speed for
even faster link-up time.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[BNX2]: Fix rtnl deadlock in bnx2_close
Michael Chan [Thu, 25 Aug 2005 22:34:29 +0000 (15:34 -0700)]
[BNX2]: Fix rtnl deadlock in bnx2_close

This fixes an rtnl deadlock problem when flush_scheduled_work() is
called from bnx2_close(). In rare cases, linkwatch_event() may be on
the workqueue from a previous close of a different device and it will
try to get the rtnl lock which is already held by dev_close().

The fix is to set a flag if we are in the reset task which is run
from the workqueue. bnx2_close() will loop until the flag is cleared.
As suggested by Jeff Garzik, the loop is changed to call msleep(1)
instead of yield() in the original patch.

flush_scheduled_work() is also moved to bnx2_remove_one() before the
netdev is freed.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Convert FIB Trie to RCU.
Robert Olsson [Thu, 25 Aug 2005 20:01:29 +0000 (13:01 -0700)]
[IPV4]: Convert FIB Trie to RCU.

* Removes RW-lock
* Proteced read functions uses
  rcu_dereference proteced with rcu_read_lock()
* writing of procted pointer w. rcu_assigen_pointer
* Insert/Replace atomic list_replace_rcu
* A BUG_ON condition removed.in trie_rebalance

With help from Paul E. McKenney.

Signed-off-by: Robert Olsson <Robert.Olsson@data.slu.se>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Prepare FIB core for RCU.
Robert Olsson [Thu, 25 Aug 2005 20:01:03 +0000 (13:01 -0700)]
[IPV4]: Prepare FIB core for RCU.

* RCU versions of hlist_***_rcu
* fib_alias partial rcu port just whats needed now.

Signed-off-by: Robert Olsson <Robert.Olsson@data.slu.se>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Module export of ip_rcv() no longer needed.
Ralf Baechle [Wed, 24 Aug 2005 18:38:53 +0000 (11:38 -0700)]
[IPV4]: Module export of ip_rcv() no longer needed.

With ip_rcv nowhere outside the IP stack being used anymore it's
EXPORT_SYMBOL is not needed any longer either.

Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[AX25/NETROM/ROSE]: Kill net/ip.h inclusion
Ralf Baechle [Wed, 24 Aug 2005 18:37:45 +0000 (11:37 -0700)]
[AX25/NETROM/ROSE]: Kill net/ip.h inclusion

All these are claiming to include <net/ip.h> to get ip_rcv() but in
fact don't need the header at all, so away with the inclusion.

Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[AX25/NETROM]: Cleanup direct calls into IP stack
Ralf Baechle [Wed, 24 Aug 2005 18:35:51 +0000 (11:35 -0700)]
[AX25/NETROM]: Cleanup direct calls into IP stack

Get rid of the calls to ip_rcv and arp_rcv which were layering
violations anyway.  With those being replaced by netif_rx, less parts
of AX.25 and relatives depend on INET support actually being enabled.
This also will make PF_PACKET sockets work for IP and ARP packets
received over AX.25 and for IP packets over NET/ROM.

Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: FIB trie cleanup
Stephen Hemminger [Wed, 24 Aug 2005 04:59:41 +0000 (21:59 -0700)]
[IPV4]: FIB trie cleanup

This is a redo of earlier cleanup stuff:
* replace DBG() macro with pr_debug()
* get rid of duplicate extern's that are already in fib_lookup.h
* use BUG_ON and WARN_ON
* don't use BUG checks for null pointers where next statement would
  get a fault anyway
* remove debug printout when rebalance causes deep tree
* remove trailing blanks

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Robert Olsson <robert.olsson@its.uu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Initial dccp_poll implementation
Arnaldo Carvalho de Melo [Wed, 24 Aug 2005 04:54:23 +0000 (21:54 -0700)]
[DCCP]: Initial dccp_poll implementation

Tested with a patched netcat, no horror stories so far 8)

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Call the HC exit routines at dccp_v4_destroy_sock
Arnaldo Carvalho de Melo [Wed, 24 Aug 2005 04:54:00 +0000 (21:54 -0700)]
[DCCP]: Call the HC exit routines at dccp_v4_destroy_sock

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ICSK]: Generalise tcp_listen_poll
Arnaldo Carvalho de Melo [Wed, 24 Aug 2005 04:52:58 +0000 (21:52 -0700)]
[ICSK]: Generalise tcp_listen_poll

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Introduce dccp_get_info
Arnaldo Carvalho de Melo [Wed, 24 Aug 2005 04:52:35 +0000 (21:52 -0700)]
[DCCP]: Introduce dccp_get_info

And also hc_tx and hc_rx get_info functions for the CCIDs to fill in
information that is specific to them.

For now reusing struct tcp_info, later I'll try to figure out a better
solution, for now its really nice to get this kind of info:

[root@qemu ~]# ./ss -danemi
State       Recv-Q Send-Q  Local Addr:Port  Peer Addr:Port
LISTEN      0      0                *:5001          *:*     ino:628 sk:c1340040
         mem:(r0,w0,f0,t0) cwnd:0 ssthresh:0
ESTAB       0      0       172.20.0.2:5001 172.20.0.1:32785 ino:629 sk:c13409a0
         mem:(r0,w0,f0,t0) ts rto:1000 rtt:0.004/0 cwnd:0 ssthresh:0 rcv_rtt:61.377

This, for instance, shows that we're not congestion controlling ACKs,
as the above output is in the ttcp receiving host, and ttcp is a one
way app, i.e. the received never calls sendmsg, so
ccid_hc_tx_send_packet is never called, so the TX half connection
stays in TFRC_SSTATE_NO_SENT state and hctx_rtt is never calculated,
stays with the value set in ccid3_hc_tx_init, 4us, as show above in
milliseconds (0.004ms), upcoming patches will fix this.

rcv_rtt seems sane tho, matching ping results :-)

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[CCID3]: Calculate the RTT in the RX half connection
Arnaldo Carvalho de Melo [Wed, 24 Aug 2005 04:51:59 +0000 (21:51 -0700)]
[CCID3]: Calculate the RTT in the RX half connection

Using TIMESTAMP_ECHO and ELAPSED_TIME options received.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Export dccp_insert_option_timestamp to CCIDs
Arnaldo Carvalho de Melo [Wed, 24 Aug 2005 04:51:36 +0000 (21:51 -0700)]
[DCCP]: Export dccp_insert_option_timestamp to CCIDs

And don't insert a TIMESTAMP option in all packets, leave the decision
to the CCIDs.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[CCID]: Make ccid_hc_[rt]x_exit accept NULL arguments
Arnaldo Carvalho de Melo [Wed, 24 Aug 2005 04:51:13 +0000 (21:51 -0700)]
[CCID]: Make ccid_hc_[rt]x_exit accept NULL arguments

Just like kfree, etc it will just not call the CCID exit
routines when the private data area is set to NULL.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Send a DATAACK packet when we have a TIMESTAMP_ECHO pending
Arnaldo Carvalho de Melo [Wed, 24 Aug 2005 04:50:45 +0000 (21:50 -0700)]
[DCCP]: Send a DATAACK packet when we have a TIMESTAMP_ECHO pending

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Fix skb leak in dccp_sendmsg
Arnaldo Carvalho de Melo [Wed, 24 Aug 2005 04:50:21 +0000 (21:50 -0700)]
[DCCP]: Fix skb leak in dccp_sendmsg

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Implement the CLOSING timer
Arnaldo Carvalho de Melo [Wed, 24 Aug 2005 04:50:06 +0000 (21:50 -0700)]
[DCCP]: Implement the CLOSING timer

So that we retransmit CLOSE/CLOSEREQ packets till they elicit an
answer or we hit a timeout.

Most of the machinery uses TCP approaches, this code has to be
polished & audited, but this is better than we had before.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Fix printf format warnings on 64-bit.
David S. Miller [Mon, 22 Aug 2005 06:46:01 +0000 (23:46 -0700)]
[DCCP]: Fix printf format warnings on 64-bit.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Add goto target
Patrick McHardy [Mon, 22 Aug 2005 06:31:43 +0000 (23:31 -0700)]
[NETFILTER]: Add goto target

Originally written by Henrik Nordstrom <hno@marasystems.com>, taken
from netfilter patch-o-matic and added ip6_tables support.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Add IPv6 REJECT target
Patrick McHardy [Mon, 22 Aug 2005 06:31:06 +0000 (23:31 -0700)]
[NETFILTER]: Add IPv6 REJECT target

Originally written by Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>,
taken from netfilter patch-o-matic and fixed up to work with current
kernels.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Add string match
Pablo Neira Ayuso [Mon, 22 Aug 2005 06:30:34 +0000 (23:30 -0700)]
[NETFILTER]: Add string match

Signed-off-by: Pablo Neira Ayuso <pablo@eurodev.net>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Fix ackno setting in SYNC/SYNCACK packets
Arnaldo Carvalho de Melo [Sun, 21 Aug 2005 08:40:16 +0000 (05:40 -0300)]
[DCCP]: Fix ackno setting in SYNC/SYNCACK packets

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Fix the ACK and SEQ window variables settings
Arnaldo Carvalho de Melo [Sun, 21 Aug 2005 08:36:45 +0000 (05:36 -0300)]
[DCCP]: Fix the ACK and SEQ window variables settings

This is from a first audit, more eyeballs are more than welcome.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Give more info on Step 6 failure debug printk
Arnaldo Carvalho de Melo [Sun, 21 Aug 2005 08:35:18 +0000 (05:35 -0300)]
[DCCP]: Give more info on Step 6 failure debug printk

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Fix seqno setting in dccp_v4_ctl_send_reset
Arnaldo Carvalho de Melo [Sun, 21 Aug 2005 08:33:48 +0000 (05:33 -0300)]
[DCCP]: Fix seqno setting in dccp_v4_ctl_send_reset

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[CCID3]: Reintroduce ccid3hctx_t_rto
Arnaldo Carvalho de Melo [Sun, 21 Aug 2005 08:07:37 +0000 (05:07 -0300)]
[CCID3]: Reintroduce ccid3hctx_t_rto

CCID3 keeps this variable in usecs, inet_connection_socks in jiffies,
so to avoid Mars orbiter losses lets reintroduce ccid3hctx_t_rto 8)

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: ip_finish_output() can be inlined
Thomas Graf [Sun, 21 Aug 2005 00:27:34 +0000 (17:27 -0700)]
[IPV4]: ip_finish_output() can be inlined

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Remove some dead code from ip_forward()
Thomas Graf [Sun, 21 Aug 2005 00:27:09 +0000 (17:27 -0700)]
[IPV4]: Remove some dead code from ip_forward()

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Avoid common branch mispredictions in ip_rcv_finish()
Thomas Graf [Sun, 21 Aug 2005 00:26:30 +0000 (17:26 -0700)]
[IPV4]: Avoid common branch mispredictions in ip_rcv_finish()

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Move ip options parsing out of ip_rcv_finish()
Thomas Graf [Sun, 21 Aug 2005 00:26:12 +0000 (17:26 -0700)]
[IPV4]: Move ip options parsing out of ip_rcv_finish()

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Avoid common branch misprediction while checking csum in ip_rcv()
Thomas Graf [Sun, 21 Aug 2005 00:25:52 +0000 (17:25 -0700)]
[IPV4]: Avoid common branch misprediction while checking csum in ip_rcv()

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Consistency and whitespace cleanup of ip_rcv()
Thomas Graf [Sun, 21 Aug 2005 00:25:29 +0000 (17:25 -0700)]
[IPV4]: Consistency and whitespace cleanup of ip_rcv()

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Fix ipl=>ihl typo in ip_fast_csum
Thomas Graf [Sun, 21 Aug 2005 00:24:25 +0000 (17:24 -0700)]
[NET]: Fix ipl=>ihl typo in ip_fast_csum

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Add support for getting the permanent hardware address.
Jon Wetzel [Sun, 21 Aug 2005 00:15:54 +0000 (17:15 -0700)]
[NET]: Add support for getting the permanent hardware address.

This patch adds a new field to net device to hold the permanent
hardware address, and adds a new generic ethtool_op function to
get that address.

Signed-off-by: Jon Wetzel <jon_wetzel@dell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: fix PROC_FS=n compile
Adrian Bunk [Sun, 21 Aug 2005 00:14:11 +0000 (17:14 -0700)]
[NET]: fix PROC_FS=n compile

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Fix the timestamp options
Ian McDonald [Sat, 20 Aug 2005 03:23:43 +0000 (00:23 -0300)]
[DCCP]: Fix the timestamp options

This changes timestamp, timestamp echo, and elapsed time to use units of 10
usecs as per DCCP spec. This has been tested to verify that times are correct.
Also fixed up length and used hton/ntoh more.

Still to add in later patches:
- actually use elapsed time to adjust RTT
(commented out as was prior to this patch)
- send options at times more closely following the spec
(content is now correct)

Signed-off-by: Ian McDonald <iam4@cs.waikato.ac.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPVS]: ipv4_table --> ipvs_ipv4_table
David S. Miller [Fri, 19 Aug 2005 23:37:30 +0000 (16:37 -0700)]
[IPVS]: ipv4_table --> ipvs_ipv4_table

Fix conflict with symbol of same name in global
namespace.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Use LIMIT_NETDEBUG in some debugging printks
Arnaldo Carvalho de Melo [Fri, 19 Aug 2005 00:12:02 +0000 (21:12 -0300)]
[DCCP]: Use LIMIT_NETDEBUG in some debugging printks

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Set dccp_ctl_socket to NULL in dccp_ctl_sock_exit
Arnaldo Carvalho de Melo [Thu, 18 Aug 2005 23:47:02 +0000 (20:47 -0300)]
[DCCP]: Set dccp_ctl_socket to NULL in dccp_ctl_sock_exit

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Fix elapsed time option as per section 13.2 of spec v11
Ian McDonald [Thu, 18 Aug 2005 23:45:29 +0000 (20:45 -0300)]
[DCCP]: Fix elapsed time option as per section 13.2 of spec v11

The elapsed time can be two bytes or four bytes only.

Signed-off-by: Ian McDonald <iam4@cs.waikato.ac.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Implement SKB fast cloning.
David S. Miller [Wed, 17 Aug 2005 21:57:30 +0000 (14:57 -0700)]
[NET]: Implement SKB fast cloning.

Protocols that make extensive use of SKB cloning,
for example TCP, eat at least 2 allocations per
packet sent as a result.

To cut the kmalloc() count in half, we implement
a pre-allocation scheme wherein we allocate
2 sk_buff objects in advance, then use a simple
reference count to free up the memory at the
correct time.

Based upon an initial patch by Thomas Graf and
suggestions from Herbert Xu.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Send SYNCACK packets in response to SYNC packets
Arnaldo Carvalho de Melo [Wed, 17 Aug 2005 06:10:59 +0000 (03:10 -0300)]
[DCCP]: Send SYNCACK packets in response to SYNC packets

Also fix step 6 when receiving SYNC or SYNCACK packets, i.e. we were not using
the updated swl.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPVS]: Rename tcp_{init,exit}() --> ip_vs_tcp_{init,exit}()
David S. Miller [Wed, 17 Aug 2005 03:50:16 +0000 (20:50 -0700)]
[IPVS]: Rename tcp_{init,exit}() --> ip_vs_tcp_{init,exit}()

Conflicts with global namespace functions with the
same name.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IRDA]: Possible cleanups.
Adrian Bunk [Wed, 17 Aug 2005 03:45:45 +0000 (20:45 -0700)]
[IRDA]: Possible cleanups.

This patch contains the following possible cleanups:

- make the following needlessly global function static:
  - irnet/irnet_ppp.c: irnet_init

- remove the following unneeded EXPORT_SYMBOL's:
  - irlmp.c: sysctl_discovery_timeout
  - irlmp.c: irlmp_reasons
  - irlmp.c: irlmp_dup
  - irqueue.c: hashbin_find_next

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IP]: Introduce ip_options_get_from_user
Arnaldo Carvalho de Melo [Tue, 16 Aug 2005 22:46:48 +0000 (19:46 -0300)]
[IP]: Introduce ip_options_get_from_user

This variant is needed to satisfy sparse __user annotations.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Fix sparse warnings
Arnaldo Carvalho de Melo [Tue, 16 Aug 2005 22:02:15 +0000 (19:02 -0300)]
[NETLINK]: Fix sparse warnings

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Fix sparse warnings
Arnaldo Carvalho de Melo [Tue, 16 Aug 2005 05:18:02 +0000 (02:18 -0300)]
[NET]: Fix sparse warnings

Of this type, mostly:

CHECK   net/ipv6/netfilter.c
net/ipv6/netfilter.c:96:12: warning: symbol 'ipv6_netfilter_init' was not declared. Should it be static?
net/ipv6/netfilter.c:101:6: warning: symbol 'ipv6_netfilter_fini' was not declared. Should it be static?

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[RXRPC]: Fix build failure introduced by skb->stamp changes.
Andrew Morton [Tue, 16 Aug 2005 04:13:25 +0000 (21:13 -0700)]
[RXRPC]: Fix build failure introduced by skb->stamp changes.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DECNET]: Fix build after netlink changes.
Andrew Morton [Tue, 16 Aug 2005 03:35:44 +0000 (20:35 -0700)]
[DECNET]: Fix build after netlink changes.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SELINUX]: Update for tcp_diag rename to inet_diag.
James Morris [Tue, 16 Aug 2005 03:34:48 +0000 (20:34 -0700)]
[SELINUX]: Update for tcp_diag rename to inet_diag.

Also, support dccp sockets.

Signed-off-by: James Morris <jmorris@namei.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Add "groups" argument to netlink_kernel_create
Patrick McHardy [Mon, 15 Aug 2005 19:33:26 +0000 (12:33 -0700)]
[NETLINK]: Add "groups" argument to netlink_kernel_create

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Add set/getsockopt options to support more than 32 groups
Patrick McHardy [Mon, 15 Aug 2005 19:32:15 +0000 (12:32 -0700)]
[NETLINK]: Add set/getsockopt options to support more than 32 groups

NETLINK_ADD_MEMBERSHIP/NETLINK_DROP_MEMBERSHIP are used to join/leave
groups, NETLINK_PKTINFO is used to enable nl_pktinfo control messages
for received packets to get the extended destination group number.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Support dynamic number of multicast groups per netlink family
Patrick McHardy [Mon, 15 Aug 2005 19:29:13 +0000 (12:29 -0700)]
[NETLINK]: Support dynamic number of multicast groups per netlink family

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Return -EPROTONOSUPPORT in netlink_create() if no kernel socket is registered
Patrick McHardy [Mon, 15 Aug 2005 02:31:36 +0000 (19:31 -0700)]
[NETLINK]: Return -EPROTONOSUPPORT in netlink_create() if no kernel socket is registered

This is necessary for dynamic number of netlink groups to make sure we know
the number of possible groups before bind() is called. With this change pure
userspace communication using unused netlink protocols becomes impossible.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Convert netlink users to use group numbers instead of bitmasks
Patrick McHardy [Mon, 15 Aug 2005 02:29:52 +0000 (19:29 -0700)]
[NETLINK]: Convert netlink users to use group numbers instead of bitmasks

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Use group numbers instead of bitmasks internally
Patrick McHardy [Mon, 15 Aug 2005 02:27:50 +0000 (19:27 -0700)]
[NETLINK]: Use group numbers instead of bitmasks internally

Using the group number allows increasing the number of groups without
beeing limited by the size of the bitmask. It introduces one limitation
for netlink users: messages can't be broadcasted to multiple groups anymore,
however this feature was never used inside the kernel.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Fix module refcounting problems
Patrick McHardy [Mon, 15 Aug 2005 02:27:13 +0000 (19:27 -0700)]
[NETLINK]: Fix module refcounting problems

Use-after-free: the struct proto_ops containing the module pointer
is freed when a socket with pid=0 is released, which besides for kernel
sockets is true for all unbound sockets.

Module refcount leak: when the kernel socket is closed before all user
sockets have been closed the proto_ops struct for this family is
replaced by the generic one and the module refcount can't be dropped.

The second problem can't be solved cleanly using module refcounting in the
generic socket code, so this patch adds explicit refcounting to
netlink_create/netlink_release.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Remove unused groups member from struct netlink_skb_parms
Patrick McHardy [Mon, 15 Aug 2005 02:26:34 +0000 (19:26 -0700)]
[NETLINK]: Remove unused groups member from struct netlink_skb_parms

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Fix missing dst_groups initializations in netlink_broadcast users
Patrick McHardy [Mon, 15 Aug 2005 02:25:47 +0000 (19:25 -0700)]
[NETLINK]: Fix missing dst_groups initializations in netlink_broadcast users

netlink_broadcast users must initialize NETLINK_CB(skb).dst_groups to the
destination group mask for netlink_recvmsg.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: w1_int.c: fix default netlink group
Evgeniy Polyakov [Mon, 15 Aug 2005 02:24:58 +0000 (19:24 -0700)]
[NETLINK]: w1_int.c: fix default netlink group

w1 does not need to multicast its state to several groups at once,
and upcoming netlink changes will not allow bitmask for groups anyway.

Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPX]: Fix build error in ipx_recvmsg()
David S. Miller [Mon, 15 Aug 2005 01:01:08 +0000 (18:01 -0700)]
[IPX]: Fix build error in ipx_recvmsg()

Missing semicolon introduced by skb->stamp changeset:
d3258b7d8ed96f97032639bc745179f1951b0da5

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Fix compiler warnings
Patrick McHardy [Mon, 15 Aug 2005 00:05:53 +0000 (21:05 -0300)]
[DCCP]: Fix compiler warnings

may be a false warning if there always is something on ccid3hcrx_hist:

net/dccp/ccids/ccid3.c: In function 'ccid3_hc_rx_packet_recv':
net/dccp/ccids/ccid3.c:1634: warning: 'tstamp.tv_usec' may be used uninitialized in this function
net/dccp/ccids/ccid3.c:1634: warning: 'tstamp.tv_sec' may be used uninitialized in this function

const on inline functions doesn't have any effect:

net/dccp/dccp.h:64: warning: type qualifiers ignored on function return type
net/dccp/dccp.h:70: warning: type qualifiers ignored on function return type
net/dccp/dccp.h:76: warning: type qualifiers ignored on function return type

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Fix sparse warnings
Arnaldo Carvalho de Melo [Sun, 14 Aug 2005 01:42:25 +0000 (22:42 -0300)]
[DCCP]: Fix sparse warnings

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Fix RESET handling in dccp_rcv_state_process
Arnaldo Carvalho de Melo [Sat, 13 Aug 2005 23:36:01 +0000 (20:36 -0300)]
[DCCP]: Fix RESET handling in dccp_rcv_state_process

To avoid holding TIMEWAIT state for sockets in the LISTEN state.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Introduce the DCCP Kernel hacking menu
Arnaldo Carvalho de Melo [Sat, 13 Aug 2005 23:35:39 +0000 (20:35 -0300)]
[DCCP]: Introduce the DCCP Kernel hacking menu

Only available if CONFIG_DEBUG_KERNEL is enabled in the "Kernel
Hacking" Menu.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Rewrite dccp_sendmsg to be more like UDP
Arnaldo Carvalho de Melo [Sat, 13 Aug 2005 23:35:17 +0000 (20:35 -0300)]
[DCCP]: Rewrite dccp_sendmsg to be more like UDP

Based on discussions with Nishida-san.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Just reflow the source code to fit in 80 columns
Arnaldo Carvalho de Melo [Sat, 13 Aug 2005 23:34:54 +0000 (20:34 -0300)]
[DCCP]: Just reflow the source code to fit in 80 columns

Andrew Morton should be happy now 8)

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PACKET_HISTORY]: Add dccphtx_rtt and rename the win_count fields
Arnaldo Carvalho de Melo [Sat, 13 Aug 2005 23:34:23 +0000 (20:34 -0300)]
[PACKET_HISTORY]: Add dccphtx_rtt and rename the win_count fields

As requested by Ian.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: Ian McDonald <iam4@cs.waikato.ac.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Remove tasklist_lock abuse in ipt{,6}owner
Christoph Hellwig [Mon, 15 Aug 2005 00:33:59 +0000 (17:33 -0700)]
[NETFILTER]: Remove tasklist_lock abuse in ipt{,6}owner

Rip out cmd/sid/pid matching since its unfixable broken and stands in the
way of locking changes to tasklist_lock.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Make NETMAP target usable in OUTPUT
Gary Wayne Smith [Mon, 15 Aug 2005 00:33:24 +0000 (17:33 -0700)]
[NETFILTER]: Make NETMAP target usable in OUTPUT

Signed-off-by: Gary Wayne Smith <gary.w.smith@primeexalia.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Don't exclude local packets from MASQUERADING
Patrick McHardy [Mon, 15 Aug 2005 00:32:50 +0000 (17:32 -0700)]
[NETFILTER]: Don't exclude local packets from MASQUERADING

Increases consistency in source-address selection.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Remove two unused files
Domen Puncer [Mon, 15 Aug 2005 00:32:05 +0000 (17:32 -0700)]
[NETFILTER]: Remove two unused files

Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Store skb->timestamp as offset to a base timestamp
Patrick McHardy [Mon, 15 Aug 2005 00:24:31 +0000 (17:24 -0700)]
[NET]: Store skb->timestamp as offset to a base timestamp

Reduces skb size by 8 bytes on 64-bit.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Nicer names for ipt_connbytes constants
Patrick McHardy [Sat, 13 Aug 2005 20:58:21 +0000 (13:58 -0700)]
[NETFILTER]: Nicer names for ipt_connbytes constants

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Fix div64_64 in ipt_connbytes
Patrick McHardy [Sat, 13 Aug 2005 20:57:58 +0000 (13:57 -0700)]
[NETFILTER]: Fix div64_64 in ipt_connbytes

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Add new iptables "connbytes" match
Harald Welte [Sat, 13 Aug 2005 20:56:26 +0000 (13:56 -0700)]
[NETFILTER]: Add new iptables "connbytes" match

This patch ads a new "connbytes" match that utilizes the CONFIG_NF_CT_ACCT
per-connection byte and packet counters.  Using it you can do things like
packet classification on average packet size within a connection.

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: introduce and use aligned_u64 data type
Harald Welte [Sat, 13 Aug 2005 20:55:44 +0000 (13:55 -0700)]
[NETFILTER]: introduce and use aligned_u64 data type

As proposed by Andi Kleen, this is required esp. for x86_64 architecture,
where 64bit code needs 8byte aligned 64bit data types, but 32bit userspace
apps will only align to 4bytes.

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[INET_DIAG]: Move the tcp_diag interface to the proper place
Arnaldo Carvalho de Melo [Fri, 12 Aug 2005 15:59:17 +0000 (12:59 -0300)]
[INET_DIAG]: Move the tcp_diag interface to the proper place

With this the previous setup is back, i.e. tcp_diag can be built as a module,
as dccp_diag and both share the infrastructure available in inet_diag.

If one selects CONFIG_INET_DIAG as module CONFIG_INET_TCP_DIAG will also be
built as a module, as will CONFIG_INET_DCCP_DIAG, if CONFIG_IP_DCCP was
selected static or as a module, if CONFIG_INET_DIAG is y, being statically
linked CONFIG_INET_TCP_DIAG will follow suit and CONFIG_INET_DCCP_DIAG will be
built in the same manner as CONFIG_IP_DCCP.

Now to aim at UDP, converting it to use inet_hashinfo, so that we can use
iproute2 for UDP sockets as well.

Ah, just to show an example of this new infrastructure working for DCCP :-)

[root@qemu ~]# ./ss -dane
State      Recv-Q Send-Q Local Address:Port  Peer Address:Port
LISTEN     0      0                  *:5001             *:*     ino:942 sk:cfd503a0
ESTAB      0      0          127.0.0.1:5001     127.0.0.1:32770 ino:943 sk:cfd50a60
ESTAB      0      0          127.0.0.1:32770    127.0.0.1:5001  ino:947 sk:cfd50700
TIME-WAIT  0      0          127.0.0.1:32769    127.0.0.1:5001  timer:(timewait,3.430ms,0) ino:0 sk:cf209620

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[INET_DIAG]: Rename tcp_diag.[ch] to inet_diag.[ch]
Arnaldo Carvalho de Melo [Fri, 12 Aug 2005 15:56:38 +0000 (12:56 -0300)]
[INET_DIAG]: Rename tcp_diag.[ch] to inet_diag.[ch]

Next changeset will introduce net/ipv4/tcp_diag.c, moving the code that was put
transitioanlly in inet_diag.c.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TCPDIAG]: Just rename everything to inet_diag
Arnaldo Carvalho de Melo [Fri, 12 Aug 2005 15:51:49 +0000 (12:51 -0300)]
[TCPDIAG]: Just rename everything to inet_diag

Next changeset will rename tcp_diag.[ch] to inet_diag.[ch].

I'm taking this longer route so as to easy review, making clear the changes
made all along the way.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TCPDIAG]: Introduce inet_diag_{register,unregister}
Arnaldo Carvalho de Melo [Fri, 12 Aug 2005 12:27:49 +0000 (09:27 -0300)]
[TCPDIAG]: Introduce inet_diag_{register,unregister}

Next changeset will rename tcp_diag to inet_diag and move the tcp_diag code out
of it and into a new tcp_diag.c, similar to the net/dccp/diag.c introduced in
this changeset, completing the transition to a generic inet_diag
infrastructure.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[INET6_HASHTABLES]: Move inet6_lookup functions to net/ipv6/inet6_hashtables.c
Arnaldo Carvalho de Melo [Fri, 12 Aug 2005 12:26:18 +0000 (09:26 -0300)]
[INET6_HASHTABLES]: Move inet6_lookup functions to net/ipv6/inet6_hashtables.c

Doing this we allow tcp_diag to support IPV6 even if tcp_diag is compiled
statically and IPV6 is compiled as a module, removing the previous restriction
while not building any IPV6 code if it is not selected.

Now to work on the tcpdiag_register infrastructure and then to rename the whole
thing to inetdiag, reflecting its by then completely generic nature.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: Generalise the tcp_v6_lookup routines
Arnaldo Carvalho de Melo [Fri, 12 Aug 2005 12:19:38 +0000 (09:19 -0300)]
[IPV6]: Generalise the tcp_v6_lookup routines

In the same way as was done with the v4 counterparts, this will be moved
to inet6_hashtables.c.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Fix gcc-3.4.x warning about iplicit operator precedence
Harald Welte [Fri, 12 Aug 2005 18:36:44 +0000 (11:36 -0700)]
[NETFILTER]: Fix gcc-3.4.x warning about iplicit operator precedence

Fix gcc-3.4.x warning about iplicit operator precedence in NF_QUEUE_NR()

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Deinline netif_carrier_{on,off}().
Denis Vlasenko [Thu, 11 Aug 2005 22:32:53 +0000 (15:32 -0700)]
[NET]: Deinline netif_carrier_{on,off}().

# grep -r 'netif_carrier_o[nf]' linux-2.6.12 | wc -l
246

# size vmlinux.org vmlinux.carrier
text    data     bss     dec     hex filename
4339634 1054414  259296 5653344  564360 vmlinux.org
4337710 1054414  259296 5651420  563bdc vmlinux.carrier

And this ain't an allyesconfig kernel!

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Fix NF_QUEUE_NR() macro
Harald Welte [Thu, 11 Aug 2005 22:31:15 +0000 (15:31 -0700)]
[NETFILTER]: Fix NF_QUEUE_NR() macro

I obviously wanted to use bitwise-or, not logical or.

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Fix compilation when no PROC_FS enabled
Harald Welte [Thu, 11 Aug 2005 22:30:45 +0000 (15:30 -0700)]
[NETFILTER]: Fix compilation when no PROC_FS enabled

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TCPDIAG]: Introduce CONFIG_IP_TCPDIAG_DCCP
Arnaldo Carvalho de Melo [Thu, 11 Aug 2005 21:37:16 +0000 (14:37 -0700)]
[TCPDIAG]: Introduce CONFIG_IP_TCPDIAG_DCCP

Similar to CONFIG_IP_TCPDIAG_IPV6

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[BNX2]: Possible sparse fixes, take two
Peter Hagervall [Wed, 10 Aug 2005 21:18:16 +0000 (14:18 -0700)]
[BNX2]: Possible sparse fixes, take two

This patch contains the following possible cleanups/fixes:

- use C99 struct initializers
- make a few arrays and structs static
- remove a few uses of literal 0 as NULL pointer
- use convenience function instead of cast+dereference in bnx2_ioctl()
- remove superfluous casts to u8 * in calls to readl/writel

Signed-off-by: Peter Hagervall <hager@cs.umu.se>
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Make use of ->private_data in sockfd_lookup
Benjamin LaHaise [Wed, 10 Aug 2005 21:16:04 +0000 (14:16 -0700)]
[NET]: Make use of ->private_data in sockfd_lookup

Please consider the patch below which makes use of file->private_data to
store the pointer to the socket, which avoids touching several unused
cachelines in the dentry and inode in sockfd_lookup.

Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[CCID3]: Ditch USEC_IN_SEC as time.h has USEC_PER_SEC
Arnaldo Carvalho de Melo [Wed, 10 Aug 2005 16:29:27 +0000 (13:29 -0300)]
[CCID3]: Ditch USEC_IN_SEC as time.h has USEC_PER_SEC

That is equivalent, no need to have a private one.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
19 years ago[CCID3]: Separate most of the packet history code
Arnaldo Carvalho de Melo [Wed, 10 Aug 2005 15:59:38 +0000 (12:59 -0300)]
[CCID3]: Separate most of the packet history code

This also changes the list_for_each_entry_safe_continue behaviour to match its
kerneldoc comment, that is, to start after the pos passed.

Also adds several helper functions from previously open coded fragments, making
the code more clear.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
19 years ago[TCPDIAG]: Implement cheapest way of supporting DCCPDIAG_GETSOCK
Arnaldo Carvalho de Melo [Wed, 10 Aug 2005 08:54:28 +0000 (05:54 -0300)]
[TCPDIAG]: Implement cheapest way of supporting DCCPDIAG_GETSOCK

With ugly ifdefs, etc, but this actually:

1. keeps the existing ABI, i.e. no need to recompile the iproute2
   utilities if not interested in DCCP.

2. Provides all the tcp_diag functionality in DCCP, with just a
   small patch that makes iproute2 support DCCP.

Of course I'll get this cleaned-up in time, but for now I think its
OK to be this way to quickly get this functionality.

iproute2-ss050808 patch at:

http://vger.kernel.org/~acme/iproute2-ss050808.dccp.patch

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ICSK]: Move TCP congestion avoidance members to icsk
Arnaldo Carvalho de Melo [Wed, 10 Aug 2005 07:03:31 +0000 (04:03 -0300)]
[ICSK]: Move TCP congestion avoidance members to icsk

This changeset basically moves tcp_sk()->{ca_ops,ca_state,etc} to inet_csk(),
minimal renaming/moving done in this changeset to ease review.

Most of it is just changes of struct tcp_sock * to struct sock * parameters.

With this we move to a state closer to two interesting goals:

1. Generalisation of net/ipv4/tcp_diag.c, becoming inet_diag.c, being used
   for any INET transport protocol that has struct inet_hashinfo and are
   derived from struct inet_connection_sock. Keeps the userspace API, that will
   just not display DCCP sockets, while newer versions of tools can support
   DCCP.

2. INET generic transport pluggable Congestion Avoidance infrastructure, using
   the current TCP CA infrastructure with DCCP.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Make NETDEBUG pure printk wrappers
Patrick McHardy [Wed, 10 Aug 2005 03:50:53 +0000 (20:50 -0700)]
[NET]: Make NETDEBUG pure printk wrappers

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Finish the TIMEWAIT minisock support
Arnaldo Carvalho de Melo [Wed, 10 Aug 2005 03:45:21 +0000 (20:45 -0700)]
[DCCP]: Finish the TIMEWAIT minisock support

Using most of the infrastructure TCP uses, with a dccp_death_row,
etc. As per my current interpretation of the draft what we have with
this changeset seems to be all we need (or very close to it 8)).

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TIMEWAIT]: Move inet_timewait_death_row routines to net/ipv4/inet_timewait_sock.c
Arnaldo Carvalho de Melo [Wed, 10 Aug 2005 03:45:03 +0000 (20:45 -0700)]
[TIMEWAIT]: Move inet_timewait_death_row routines to net/ipv4/inet_timewait_sock.c

Also export the ones that will be used in the next changeset, when
DCCP uses this infrastructure.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TIMEWAIT]: Introduce inet_timewait_death_row
Arnaldo Carvalho de Melo [Wed, 10 Aug 2005 03:44:40 +0000 (20:44 -0700)]
[TIMEWAIT]: Introduce inet_timewait_death_row

That groups all of the tables and variables associated to the TCP timewait
schedulling/recycling/killing code, that now can be isolated from the TCP
specific code and used by other transport protocols, such as DCCP.

Next changeset will move this code to net/ipv4/inet_timewait_sock.c

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Initialize icsk_rto in dccp_v4_init_sock
Arnaldo Carvalho de Melo [Wed, 10 Aug 2005 03:31:11 +0000 (20:31 -0700)]
[DCCP]: Initialize icsk_rto in dccp_v4_init_sock

Fixes nasty bug related to the retransmit timer (yeah, DCCP does
retransmits) firing too early.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>