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
* 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;
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:
*
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;
* 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;