aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/ipv6.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp/ipv6.c')
-rw-r--r--net/sctp/ipv6.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
index 1f9f5ec07595..e533970fa335 100644
--- a/net/sctp/ipv6.c
+++ b/net/sctp/ipv6.c
@@ -161,17 +161,17 @@ static int sctp_v6_xmit(struct sk_buff *skb, struct sctp_transport *transport,
161 /* Fill in the dest address from the route entry passed with the skb 161 /* Fill in the dest address from the route entry passed with the skb
162 * and the source address from the transport. 162 * and the source address from the transport.
163 */ 163 */
164 ipv6_addr_copy(&fl.fl6_dst, &transport->ipaddr.v6.sin6_addr); 164 ipv6_addr_copy(&fl.fl6_dst, &transport->ipaddr_h.v6.sin6_addr);
165 ipv6_addr_copy(&fl.fl6_src, &transport->saddr.v6.sin6_addr); 165 ipv6_addr_copy(&fl.fl6_src, &transport->saddr_h.v6.sin6_addr);
166 166
167 fl.fl6_flowlabel = np->flow_label; 167 fl.fl6_flowlabel = np->flow_label;
168 IP6_ECN_flow_xmit(sk, fl.fl6_flowlabel); 168 IP6_ECN_flow_xmit(sk, fl.fl6_flowlabel);
169 if (ipv6_addr_type(&fl.fl6_src) & IPV6_ADDR_LINKLOCAL) 169 if (ipv6_addr_type(&fl.fl6_src) & IPV6_ADDR_LINKLOCAL)
170 fl.oif = transport->saddr.v6.sin6_scope_id; 170 fl.oif = transport->saddr_h.v6.sin6_scope_id;
171 else 171 else
172 fl.oif = sk->sk_bound_dev_if; 172 fl.oif = sk->sk_bound_dev_if;
173 fl.fl_ip_sport = inet_sk(sk)->sport; 173 fl.fl_ip_sport = inet_sk(sk)->sport;
174 fl.fl_ip_dport = transport->ipaddr.v6.sin6_port; 174 fl.fl_ip_dport = transport->ipaddr_h.v6.sin6_port;
175 175
176 if (np->opt && np->opt->srcrt) { 176 if (np->opt && np->opt->srcrt) {
177 struct rt0_hdr *rt0 = (struct rt0_hdr *) np->opt->srcrt; 177 struct rt0_hdr *rt0 = (struct rt0_hdr *) np->opt->srcrt;
@@ -290,11 +290,11 @@ static void sctp_v6_get_saddr(struct sctp_association *asoc,
290 list_for_each(pos, &bp->address_list) { 290 list_for_each(pos, &bp->address_list) {
291 laddr = list_entry(pos, struct sctp_sockaddr_entry, list); 291 laddr = list_entry(pos, struct sctp_sockaddr_entry, list);
292 if ((laddr->use_as_src) && 292 if ((laddr->use_as_src) &&
293 (laddr->a.sa.sa_family == AF_INET6) && 293 (laddr->a_h.sa.sa_family == AF_INET6) &&
294 (scope <= sctp_scope(&laddr->a))) { 294 (scope <= sctp_scope(&laddr->a_h))) {
295 bmatchlen = sctp_v6_addr_match_len(daddr, &laddr->a); 295 bmatchlen = sctp_v6_addr_match_len(daddr, &laddr->a_h);
296 if (!baddr || (matchlen < bmatchlen)) { 296 if (!baddr || (matchlen < bmatchlen)) {
297 baddr = &laddr->a; 297 baddr = &laddr->a_h;
298 matchlen = bmatchlen; 298 matchlen = bmatchlen;
299 } 299 }
300 } 300 }
@@ -332,10 +332,10 @@ static void sctp_v6_copy_addrlist(struct list_head *addrlist,
332 /* Add the address to the local list. */ 332 /* Add the address to the local list. */
333 addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC); 333 addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC);
334 if (addr) { 334 if (addr) {
335 addr->a.v6.sin6_family = AF_INET6; 335 addr->a_h.v6.sin6_family = AF_INET6;
336 addr->a.v6.sin6_port = 0; 336 addr->a_h.v6.sin6_port = 0;
337 addr->a.v6.sin6_addr = ifp->addr; 337 addr->a_h.v6.sin6_addr = ifp->addr;
338 addr->a.v6.sin6_scope_id = dev->ifindex; 338 addr->a_h.v6.sin6_scope_id = dev->ifindex;
339 INIT_LIST_HEAD(&addr->list); 339 INIT_LIST_HEAD(&addr->list);
340 list_add_tail(&addr->list, addrlist); 340 list_add_tail(&addr->list, addrlist);
341 } 341 }