Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Browse files Browse the repository at this point in the history
  • Loading branch information
Linus Torvalds committed Jan 5, 2006
2 parents c6c88bb + 74cb879 commit d347da0
Show file tree
Hide file tree
Showing 263 changed files with 6,860 additions and 2,857 deletions.
23 changes: 23 additions & 0 deletions Documentation/networking/ip-sysctl.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,29 @@ ipfrag_secret_interval - INTEGER
for the hash secret) for IP fragments.
Default: 600

ipfrag_max_dist - INTEGER
ipfrag_max_dist is a non-negative integer value which defines the
maximum "disorder" which is allowed among fragments which share a
common IP source address. Note that reordering of packets is
not unusual, but if a large number of fragments arrive from a source
IP address while a particular fragment queue remains incomplete, it
probably indicates that one or more fragments belonging to that queue
have been lost. When ipfrag_max_dist is positive, an additional check
is done on fragments before they are added to a reassembly queue - if
ipfrag_max_dist (or more) fragments have arrived from a particular IP
address between additions to any IP fragment queue using that source
address, it's presumed that one or more fragments in the queue are
lost. The existing fragment queue will be dropped, and a new one
started. An ipfrag_max_dist value of zero disables this check.

Using a very small value, e.g. 1 or 2, for ipfrag_max_dist can
result in unnecessarily dropping fragment queues when normal
reordering of packets occurs, which could lead to poor application
performance. Using a very large value, e.g. 50000, increases the
likelihood of incorrectly reassembling IP fragments that originate
from different IP datagrams, which could result in data corruption.
Default: 64

INET peer storage:

inet_peer_threshold - INTEGER
Expand Down
10 changes: 4 additions & 6 deletions drivers/char/random.c
Original file line number Diff line number Diff line change
Expand Up @@ -1554,10 +1554,8 @@ __u32 secure_tcp_sequence_number(__u32 saddr, __u32 daddr,

EXPORT_SYMBOL(secure_tcp_sequence_number);



/* Generate secure starting point for ephemeral TCP port search */
u32 secure_tcp_port_ephemeral(__u32 saddr, __u32 daddr, __u16 dport)
/* Generate secure starting point for ephemeral IPV4 transport port search */
u32 secure_ipv4_port_ephemeral(__u32 saddr, __u32 daddr, __u16 dport)
{
struct keydata *keyptr = get_keyptr();
u32 hash[4];
Expand All @@ -1575,7 +1573,7 @@ u32 secure_tcp_port_ephemeral(__u32 saddr, __u32 daddr, __u16 dport)
}

#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
u32 secure_tcpv6_port_ephemeral(const __u32 *saddr, const __u32 *daddr, __u16 dport)
u32 secure_ipv6_port_ephemeral(const __u32 *saddr, const __u32 *daddr, __u16 dport)
{
struct keydata *keyptr = get_keyptr();
u32 hash[12];
Expand All @@ -1586,7 +1584,7 @@ u32 secure_tcpv6_port_ephemeral(const __u32 *saddr, const __u32 *daddr, __u16 dp

return twothirdsMD4Transform(daddr, hash);
}
EXPORT_SYMBOL(secure_tcpv6_port_ephemeral);
EXPORT_SYMBOL(secure_ipv6_port_ephemeral);
#endif

#if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE)
Expand Down
2 changes: 2 additions & 0 deletions drivers/infiniband/ulp/ipoib/ipoib_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@
#include <linux/ip.h>
#include <linux/in.h>

#include <net/dst.h>

MODULE_AUTHOR("Roland Dreier");
MODULE_DESCRIPTION("IP-over-InfiniBand net driver");
MODULE_LICENSE("Dual BSD/GPL");
Expand Down
2 changes: 2 additions & 0 deletions drivers/infiniband/ulp/ipoib/ipoib_multicast.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@
#include <linux/delay.h>
#include <linux/completion.h>

#include <net/dst.h>

#include "ipoib.h"

#ifdef CONFIG_INFINIBAND_IPOIB_DEBUG
Expand Down
1 change: 1 addition & 0 deletions drivers/net/ns83820.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@
#include <linux/ethtool.h>
#include <linux/timer.h>
#include <linux/if_vlan.h>
#include <linux/rtnetlink.h>

#include <asm/io.h>
#include <asm/uaccess.h>
Expand Down
31 changes: 6 additions & 25 deletions drivers/net/pppoe.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ static int pppoe_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
static int pppoe_xmit(struct ppp_channel *chan, struct sk_buff *skb);
static int __pppoe_xmit(struct sock *sk, struct sk_buff *skb);

static struct proto_ops pppoe_ops;
static const struct proto_ops pppoe_ops;
static DEFINE_RWLOCK(pppoe_hash_lock);

static struct ppp_channel_ops pppoe_chan_ops;
Expand Down Expand Up @@ -383,8 +383,6 @@ static int pppoe_rcv(struct sk_buff *skb,
{
struct pppoe_hdr *ph;
struct pppox_sock *po;
struct sock *sk;
int ret;

if (!pskb_may_pull(skb, sizeof(struct pppoe_hdr)))
goto drop;
Expand All @@ -395,24 +393,8 @@ static int pppoe_rcv(struct sk_buff *skb,
ph = (struct pppoe_hdr *) skb->nh.raw;

po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source);
if (!po)
goto drop;

sk = sk_pppox(po);
bh_lock_sock(sk);

/* Socket state is unknown, must put skb into backlog. */
if (sock_owned_by_user(sk) != 0) {
sk_add_backlog(sk, skb);
ret = NET_RX_SUCCESS;
} else {
ret = pppoe_rcv_core(sk, skb);
}

bh_unlock_sock(sk);
sock_put(sk);

return ret;
if (po != NULL)
return sk_receive_skb(sk_pppox(po), skb);
drop:
kfree_skb(skb);
out:
Expand Down Expand Up @@ -1081,9 +1063,7 @@ static int __init pppoe_proc_init(void)
static inline int pppoe_proc_init(void) { return 0; }
#endif /* CONFIG_PROC_FS */

/* ->ioctl are set at pppox_create */

static struct proto_ops pppoe_ops = {
static const struct proto_ops pppoe_ops = {
.family = AF_PPPOX,
.owner = THIS_MODULE,
.release = pppoe_release,
Expand All @@ -1099,7 +1079,8 @@ static struct proto_ops pppoe_ops = {
.getsockopt = sock_no_getsockopt,
.sendmsg = pppoe_sendmsg,
.recvmsg = pppoe_recvmsg,
.mmap = sock_no_mmap
.mmap = sock_no_mmap,
.ioctl = pppox_ioctl,
};

static struct pppox_proto pppoe_proto = {
Expand Down
10 changes: 3 additions & 7 deletions drivers/net/pppox.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,7 @@ EXPORT_SYMBOL(register_pppox_proto);
EXPORT_SYMBOL(unregister_pppox_proto);
EXPORT_SYMBOL(pppox_unbind_sock);

static int pppox_ioctl(struct socket* sock, unsigned int cmd,
unsigned long arg)
int pppox_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
{
struct sock *sk = sock->sk;
struct pppox_sock *po = pppox_sk(sk);
Expand Down Expand Up @@ -105,6 +104,7 @@ static int pppox_ioctl(struct socket* sock, unsigned int cmd,
return rc;
}

EXPORT_SYMBOL(pppox_ioctl);

static int pppox_create(struct socket *sock, int protocol)
{
Expand All @@ -119,11 +119,7 @@ static int pppox_create(struct socket *sock, int protocol)
goto out;

rc = pppox_protos[protocol]->create(sock);
if (!rc) {
/* We get to set the ioctl handler. */
/* For everything else, pppox is just a shell. */
sock->ops->ioctl = pppox_ioctl;
}

module_put(pppox_protos[protocol]->owner);
out:
return rc;
Expand Down
1 change: 1 addition & 0 deletions drivers/net/sk98lin/skge.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@

#include "h/skversion.h"

#include <linux/in.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
Expand Down
1 change: 1 addition & 0 deletions drivers/net/skge.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
*/

#include <linux/config.h>
#include <linux/in.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
Expand Down
3 changes: 2 additions & 1 deletion drivers/net/tg3.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <linux/compiler.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/in.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/pci.h>
Expand Down Expand Up @@ -3650,7 +3651,7 @@ static int tg3_start_xmit(struct sk_buff *skb, struct net_device *dev)
TXD_FLAG_CPU_POST_DMA);

skb->nh.iph->check = 0;
skb->nh.iph->tot_len = ntohs(mss + ip_tcp_len + tcp_opt_len);
skb->nh.iph->tot_len = htons(mss + ip_tcp_len + tcp_opt_len);
if (tp->tg3_flags2 & TG3_FLG2_HW_TSO) {
skb->h.th->check = 0;
base_flags &= ~TXD_FLAG_TCPUDP_CSUM;
Expand Down
15 changes: 5 additions & 10 deletions drivers/net/wireless/ipw2200.c
Original file line number Diff line number Diff line change
Expand Up @@ -7456,8 +7456,7 @@ static void ipw_handle_data_packet(struct ipw_priv *priv,
/* HW decrypt will not clear the WEP bit, MIC, PN, etc. */
hdr = (struct ieee80211_hdr_4addr *)rxb->skb->data;
if (priv->ieee->iw_mode != IW_MODE_MONITOR &&
((is_multicast_ether_addr(hdr->addr1) ||
is_broadcast_ether_addr(hdr->addr1)) ?
(is_multicast_ether_addr(hdr->addr1) ?
!priv->ieee->host_mc_decrypt : !priv->ieee->host_decrypt))
ipw_rebuild_decrypted_skb(priv, rxb->skb);

Expand Down Expand Up @@ -7648,8 +7647,7 @@ static inline int is_network_packet(struct ipw_priv *priv,
return 0;

/* {broad,multi}cast packets to our BSSID go through */
if (is_multicast_ether_addr(header->addr1) ||
is_broadcast_ether_addr(header->addr1))
if (is_multicast_ether_addr(header->addr1))
return !memcmp(header->addr3, priv->bssid, ETH_ALEN);

/* packets to our adapter go through */
Expand All @@ -7662,8 +7660,7 @@ static inline int is_network_packet(struct ipw_priv *priv,
return 0;

/* {broad,multi}cast packets to our BSS go through */
if (is_multicast_ether_addr(header->addr1) ||
is_broadcast_ether_addr(header->addr1))
if (is_multicast_ether_addr(header->addr1))
return !memcmp(header->addr2, priv->bssid, ETH_ALEN);

/* packets to our adapter go through */
Expand Down Expand Up @@ -9657,8 +9654,7 @@ static inline int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb,
switch (priv->ieee->iw_mode) {
case IW_MODE_ADHOC:
hdr_len = IEEE80211_3ADDR_LEN;
unicast = !(is_multicast_ether_addr(hdr->addr1) ||
is_broadcast_ether_addr(hdr->addr1));
unicast = !is_multicast_ether_addr(hdr->addr1);
id = ipw_find_station(priv, hdr->addr1);
if (id == IPW_INVALID_STATION) {
id = ipw_add_station(priv, hdr->addr1);
Expand All @@ -9673,8 +9669,7 @@ static inline int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb,

case IW_MODE_INFRA:
default:
unicast = !(is_multicast_ether_addr(hdr->addr3) ||
is_broadcast_ether_addr(hdr->addr3));
unicast = !is_multicast_ether_addr(hdr->addr3);
hdr_len = IEEE80211_3ADDR_LEN;
id = 0;
break;
Expand Down
1 change: 1 addition & 0 deletions fs/9p/trans_sock.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
*/

#include <linux/config.h>
#include <linux/in.h>
#include <linux/module.h>
#include <linux/net.h>
#include <linux/ipv6.h>
Expand Down
3 changes: 3 additions & 0 deletions fs/nfs/callback.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
#include <linux/sunrpc/svc.h>
#include <linux/sunrpc/svcsock.h>
#include <linux/nfs_fs.h>

#include <net/inet_sock.h>

#include "nfs4_fs.h"
#include "callback.h"

Expand Down
1 change: 1 addition & 0 deletions include/asm-alpha/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,7 @@ static inline int fls(int word)
#else
#define fls generic_fls
#endif
#define fls64 generic_fls64

/* Compute powers of two for the given integer. */
static inline long floor_log2(unsigned long word)
Expand Down
2 changes: 2 additions & 0 deletions include/asm-arm/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,7 @@ static inline unsigned long __ffs(unsigned long word)
*/

#define fls(x) generic_fls(x)
#define fls64(x) generic_fls64(x)

/*
* ffs: find first bit set. This is defined the same way as
Expand All @@ -351,6 +352,7 @@ static inline unsigned long __ffs(unsigned long word)
#define fls(x) \
( __builtin_constant_p(x) ? generic_fls(x) : \
({ int __r; asm("clz\t%0, %1" : "=r"(__r) : "r"(x) : "cc"); 32-__r; }) )
#define fls64(x) generic_fls64(x)
#define ffs(x) ({ unsigned long __t = (x); fls(__t & -__t); })
#define __ffs(x) (ffs(x) - 1)
#define ffz(x) __ffs( ~(x) )
Expand Down
1 change: 1 addition & 0 deletions include/asm-arm26/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,7 @@ static inline unsigned long __ffs(unsigned long word)
*/

#define fls(x) generic_fls(x)
#define fls64(x) generic_fls64(x)

/*
* ffs: find first bit set. This is defined the same way as
Expand Down
1 change: 1 addition & 0 deletions include/asm-cris/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ static inline int test_bit(int nr, const volatile unsigned long *addr)
*/

#define fls(x) generic_fls(x)
#define fls64(x) generic_fls64(x)

/*
* hweightN - returns the hamming weight of a N-bit word
Expand Down
1 change: 1 addition & 0 deletions include/asm-frv/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ static inline int find_next_zero_bit(const void *addr, int size, int offset)
\
bit ? 33 - bit : bit; \
})
#define fls64(x) generic_fls64(x)

/*
* Every architecture must define this function. It's the fastest
Expand Down
1 change: 1 addition & 0 deletions include/asm-generic/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ extern __inline__ int test_bit(int nr, const unsigned long * addr)
*/

#define fls(x) generic_fls(x)
#define fls64(x) generic_fls64(x)

#ifdef __KERNEL__

Expand Down
1 change: 1 addition & 0 deletions include/asm-h8300/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -406,5 +406,6 @@ static __inline__ unsigned long ext2_find_next_zero_bit(void *addr, unsigned lon
#endif /* __KERNEL__ */

#define fls(x) generic_fls(x)
#define fls64(x) generic_fls64(x)

#endif /* _H8300_BITOPS_H */
1 change: 1 addition & 0 deletions include/asm-i386/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,7 @@ static inline unsigned long ffz(unsigned long word)
*/

#define fls(x) generic_fls(x)
#define fls64(x) generic_fls64(x)

#ifdef __KERNEL__

Expand Down
1 change: 1 addition & 0 deletions include/asm-ia64/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,7 @@ fls (int t)
x |= x >> 16;
return ia64_popcnt(x);
}
#define fls64(x) generic_fls64(x)

/*
* ffs: find first bit set. This is defined the same way as the libc and compiler builtin
Expand Down
1 change: 1 addition & 0 deletions include/asm-m32r/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,7 @@ static __inline__ unsigned long __ffs(unsigned long word)
* fls: find last bit set.
*/
#define fls(x) generic_fls(x)
#define fls64(x) generic_fls64(x)

#ifdef __KERNEL__

Expand Down
1 change: 1 addition & 0 deletions include/asm-m68k/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,7 @@ static inline int fls(int x)

return 32 - cnt;
}
#define fls64(x) generic_fls64(x)

/*
* Every architecture must define this function. It's the fastest
Expand Down
1 change: 1 addition & 0 deletions include/asm-m68knommu/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -499,5 +499,6 @@ static __inline__ unsigned long ext2_find_next_zero_bit(void *addr, unsigned lon
* fls: find last bit set.
*/
#define fls(x) generic_fls(x)
#define fls64(x) generic_fls64(x)

#endif /* _M68KNOMMU_BITOPS_H */
2 changes: 1 addition & 1 deletion include/asm-mips/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -695,7 +695,7 @@ static inline unsigned long fls(unsigned long word)

return flz(~word) + 1;
}

#define fls64(x) generic_fls64(x)

/*
* find_next_zero_bit - find the first zero bit in a memory region
Expand Down
Loading

0 comments on commit d347da0

Please sign in to comment.