summaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/ipv6.c4
-rw-r--r--net/sctp/transport.c4
2 files changed, 3 insertions, 5 deletions
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
index 7f4c5bafea1..3dc8ed14352 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 d1b6834a3a4..05ab5e9c7c4 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;