Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/tg3.c drivers/net/wireless/rt2x00/rt2x00dev.c net/mac80211/ieee80211_i.h
This commit is contained in:
@@ -473,11 +473,11 @@ static struct dst_entry *sctp_v4_get_dst(struct sctp_association *asoc,
|
||||
/* Walk through the bind address list and look for a bind
|
||||
* address that matches the source address of the returned dst.
|
||||
*/
|
||||
sctp_v4_dst_saddr(&dst_saddr, dst, htons(bp->port));
|
||||
rcu_read_lock();
|
||||
list_for_each_entry_rcu(laddr, &bp->address_list, list) {
|
||||
if (!laddr->valid || (laddr->state != SCTP_ADDR_SRC))
|
||||
continue;
|
||||
sctp_v4_dst_saddr(&dst_saddr, dst, htons(bp->port));
|
||||
if (sctp_v4_cmp_addr(&dst_saddr, &laddr->a))
|
||||
goto out_unlock;
|
||||
}
|
||||
@@ -522,7 +522,8 @@ out:
|
||||
/* For v4, the source address is cached in the route entry(dst). So no need
|
||||
* to cache it separately and hence this is an empty routine.
|
||||
*/
|
||||
static void sctp_v4_get_saddr(struct sctp_association *asoc,
|
||||
static void sctp_v4_get_saddr(struct sctp_sock *sk,
|
||||
struct sctp_association *asoc,
|
||||
struct dst_entry *dst,
|
||||
union sctp_addr *daddr,
|
||||
union sctp_addr *saddr)
|
||||
@@ -619,6 +620,11 @@ static void sctp_v4_seq_dump_addr(struct seq_file *seq, union sctp_addr *addr)
|
||||
seq_printf(seq, "%d.%d.%d.%d ", NIPQUAD(addr->v4.sin_addr));
|
||||
}
|
||||
|
||||
static void sctp_v4_ecn_capable(struct sock *sk)
|
||||
{
|
||||
INET_ECN_xmit(sk);
|
||||
}
|
||||
|
||||
/* Event handler for inet address addition/deletion events.
|
||||
* The sctp_local_addr_list needs to be protocted by a spin lock since
|
||||
* multiple notifiers (say IPv4 and IPv6) may be running at the same
|
||||
@@ -937,6 +943,7 @@ static struct sctp_af sctp_af_inet = {
|
||||
.skb_iif = sctp_v4_skb_iif,
|
||||
.is_ce = sctp_v4_is_ce,
|
||||
.seq_dump_addr = sctp_v4_seq_dump_addr,
|
||||
.ecn_capable = sctp_v4_ecn_capable,
|
||||
.net_header_len = sizeof(struct iphdr),
|
||||
.sockaddr_len = sizeof(struct sockaddr_in),
|
||||
#ifdef CONFIG_COMPAT
|
||||
|
||||
Reference in New Issue
Block a user