summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/net/sctp/structs.h1
-rw-r--r--net/sctp/ipv6.c4
-rw-r--r--net/sctp/transport.c4
3 files changed, 3 insertions, 6 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 8f6619d..2751956 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -904,7 +904,6 @@ struct sctp_transport {
struct dst_entry *dst;
/* Source address. */
union sctp_addr saddr;
- union sctp_addr saddr_h;
/* When was the last time(in jiffies) that a data packet was sent on
* this transport? This is used to adjust the cwnd when the transport
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
index 7f4c5ba..3dc8ed1 100644
--- a/net/sctp/ipv6.c
+++ b/net/sctp/ipv6.c
@@ -162,12 +162,12 @@ static int sctp_v6_xmit(struct sk_buff *skb, struct sctp_transport *transport,
* and the source address from the transport.
*/
ipv6_addr_copy(&fl.fl6_dst, &transport->ipaddr_h.v6.sin6_addr);
- ipv6_addr_copy(&fl.fl6_src, &transport->saddr_h.v6.sin6_addr);
+ ipv6_addr_copy(&fl.fl6_src, &transport->saddr.v6.sin6_addr);
fl.fl6_flowlabel = np->flow_label;
IP6_ECN_flow_xmit(sk, fl.fl6_flowlabel);
if (ipv6_addr_type(&fl.fl6_src) & IPV6_ADDR_LINKLOCAL)
- fl.oif = transport->saddr_h.v6.sin6_scope_id;
+ fl.oif = transport->saddr.v6.sin6_scope_id;
else
fl.oif = sk->sk_bound_dev_if;
fl.fl_ip_sport = inet_sk(sk)->sport;
diff --git a/net/sctp/transport.c b/net/sctp/transport.c
index d1b6834..05ab5e9 100644
--- a/net/sctp/transport.c
+++ b/net/sctp/transport.c
@@ -68,7 +68,6 @@ static struct sctp_transport *sctp_transport_init(struct sctp_transport *peer,
peer->dst = NULL;
memset(&peer->saddr, 0, sizeof(union sctp_addr));
- memset(&peer->saddr_h, 0, sizeof(union sctp_addr));
/* From 6.3.1 RTO Calculation:
*
@@ -261,7 +260,6 @@ void sctp_transport_route(struct sctp_transport *transport,
else
af->get_saddr(asoc, dst, daddr, &transport->saddr);
- flip_to_h(&transport->saddr_h, &transport->saddr);
transport->dst = dst;
if ((transport->param_flags & SPP_PMTUD_DISABLE) && transport->pathmtu) {
return;
@@ -273,7 +271,7 @@ void sctp_transport_route(struct sctp_transport *transport,
* association's active path for getsockname().
*/
if (asoc && (transport == asoc->peer.active_path))
- opt->pf->af->to_sk_saddr(&transport->saddr_h,
+ opt->pf->af->to_sk_saddr(&transport->saddr,
asoc->base.sk);
} else
transport->pathmtu = SCTP_DEFAULT_MAXSEGMENT;