diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-23 14:47:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-23 14:47:02 -0400 |
commit | 5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0 (patch) | |
tree | 7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29 /net/decnet | |
parent | 02f36038c568111ad4fc433f6fa760ff5e38fab4 (diff) | |
parent | ec37a48d1d16c30b655ac5280209edf52a6775d4 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)
bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.
vlan: Calling vlan_hwaccel_do_receive() is always valid.
tproxy: use the interface primary IP address as a default value for --on-ip
tproxy: added IPv6 support to the socket match
cxgb3: function namespace cleanup
tproxy: added IPv6 support to the TPROXY target
tproxy: added IPv6 socket lookup function to nf_tproxy_core
be2net: Changes to use only priority codes allowed by f/w
tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled
tproxy: added tproxy sockopt interface in the IPV6 layer
tproxy: added udp6_lib_lookup function
tproxy: added const specifiers to udp lookup functions
tproxy: split off ipv6 defragmentation to a separate module
l2tp: small cleanup
nf_nat: restrict ICMP translation for embedded header
can: mcp251x: fix generation of error frames
can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set
can-raw: add msg_flags to distinguish local traffic
9p: client code cleanup
rds: make local functions/variables static
...
Fix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and
drivers/net/wireless/ath/ath9k/debug.c as per David
Diffstat (limited to 'net/decnet')
-rw-r--r-- | net/decnet/dn_neigh.c | 13 | ||||
-rw-r--r-- | net/decnet/dn_nsp_out.c | 8 | ||||
-rw-r--r-- | net/decnet/dn_route.c | 3 |
3 files changed, 13 insertions, 11 deletions
diff --git a/net/decnet/dn_neigh.c b/net/decnet/dn_neigh.c index 0363bb95cc7d..a085dbcf5c7f 100644 --- a/net/decnet/dn_neigh.c +++ b/net/decnet/dn_neigh.c | |||
@@ -48,7 +48,6 @@ | |||
48 | #include <net/dn_neigh.h> | 48 | #include <net/dn_neigh.h> |
49 | #include <net/dn_route.h> | 49 | #include <net/dn_route.h> |
50 | 50 | ||
51 | static u32 dn_neigh_hash(const void *pkey, const struct net_device *dev); | ||
52 | static int dn_neigh_construct(struct neighbour *); | 51 | static int dn_neigh_construct(struct neighbour *); |
53 | static void dn_long_error_report(struct neighbour *, struct sk_buff *); | 52 | static void dn_long_error_report(struct neighbour *, struct sk_buff *); |
54 | static void dn_short_error_report(struct neighbour *, struct sk_buff *); | 53 | static void dn_short_error_report(struct neighbour *, struct sk_buff *); |
@@ -93,6 +92,13 @@ static const struct neigh_ops dn_phase3_ops = { | |||
93 | .queue_xmit = dev_queue_xmit | 92 | .queue_xmit = dev_queue_xmit |
94 | }; | 93 | }; |
95 | 94 | ||
95 | static u32 dn_neigh_hash(const void *pkey, | ||
96 | const struct net_device *dev, | ||
97 | __u32 hash_rnd) | ||
98 | { | ||
99 | return jhash_2words(*(__u16 *)pkey, 0, hash_rnd); | ||
100 | } | ||
101 | |||
96 | struct neigh_table dn_neigh_table = { | 102 | struct neigh_table dn_neigh_table = { |
97 | .family = PF_DECnet, | 103 | .family = PF_DECnet, |
98 | .entry_size = sizeof(struct dn_neigh), | 104 | .entry_size = sizeof(struct dn_neigh), |
@@ -122,11 +128,6 @@ struct neigh_table dn_neigh_table = { | |||
122 | .gc_thresh3 = 1024, | 128 | .gc_thresh3 = 1024, |
123 | }; | 129 | }; |
124 | 130 | ||
125 | static u32 dn_neigh_hash(const void *pkey, const struct net_device *dev) | ||
126 | { | ||
127 | return jhash_2words(*(__u16 *)pkey, 0, dn_neigh_table.hash_rnd); | ||
128 | } | ||
129 | |||
130 | static int dn_neigh_construct(struct neighbour *neigh) | 131 | static int dn_neigh_construct(struct neighbour *neigh) |
131 | { | 132 | { |
132 | struct net_device *dev = neigh->dev; | 133 | struct net_device *dev = neigh->dev; |
diff --git a/net/decnet/dn_nsp_out.c b/net/decnet/dn_nsp_out.c index baeb1eaf011b..2ef115277bea 100644 --- a/net/decnet/dn_nsp_out.c +++ b/net/decnet/dn_nsp_out.c | |||
@@ -693,22 +693,22 @@ void dn_nsp_send_conninit(struct sock *sk, unsigned char msgflg) | |||
693 | aux = scp->accessdata.acc_userl; | 693 | aux = scp->accessdata.acc_userl; |
694 | *skb_put(skb, 1) = aux; | 694 | *skb_put(skb, 1) = aux; |
695 | if (aux > 0) | 695 | if (aux > 0) |
696 | memcpy(skb_put(skb, aux), scp->accessdata.acc_user, aux); | 696 | memcpy(skb_put(skb, aux), scp->accessdata.acc_user, aux); |
697 | 697 | ||
698 | aux = scp->accessdata.acc_passl; | 698 | aux = scp->accessdata.acc_passl; |
699 | *skb_put(skb, 1) = aux; | 699 | *skb_put(skb, 1) = aux; |
700 | if (aux > 0) | 700 | if (aux > 0) |
701 | memcpy(skb_put(skb, aux), scp->accessdata.acc_pass, aux); | 701 | memcpy(skb_put(skb, aux), scp->accessdata.acc_pass, aux); |
702 | 702 | ||
703 | aux = scp->accessdata.acc_accl; | 703 | aux = scp->accessdata.acc_accl; |
704 | *skb_put(skb, 1) = aux; | 704 | *skb_put(skb, 1) = aux; |
705 | if (aux > 0) | 705 | if (aux > 0) |
706 | memcpy(skb_put(skb, aux), scp->accessdata.acc_acc, aux); | 706 | memcpy(skb_put(skb, aux), scp->accessdata.acc_acc, aux); |
707 | 707 | ||
708 | aux = (__u8)le16_to_cpu(scp->conndata_out.opt_optl); | 708 | aux = (__u8)le16_to_cpu(scp->conndata_out.opt_optl); |
709 | *skb_put(skb, 1) = aux; | 709 | *skb_put(skb, 1) = aux; |
710 | if (aux > 0) | 710 | if (aux > 0) |
711 | memcpy(skb_put(skb,aux), scp->conndata_out.opt_data, aux); | 711 | memcpy(skb_put(skb, aux), scp->conndata_out.opt_data, aux); |
712 | 712 | ||
713 | scp->persist = dn_nsp_persist(sk); | 713 | scp->persist = dn_nsp_persist(sk); |
714 | scp->persist_fxn = dn_nsp_retrans_conninit; | 714 | scp->persist_fxn = dn_nsp_retrans_conninit; |
diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c index 6585ea6d1182..df0f3e54ff8a 100644 --- a/net/decnet/dn_route.c +++ b/net/decnet/dn_route.c | |||
@@ -132,7 +132,6 @@ static struct dst_ops dn_dst_ops = { | |||
132 | .negative_advice = dn_dst_negative_advice, | 132 | .negative_advice = dn_dst_negative_advice, |
133 | .link_failure = dn_dst_link_failure, | 133 | .link_failure = dn_dst_link_failure, |
134 | .update_pmtu = dn_dst_update_pmtu, | 134 | .update_pmtu = dn_dst_update_pmtu, |
135 | .entries = ATOMIC_INIT(0), | ||
136 | }; | 135 | }; |
137 | 136 | ||
138 | static __inline__ unsigned dn_hash(__le16 src, __le16 dst) | 137 | static __inline__ unsigned dn_hash(__le16 src, __le16 dst) |
@@ -1758,6 +1757,7 @@ void __init dn_route_init(void) | |||
1758 | dn_dst_ops.kmem_cachep = | 1757 | dn_dst_ops.kmem_cachep = |
1759 | kmem_cache_create("dn_dst_cache", sizeof(struct dn_route), 0, | 1758 | kmem_cache_create("dn_dst_cache", sizeof(struct dn_route), 0, |
1760 | SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL); | 1759 | SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL); |
1760 | dst_entries_init(&dn_dst_ops); | ||
1761 | setup_timer(&dn_route_timer, dn_dst_check_expire, 0); | 1761 | setup_timer(&dn_route_timer, dn_dst_check_expire, 0); |
1762 | dn_route_timer.expires = jiffies + decnet_dst_gc_interval * HZ; | 1762 | dn_route_timer.expires = jiffies + decnet_dst_gc_interval * HZ; |
1763 | add_timer(&dn_route_timer); | 1763 | add_timer(&dn_route_timer); |
@@ -1816,5 +1816,6 @@ void __exit dn_route_cleanup(void) | |||
1816 | dn_run_flush(0); | 1816 | dn_run_flush(0); |
1817 | 1817 | ||
1818 | proc_net_remove(&init_net, "decnet_cache"); | 1818 | proc_net_remove(&init_net, "decnet_cache"); |
1819 | dst_entries_destroy(&dn_dst_ops); | ||
1819 | } | 1820 | } |
1820 | 1821 | ||