Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (66 commits) be2net: fix some cmds to use mccq instead of mbox atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA pkt_sched: Fix qstats.qlen updating in dump_stats ipv6: Log the affected address when DAD failure occurs wl12xx: Fix print_mac() conversion. af_iucv: fix race when queueing skbs on the backlog queue af_iucv: do not call iucv_sock_kill() twice af_iucv: handle non-accepted sockets after resuming from suspend af_iucv: fix race in __iucv_sock_wait() iucv: use correct output register in iucv_query_maxconn() iucv: fix iucv_buffer_cpumask check when calling IUCV functions iucv: suspend/resume error msg for left over pathes wl12xx: switch to %pM to print the mac address b44: the poll handler b44_poll must not enable IRQ unconditionally ipv6: Ignore route option with ROUTER_PREF_INVALID bonding: make ab_arp select active slaves as other modes cfg80211: fix SME connect rc80211_minstrel: fix contention window calculation ssb/sdio: fix printk format warnings p54usb: add Zcomax XG-705A usbid ...
This commit is contained in:
@@ -244,7 +244,7 @@ EXPORT_SYMBOL(build_ehash_secret);
|
||||
static inline int inet_netns_ok(struct net *net, int protocol)
|
||||
{
|
||||
int hash;
|
||||
struct net_protocol *ipprot;
|
||||
const struct net_protocol *ipprot;
|
||||
|
||||
if (net_eq(net, &init_net))
|
||||
return 1;
|
||||
@@ -1162,7 +1162,7 @@ EXPORT_SYMBOL(inet_sk_rebuild_header);
|
||||
static int inet_gso_send_check(struct sk_buff *skb)
|
||||
{
|
||||
struct iphdr *iph;
|
||||
struct net_protocol *ops;
|
||||
const struct net_protocol *ops;
|
||||
int proto;
|
||||
int ihl;
|
||||
int err = -EINVAL;
|
||||
@@ -1198,7 +1198,7 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb, int features)
|
||||
{
|
||||
struct sk_buff *segs = ERR_PTR(-EINVAL);
|
||||
struct iphdr *iph;
|
||||
struct net_protocol *ops;
|
||||
const struct net_protocol *ops;
|
||||
int proto;
|
||||
int ihl;
|
||||
int id;
|
||||
@@ -1265,7 +1265,7 @@ out:
|
||||
static struct sk_buff **inet_gro_receive(struct sk_buff **head,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
struct net_protocol *ops;
|
||||
const struct net_protocol *ops;
|
||||
struct sk_buff **pp = NULL;
|
||||
struct sk_buff *p;
|
||||
struct iphdr *iph;
|
||||
@@ -1342,7 +1342,7 @@ out:
|
||||
|
||||
static int inet_gro_complete(struct sk_buff *skb)
|
||||
{
|
||||
struct net_protocol *ops;
|
||||
const struct net_protocol *ops;
|
||||
struct iphdr *iph = ip_hdr(skb);
|
||||
int proto = iph->protocol & (MAX_INET_PROTOS - 1);
|
||||
int err = -ENOSYS;
|
||||
@@ -1427,13 +1427,13 @@ void snmp_mib_free(void *ptr[2])
|
||||
EXPORT_SYMBOL_GPL(snmp_mib_free);
|
||||
|
||||
#ifdef CONFIG_IP_MULTICAST
|
||||
static struct net_protocol igmp_protocol = {
|
||||
static const struct net_protocol igmp_protocol = {
|
||||
.handler = igmp_rcv,
|
||||
.netns_ok = 1,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct net_protocol tcp_protocol = {
|
||||
static const struct net_protocol tcp_protocol = {
|
||||
.handler = tcp_v4_rcv,
|
||||
.err_handler = tcp_v4_err,
|
||||
.gso_send_check = tcp_v4_gso_send_check,
|
||||
@@ -1444,7 +1444,7 @@ static struct net_protocol tcp_protocol = {
|
||||
.netns_ok = 1,
|
||||
};
|
||||
|
||||
static struct net_protocol udp_protocol = {
|
||||
static const struct net_protocol udp_protocol = {
|
||||
.handler = udp_rcv,
|
||||
.err_handler = udp_err,
|
||||
.gso_send_check = udp4_ufo_send_check,
|
||||
@@ -1453,7 +1453,7 @@ static struct net_protocol udp_protocol = {
|
||||
.netns_ok = 1,
|
||||
};
|
||||
|
||||
static struct net_protocol icmp_protocol = {
|
||||
static const struct net_protocol icmp_protocol = {
|
||||
.handler = icmp_rcv,
|
||||
.no_policy = 1,
|
||||
.netns_ok = 1,
|
||||
|
@@ -311,7 +311,7 @@ static const struct xfrm_type ah_type =
|
||||
.output = ah_output
|
||||
};
|
||||
|
||||
static struct net_protocol ah4_protocol = {
|
||||
static const struct net_protocol ah4_protocol = {
|
||||
.handler = xfrm4_rcv,
|
||||
.err_handler = ah4_err,
|
||||
.no_policy = 1,
|
||||
|
@@ -1087,6 +1087,12 @@ static int inetdev_event(struct notifier_block *this, unsigned long event,
|
||||
case NETDEV_DOWN:
|
||||
ip_mc_down(in_dev);
|
||||
break;
|
||||
case NETDEV_BONDING_OLDTYPE:
|
||||
ip_mc_unmap(in_dev);
|
||||
break;
|
||||
case NETDEV_BONDING_NEWTYPE:
|
||||
ip_mc_remap(in_dev);
|
||||
break;
|
||||
case NETDEV_CHANGEMTU:
|
||||
if (inetdev_valid_mtu(dev->mtu))
|
||||
break;
|
||||
|
@@ -615,7 +615,7 @@ static const struct xfrm_type esp_type =
|
||||
.output = esp_output
|
||||
};
|
||||
|
||||
static struct net_protocol esp4_protocol = {
|
||||
static const struct net_protocol esp4_protocol = {
|
||||
.handler = xfrm4_rcv,
|
||||
.err_handler = esp4_err,
|
||||
.no_policy = 1,
|
||||
|
@@ -655,7 +655,7 @@ static void icmp_unreach(struct sk_buff *skb)
|
||||
struct iphdr *iph;
|
||||
struct icmphdr *icmph;
|
||||
int hash, protocol;
|
||||
struct net_protocol *ipprot;
|
||||
const struct net_protocol *ipprot;
|
||||
u32 info = 0;
|
||||
struct net *net;
|
||||
|
||||
|
@@ -1298,6 +1298,28 @@ void ip_mc_dec_group(struct in_device *in_dev, __be32 addr)
|
||||
}
|
||||
}
|
||||
|
||||
/* Device changing type */
|
||||
|
||||
void ip_mc_unmap(struct in_device *in_dev)
|
||||
{
|
||||
struct ip_mc_list *i;
|
||||
|
||||
ASSERT_RTNL();
|
||||
|
||||
for (i = in_dev->mc_list; i; i = i->next)
|
||||
igmp_group_dropped(i);
|
||||
}
|
||||
|
||||
void ip_mc_remap(struct in_device *in_dev)
|
||||
{
|
||||
struct ip_mc_list *i;
|
||||
|
||||
ASSERT_RTNL();
|
||||
|
||||
for (i = in_dev->mc_list; i; i = i->next)
|
||||
igmp_group_added(i);
|
||||
}
|
||||
|
||||
/* Device going down */
|
||||
|
||||
void ip_mc_down(struct in_device *in_dev)
|
||||
|
@@ -1288,7 +1288,7 @@ static void ipgre_fb_tunnel_init(struct net_device *dev)
|
||||
}
|
||||
|
||||
|
||||
static struct net_protocol ipgre_protocol = {
|
||||
static const struct net_protocol ipgre_protocol = {
|
||||
.handler = ipgre_rcv,
|
||||
.err_handler = ipgre_err,
|
||||
.netns_ok = 1,
|
||||
|
@@ -202,7 +202,7 @@ static int ip_local_deliver_finish(struct sk_buff *skb)
|
||||
{
|
||||
int protocol = ip_hdr(skb)->protocol;
|
||||
int hash, raw;
|
||||
struct net_protocol *ipprot;
|
||||
const struct net_protocol *ipprot;
|
||||
|
||||
resubmit:
|
||||
raw = raw_local_deliver(skb, protocol);
|
||||
|
@@ -146,7 +146,7 @@ static const struct xfrm_type ipcomp_type = {
|
||||
.output = ipcomp_output
|
||||
};
|
||||
|
||||
static struct net_protocol ipcomp4_protocol = {
|
||||
static const struct net_protocol ipcomp4_protocol = {
|
||||
.handler = xfrm4_rcv,
|
||||
.err_handler = ipcomp4_err,
|
||||
.no_policy = 1,
|
||||
|
@@ -99,10 +99,6 @@ static int ipmr_cache_report(struct net *net,
|
||||
struct sk_buff *pkt, vifi_t vifi, int assert);
|
||||
static int ipmr_fill_mroute(struct sk_buff *skb, struct mfc_cache *c, struct rtmsg *rtm);
|
||||
|
||||
#ifdef CONFIG_IP_PIMSM_V2
|
||||
static struct net_protocol pim_protocol;
|
||||
#endif
|
||||
|
||||
static struct timer_list ipmr_expire_timer;
|
||||
|
||||
/* Service routines creating virtual interfaces: DVMRP tunnels and PIMREG */
|
||||
@@ -1945,7 +1941,7 @@ static const struct file_operations ipmr_mfc_fops = {
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IP_PIMSM_V2
|
||||
static struct net_protocol pim_protocol = {
|
||||
static const struct net_protocol pim_protocol = {
|
||||
.handler = pim_rcv,
|
||||
.netns_ok = 1,
|
||||
};
|
||||
|
@@ -28,14 +28,14 @@
|
||||
#include <linux/spinlock.h>
|
||||
#include <net/protocol.h>
|
||||
|
||||
struct net_protocol *inet_protos[MAX_INET_PROTOS] ____cacheline_aligned_in_smp;
|
||||
const struct net_protocol *inet_protos[MAX_INET_PROTOS] ____cacheline_aligned_in_smp;
|
||||
static DEFINE_SPINLOCK(inet_proto_lock);
|
||||
|
||||
/*
|
||||
* Add a protocol handler to the hash tables
|
||||
*/
|
||||
|
||||
int inet_add_protocol(struct net_protocol *prot, unsigned char protocol)
|
||||
int inet_add_protocol(const struct net_protocol *prot, unsigned char protocol)
|
||||
{
|
||||
int hash, ret;
|
||||
|
||||
@@ -57,7 +57,7 @@ int inet_add_protocol(struct net_protocol *prot, unsigned char protocol)
|
||||
* Remove a protocol from the hash tables.
|
||||
*/
|
||||
|
||||
int inet_del_protocol(struct net_protocol *prot, unsigned char protocol)
|
||||
int inet_del_protocol(const struct net_protocol *prot, unsigned char protocol)
|
||||
{
|
||||
int hash, ret;
|
||||
|
||||
|
@@ -2012,7 +2012,7 @@ int tcp_disconnect(struct sock *sk, int flags)
|
||||
tp->snd_cwnd = 2;
|
||||
icsk->icsk_probes_out = 0;
|
||||
tp->packets_out = 0;
|
||||
tp->snd_ssthresh = 0x7fffffff;
|
||||
tp->snd_ssthresh = TCP_INFINITE_SSTHRESH;
|
||||
tp->snd_cwnd_cnt = 0;
|
||||
tp->bytes_acked = 0;
|
||||
tcp_set_ca_state(sk, TCP_CA_Open);
|
||||
|
@@ -761,7 +761,7 @@ void tcp_update_metrics(struct sock *sk)
|
||||
set_dst_metric_rtt(dst, RTAX_RTTVAR, var);
|
||||
}
|
||||
|
||||
if (tp->snd_ssthresh >= 0xFFFF) {
|
||||
if (tcp_in_initial_slowstart(tp)) {
|
||||
/* Slow start still did not finish. */
|
||||
if (dst_metric(dst, RTAX_SSTHRESH) &&
|
||||
!dst_metric_locked(dst, RTAX_SSTHRESH) &&
|
||||
|
@@ -1808,7 +1808,7 @@ static int tcp_v4_init_sock(struct sock *sk)
|
||||
/* See draft-stevens-tcpca-spec-01 for discussion of the
|
||||
* initialization of these values.
|
||||
*/
|
||||
tp->snd_ssthresh = 0x7fffffff; /* Infinity */
|
||||
tp->snd_ssthresh = TCP_INFINITE_SSTHRESH;
|
||||
tp->snd_cwnd_clamp = ~0;
|
||||
tp->mss_cache = 536;
|
||||
|
||||
@@ -2284,7 +2284,7 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
|
||||
jiffies_to_clock_t(icsk->icsk_ack.ato),
|
||||
(icsk->icsk_ack.quick << 1) | icsk->icsk_ack.pingpong,
|
||||
tp->snd_cwnd,
|
||||
tp->snd_ssthresh >= 0xFFFF ? -1 : tp->snd_ssthresh,
|
||||
tcp_in_initial_slowstart(tp) ? -1 : tp->snd_ssthresh,
|
||||
len);
|
||||
}
|
||||
|
||||
|
@@ -363,7 +363,7 @@ void tcp_twsk_destructor(struct sock *sk)
|
||||
#ifdef CONFIG_TCP_MD5SIG
|
||||
struct tcp_timewait_sock *twsk = tcp_twsk(sk);
|
||||
if (twsk->tw_md5_keylen)
|
||||
tcp_put_md5sig_pool();
|
||||
tcp_free_md5sig_pool();
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -410,7 +410,7 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req,
|
||||
newtp->retrans_out = 0;
|
||||
newtp->sacked_out = 0;
|
||||
newtp->fackets_out = 0;
|
||||
newtp->snd_ssthresh = 0x7fffffff;
|
||||
newtp->snd_ssthresh = TCP_INFINITE_SSTHRESH;
|
||||
|
||||
/* So many TCP implementations out there (incorrectly) count the
|
||||
* initial SYN frame in their delayed-ACK and congestion control
|
||||
|
@@ -132,7 +132,7 @@ static void tunnel64_err(struct sk_buff *skb, u32 info)
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct net_protocol tunnel4_protocol = {
|
||||
static const struct net_protocol tunnel4_protocol = {
|
||||
.handler = tunnel4_rcv,
|
||||
.err_handler = tunnel4_err,
|
||||
.no_policy = 1,
|
||||
@@ -140,7 +140,7 @@ static struct net_protocol tunnel4_protocol = {
|
||||
};
|
||||
|
||||
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
|
||||
static struct net_protocol tunnel64_protocol = {
|
||||
static const struct net_protocol tunnel64_protocol = {
|
||||
.handler = tunnel64_rcv,
|
||||
.err_handler = tunnel64_err,
|
||||
.no_policy = 1,
|
||||
|
@@ -25,7 +25,7 @@ static void udplite_err(struct sk_buff *skb, u32 info)
|
||||
__udp4_lib_err(skb, info, &udplite_table);
|
||||
}
|
||||
|
||||
static struct net_protocol udplite_protocol = {
|
||||
static const struct net_protocol udplite_protocol = {
|
||||
.handler = udplite_rcv,
|
||||
.err_handler = udplite_err,
|
||||
.no_policy = 1,
|
||||
|
Reference in New Issue
Block a user