unsigned long sent_at;
 
        /* What is the origin IP address for this chunk?  */
-       union sctp_addr source;
+       union sctp_addr source_h;
        /* Destination address for this chunk. */
        union sctp_addr dest;
 
 /* This is a structure for holding either an IPv6 or an IPv4 address.  */
 struct sctp_sockaddr_entry {
        struct list_head list;
-       union sctp_addr a;
+       union sctp_addr a_h;
        __u8 use_as_src;
 };
 
        int      dead;
 
        /* This is the peer's IP address and port. */
-       union sctp_addr ipaddr;
+       union sctp_addr ipaddr_h;
 
        /* These are the functions we call to handle LLP stuff.  */
        struct sctp_af *af_specific;
        /* Destination */
        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
 
        asoc->peer.primary_path = transport;
 
        /* Set a default msg_name for events. */
-       memcpy(&asoc->peer.primary_addr, &transport->ipaddr,
+       memcpy(&asoc->peer.primary_addr, &transport->ipaddr_h,
               sizeof(union sctp_addr));
 
        /* If the primary path is changing, assume that the
        SCTP_DEBUG_PRINTK_IPADDR("sctp_assoc_rm_peer:association %p addr: ",
                                 " port: %d\n",
                                 asoc,
-                                (&peer->ipaddr),
-                                peer->ipaddr.v4.sin_port);
+                                (&peer->ipaddr_h),
+                                peer->ipaddr_h.v4.sin_port);
 
        /* If we are to remove the current retran_path, update it
         * to the next peer before removing this peer from the list.
 
        list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) {
                transport = list_entry(pos, struct sctp_transport, transports);
-               if (sctp_cmp_addr_exact(addr, &transport->ipaddr)) {
+               if (sctp_cmp_addr_exact(addr, &transport->ipaddr_h)) {
                        /* Do book keeping for removing the peer and free it. */
                        sctp_assoc_rm_peer(asoc, transport);
                        break;
 
        list_for_each(pos, &asoc->peer.transport_addr_list) {
                t = list_entry(pos, struct sctp_transport, transports);
-               if (sctp_cmp_addr_exact(address, &t->ipaddr))
+               if (sctp_cmp_addr_exact(address, &t->ipaddr_h))
                        return t;
        }
 
         * user.
         */
        memset(&addr, 0, sizeof(struct sockaddr_storage));
-       flip_to_n((union sctp_addr *)&addr, &transport->ipaddr);
+       flip_to_n((union sctp_addr *)&addr, &transport->ipaddr_h);
        event = sctp_ulpevent_make_peer_addr_change(asoc, &addr,
                                0, spc_state, error, GFP_ATOMIC);
        if (event)
        /* Remove any peer addresses not present in the new association. */
        list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) {
                trans = list_entry(pos, struct sctp_transport, transports);
-               if (!sctp_assoc_lookup_paddr(new, &trans->ipaddr))
-                       sctp_assoc_del_peer(asoc, &trans->ipaddr);
+               if (!sctp_assoc_lookup_paddr(new, &trans->ipaddr_h))
+                       sctp_assoc_del_peer(asoc, &trans->ipaddr_h);
        }
 
        /* If the case is A (association restart), use
                list_for_each(pos, &new->peer.transport_addr_list) {
                        trans = list_entry(pos, struct sctp_transport,
                                           transports);
-                       if (!sctp_assoc_lookup_paddr(asoc, &trans->ipaddr))
-                               sctp_assoc_add_peer(asoc, &trans->ipaddr,
+                       if (!sctp_assoc_lookup_paddr(asoc, &trans->ipaddr_h))
+                               sctp_assoc_add_peer(asoc, &trans->ipaddr_h,
                                                    GFP_ATOMIC, trans->state);
                }
 
                                 " %p addr: ",
                                 " port: %d\n",
                                 asoc,
-                                (&t->ipaddr),
-                                t->ipaddr.v4.sin_port);
+                                (&t->ipaddr_h),
+                                t->ipaddr_h.v4.sin_port);
 }
 
 /* Choose the transport for sending a INIT packet.  */
                                 " %p addr: ",
                                 " port: %d\n",
                                 asoc,
-                                (&t->ipaddr),
-                                t->ipaddr.v4.sin_port);
+                                (&t->ipaddr_h),
+                                t->ipaddr_h.v4.sin_port);
 
        return t;
 }
        /* Use scoping rules to determine the subset of addresses from
         * the endpoint.
         */
-       scope = sctp_scope(&asoc->peer.active_path->ipaddr);
+       scope = sctp_scope(&asoc->peer.active_path->ipaddr_h);
        flags = (PF_INET6 == asoc->base.sk->sk_family) ? SCTP_ADDR6_ALLOWED : 0;
        if (asoc->peer.ipv4_address)
                flags |= SCTP_ADDR4_PEERSUPP;
 
        /* Extract the addresses which are relevant for this scope.  */
        list_for_each(pos, &src->address_list) {
                addr = list_entry(pos, struct sctp_sockaddr_entry, list);
-               error = sctp_copy_one_addr(dest, &addr->a, scope,
+               error = sctp_copy_one_addr(dest, &addr->a_h, scope,
                                           gfp, flags);
                if (error < 0)
                        goto out;
                list_for_each(pos, &src->address_list) {
                        addr = list_entry(pos, struct sctp_sockaddr_entry,
                                          list);
-                       error = sctp_copy_one_addr(dest, &addr->a,
+                       error = sctp_copy_one_addr(dest, &addr->a_h,
                                                   SCTP_SCOPE_LINK, gfp,
                                                   flags);
                        if (error < 0)
        if (!addr)
                return -ENOMEM;
 
-       memcpy(&addr->a, new, sizeof(*new));
+       memcpy(&addr->a_h, new, sizeof(*new));
 
        /* Fix up the port if it has not yet been set.
         * Both v4 and v6 have the port at the same offset.
         */
-       if (!addr->a.v4.sin_port)
-               addr->a.v4.sin_port = bp->port;
+       if (!addr->a_h.v4.sin_port)
+               addr->a_h.v4.sin_port = bp->port;
 
        addr->use_as_src = use_as_src;
 
 
        list_for_each_safe(pos, temp, &bp->address_list) {
                addr = list_entry(pos, struct sctp_sockaddr_entry, list);
-               if (sctp_cmp_addr_exact(&addr->a, del_addr)) {
+               if (sctp_cmp_addr_exact(&addr->a_h, del_addr)) {
                        /* Found the exact match. */
                        list_del(pos);
                        kfree(addr);
 
        list_for_each(pos, &bp->address_list) {
                addr = list_entry(pos, struct sctp_sockaddr_entry, list);
-               af = sctp_get_af_specific(addr->a.v4.sin_family);
-               len = af->to_addr_param(&addr->a, &rawaddr);
+               af = sctp_get_af_specific(addr->a_h.v4.sin_family);
+               len = af->to_addr_param(&addr->a_h, &rawaddr);
                memcpy(addrparms.v, &rawaddr, len);
                addrparms.v += len;
                addrparms_len += len;
 
        list_for_each(pos, &bp->address_list) {
                laddr = list_entry(pos, struct sctp_sockaddr_entry, list);
-               if (opt->pf->cmp_addr(&laddr->a, addr, opt))
+               if (opt->pf->cmp_addr(&laddr->a_h, addr, opt))
                        return 1;
        }
 
                                return NULL;
                        flip_to_h(&tmp, addr);
 
-                       if (opt->pf->cmp_addr(&laddr->a, &tmp, opt))
+                       if (opt->pf->cmp_addr(&laddr->a_h, &tmp, opt))
                                break;
 
                        addr_buf += af->sockaddr_len;
                }
                if (i == addrcnt)
-                       return &laddr->a;
+                       return &laddr->a_h;
        }
 
        return NULL;
 
        bp = &ep->base.bind_addr;
        list_for_each(pos, &bp->address_list) {
                addr = list_entry(pos, struct sctp_sockaddr_entry, list);
-               if (sctp_has_association(&addr->a, paddr)) {
+               if (sctp_has_association(&addr->a_h, paddr)) {
                        sctp_read_unlock(&ep->base.addr_lock);
                        return 1;
                }
 
        /* Fill in the dest address from the route entry passed with the skb
         * and the source address from the transport.
         */
-       ipv6_addr_copy(&fl.fl6_dst, &transport->ipaddr.v6.sin6_addr);
-       ipv6_addr_copy(&fl.fl6_src, &transport->saddr.v6.sin6_addr);
+       ipv6_addr_copy(&fl.fl6_dst, &transport->ipaddr_h.v6.sin6_addr);
+       ipv6_addr_copy(&fl.fl6_src, &transport->saddr_h.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.v6.sin6_scope_id;
+               fl.oif = transport->saddr_h.v6.sin6_scope_id;
        else
                fl.oif = sk->sk_bound_dev_if;
        fl.fl_ip_sport = inet_sk(sk)->sport;
-       fl.fl_ip_dport = transport->ipaddr.v6.sin6_port;
+       fl.fl_ip_dport = transport->ipaddr_h.v6.sin6_port;
 
        if (np->opt && np->opt->srcrt) {
                struct rt0_hdr *rt0 = (struct rt0_hdr *) np->opt->srcrt;
        list_for_each(pos, &bp->address_list) {
                laddr = list_entry(pos, struct sctp_sockaddr_entry, list);
                if ((laddr->use_as_src) &&
-                   (laddr->a.sa.sa_family == AF_INET6) &&
-                   (scope <= sctp_scope(&laddr->a))) {
-                       bmatchlen = sctp_v6_addr_match_len(daddr, &laddr->a);
+                   (laddr->a_h.sa.sa_family == AF_INET6) &&
+                   (scope <= sctp_scope(&laddr->a_h))) {
+                       bmatchlen = sctp_v6_addr_match_len(daddr, &laddr->a_h);
                        if (!baddr || (matchlen < bmatchlen)) {
-                               baddr = &laddr->a;
+                               baddr = &laddr->a_h;
                                matchlen = bmatchlen;
                        }
                }
                /* Add the address to the local list.  */
                addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC);
                if (addr) {
-                       addr->a.v6.sin6_family = AF_INET6;
-                       addr->a.v6.sin6_port = 0;
-                       addr->a.v6.sin6_addr = ifp->addr;
-                       addr->a.v6.sin6_scope_id = dev->ifindex;
+                       addr->a_h.v6.sin6_family = AF_INET6;
+                       addr->a_h.v6.sin6_port = 0;
+                       addr->a_h.v6.sin6_addr = ifp->addr;
+                       addr->a_h.v6.sin6_scope_id = dev->ifindex;
                        INIT_LIST_HEAD(&addr->list);
                        list_add_tail(&addr->list, addrlist);
                }
 
        if (epb->type == SCTP_EP_TYPE_ASSOCIATION) {
            asoc = sctp_assoc(epb);
            peer = asoc->peer.primary_path;
-           primary = &peer->saddr;
+           primary = &peer->saddr_h;
        }
 
        list_for_each(pos, &epb->bind_addr.address_list) {
                laddr = list_entry(pos, struct sctp_sockaddr_entry, list);
-               addr = (union sctp_addr *)&laddr->a;
+               addr = (union sctp_addr *)&laddr->a_h;
                af = sctp_get_af_specific(addr->sa.sa_family);
                if (primary && af->cmp_addr(addr, primary)) {
                        seq_printf(seq, "*");
        primary = &(assoc->peer.primary_addr);
        list_for_each(pos, &assoc->peer.transport_addr_list) {
                transport = list_entry(pos, struct sctp_transport, transports);
-               addr = (union sctp_addr *)&transport->ipaddr;
+               addr = (union sctp_addr *)&transport->ipaddr_h;
                af = sctp_get_af_specific(addr->sa.sa_family);
                if (af->cmp_addr(addr, primary)) {
                        seq_printf(seq, "*");
 
                /* Add the address to the local list.  */
                addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC);
                if (addr) {
-                       addr->a.v4.sin_family = AF_INET;
-                       addr->a.v4.sin_port = 0;
-                       addr->a.v4.sin_addr.s_addr = ifa->ifa_local;
+                       addr->a_h.v4.sin_family = AF_INET;
+                       addr->a_h.v4.sin_port = 0;
+                       addr->a_h.v4.sin_addr.s_addr = ifa->ifa_local;
                        list_add_tail(&addr->list, addrlist);
                }
        }
        sctp_spin_lock_irqsave(&sctp_local_addr_lock, flags);
        list_for_each(pos, &sctp_local_addr_list) {
                addr = list_entry(pos, struct sctp_sockaddr_entry, list);
-               if (sctp_in_scope(&addr->a, scope)) {
+               if (sctp_in_scope(&addr->a_h, scope)) {
                        /* Now that the address is in scope, check to see if
                         * the address type is really supported by the local
                         * sock as well as the remote peer.
                         */
-                       if ((((AF_INET == addr->a.sa.sa_family) &&
+                       if ((((AF_INET == addr->a_h.sa.sa_family) &&
                              (copy_flags & SCTP_ADDR4_PEERSUPP))) ||
-                           (((AF_INET6 == addr->a.sa.sa_family) &&
+                           (((AF_INET6 == addr->a_h.sa.sa_family) &&
                              (copy_flags & SCTP_ADDR6_ALLOWED) &&
                              (copy_flags & SCTP_ADDR6_PEERSUPP)))) {
-                               error = sctp_add_bind_addr(bp, &addr->a, 1,
+                               error = sctp_add_bind_addr(bp, &addr->a_h, 1,
                                                           GFP_ATOMIC);
                                if (error)
                                        goto end_copy;
                        if (!laddr->use_as_src)
                                continue;
                        sctp_v4_dst_saddr(&dst_saddr, dst, bp->port);
-                       if (sctp_v4_cmp_addr(&dst_saddr, &laddr->a))
+                       if (sctp_v4_cmp_addr(&dst_saddr, &laddr->a_h))
                                goto out_unlock;
                }
                sctp_read_unlock(addr_lock);
                laddr = list_entry(pos, struct sctp_sockaddr_entry, list);
 
                if ((laddr->use_as_src) &&
-                   (AF_INET == laddr->a.sa.sa_family)) {
-                       fl.fl4_src = laddr->a.v4.sin_addr.s_addr;
+                   (AF_INET == laddr->a_h.sa.sa_family)) {
+                       fl.fl4_src = laddr->a_h.v4.sin_addr.s_addr;
                        if (!ip_route_output_key(&rt, &fl)) {
                                dst = &rt->u.dst;
                                goto out_unlock;
 
 void sctp_init_addrs(struct sctp_chunk *chunk, union sctp_addr *src,
                     union sctp_addr *dest)
 {
-       memcpy(&chunk->source, src, sizeof(union sctp_addr));
+       memcpy(&chunk->source_h, src, sizeof(union sctp_addr));
        memcpy(&chunk->dest, dest, sizeof(union sctp_addr));
 }
 
 {
        /* If we have a known transport, use that.  */
        if (chunk->transport) {
-               return &chunk->transport->ipaddr;
+               return &chunk->transport->ipaddr_h;
        } else {
                /* Otherwise, extract it from the IP header.  */
-               return &chunk->source;
+               return &chunk->source_h;
        }
 }
 
                sctp_write_lock(&asoc->base.addr_lock);
                list_for_each(pos, &bp->address_list) {
                        saddr = list_entry(pos, struct sctp_sockaddr_entry, list);
-                       if (sctp_cmp_addr_exact(&saddr->a, &addr))
+                       if (sctp_cmp_addr_exact(&saddr->a_h, &addr))
                                saddr->use_as_src = 1;
                }
                sctp_write_unlock(&asoc->base.addr_lock);
 
                SCTP_DEBUG_PRINTK_IPADDR("transport_strike:association %p",
                                         " transport IP: port:%d failed.\n",
                                         asoc,
-                                        (&transport->ipaddr),
-                                        transport->ipaddr.v4.sin_port);
+                                        (&transport->ipaddr_h),
+                                        transport->ipaddr_h.v4.sin_port);
                sctp_assoc_control_transport(asoc, transport,
                                             SCTP_TRANSPORT_DOWN,
                                             SCTP_FAILED_THRESHOLD);
 
        list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) {
                t = list_entry(pos, struct sctp_transport, transports);
-               if (!sctp_cmp_addr_exact(&t->ipaddr,
+               if (!sctp_cmp_addr_exact(&t->ipaddr_h,
                                         &asoc->peer.primary_addr)) {
-                       sctp_assoc_del_peer(asoc, &t->ipaddr);
+                       sctp_assoc_del_peer(asoc, &t->ipaddr_h);
                }
        }
 
 
 
        hbinfo.param_hdr.type = SCTP_PARAM_HEARTBEAT_INFO;
        hbinfo.param_hdr.length = htons(sizeof(sctp_sender_hb_info_t));
-       hbinfo.daddr = transport->ipaddr;
+       hbinfo.daddr = transport->ipaddr_h;
        hbinfo.sent_at = jiffies;
        hbinfo.hb_nonce = transport->hb_nonce;
 
                list_for_each(pos2, &asoc->peer.transport_addr_list) {
                        addr = list_entry(pos2, struct sctp_transport,
                                          transports);
-                       if (sctp_cmp_addr_exact(&new_addr->ipaddr,
-                                               &addr->ipaddr)) {
+                       if (sctp_cmp_addr_exact(&new_addr->ipaddr_h,
+                                               &addr->ipaddr_h)) {
                                found = 1;
                                break;
                        }
 
        /* If a new address was added, ABORT the sender. */
        if (!found && new_addr) {
-               sctp_sf_send_restart_abort(&new_addr->ipaddr, init, commands);
+               sctp_sf_send_restart_abort(&new_addr->ipaddr_h, init, commands);
        }
 
        /* Return success if all addresses were found. */
 
                laddr = list_entry(p, struct sctp_sockaddr_entry, list);
                sctp_read_unlock(&asoc->base.addr_lock);
 
-               chunk = sctp_make_asconf_update_ip(asoc, &laddr->a, addrs,
+               chunk = sctp_make_asconf_update_ip(asoc, &laddr->a_h, addrs,
                                                   addrcnt, SCTP_PARAM_ADD_IP);
                if (!chunk) {
                        retval = -ENOMEM;
                                saddr = list_entry(pos1,
                                                   struct sctp_sockaddr_entry,
                                                   list);
-                               if (sctp_cmp_addr_exact(&saddr->a, &saveaddr))
+                               if (sctp_cmp_addr_exact(&saddr->a_h, &saveaddr))
                                        saddr->use_as_src = 0;
                        }
                        addr_buf += af->sockaddr_len;
        status.sstat_fragmentation_point = asoc->frag_point;
        status.sstat_primary.spinfo_assoc_id = sctp_assoc2id(transport->asoc);
        flip_to_n((union sctp_addr *)&status.sstat_primary.spinfo_address,
-              &transport->ipaddr);
+              &transport->ipaddr_h);
        /* Map ipv4 address into v4-mapped-on-v6 address.  */
        sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),
                (union sctp_addr *)&status.sstat_primary.spinfo_address);
        to = (void __user *)getaddrs.addrs;
        list_for_each(pos, &asoc->peer.transport_addr_list) {
                from = list_entry(pos, struct sctp_transport, transports);
-               memcpy(&temp, &from->ipaddr, sizeof(temp));
+               memcpy(&temp, &from->ipaddr_h, sizeof(temp));
                sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
                addrlen = sctp_get_af_specific(sk->sk_family)->sockaddr_len;
                temp.v4.sin_port = htons(temp.v4.sin_port);
 
        list_for_each(pos, &asoc->peer.transport_addr_list) {
                from = list_entry(pos, struct sctp_transport, transports);
-               memcpy(&temp, &from->ipaddr, sizeof(temp));
+               memcpy(&temp, &from->ipaddr_h, sizeof(temp));
                sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
                addrlen = sctp_get_af_specific(sk->sk_family)->sockaddr_len;
                if(space_left < addrlen)
        if (sctp_list_single_entry(&bp->address_list)) {
                addr = list_entry(bp->address_list.next,
                                  struct sctp_sockaddr_entry, list);
-               if (sctp_is_any(&addr->a)) {
+               if (sctp_is_any(&addr->a_h)) {
                        sctp_spin_lock_irqsave(&sctp_local_addr_lock, flags);
                        list_for_each(pos, &sctp_local_addr_list) {
                                addr = list_entry(pos,
                                                  struct sctp_sockaddr_entry,
                                                  list);
                                if ((PF_INET == sk->sk_family) && 
-                                   (AF_INET6 == addr->a.sa.sa_family)) 
+                                   (AF_INET6 == addr->a_h.sa.sa_family))
                                        continue;
                                cnt++;
                        }
        list_for_each(pos, &sctp_local_addr_list) {
                addr = list_entry(pos, struct sctp_sockaddr_entry, list);
                if ((PF_INET == sk->sk_family) && 
-                   (AF_INET6 == addr->a.sa.sa_family))
+                   (AF_INET6 == addr->a_h.sa.sa_family))
                        continue;
-               memcpy(&temp, &addr->a, sizeof(temp));
+               memcpy(&temp, &addr->a_h, sizeof(temp));
                sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),
                                                                &temp);
                addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
        list_for_each(pos, &sctp_local_addr_list) {
                addr = list_entry(pos, struct sctp_sockaddr_entry, list);
                if ((PF_INET == sk->sk_family) && 
-                   (AF_INET6 == addr->a.sa.sa_family))
+                   (AF_INET6 == addr->a_h.sa.sa_family))
                        continue;
-               memcpy(&temp, &addr->a, sizeof(temp));
+               memcpy(&temp, &addr->a_h, sizeof(temp));
                sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),
                                                                &temp);
                addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
        if (sctp_list_single_entry(&bp->address_list)) {
                addr = list_entry(bp->address_list.next,
                                  struct sctp_sockaddr_entry, list);
-               if (sctp_is_any(&addr->a)) {
+               if (sctp_is_any(&addr->a_h)) {
                        cnt = sctp_copy_laddrs_to_user_old(sk, bp->port,
                                                           getaddrs.addr_num,
                                                           to);
 
        list_for_each(pos, &bp->address_list) {
                addr = list_entry(pos, struct sctp_sockaddr_entry, list);
-               memcpy(&temp, &addr->a, sizeof(temp));
+               memcpy(&temp, &addr->a_h, sizeof(temp));
                sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
                addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
                temp.v4.sin_port = htons(temp.v4.sin_port);
        if (sctp_list_single_entry(&bp->address_list)) {
                addr = list_entry(bp->address_list.next,
                                  struct sctp_sockaddr_entry, list);
-               if (sctp_is_any(&addr->a)) {
+               if (sctp_is_any(&addr->a_h)) {
                        cnt = sctp_copy_laddrs_to_user(sk, bp->port,
                                                       &to, space_left);
                        if (cnt < 0) {
 
        list_for_each(pos, &bp->address_list) {
                addr = list_entry(pos, struct sctp_sockaddr_entry, list);
-               memcpy(&temp, &addr->a, sizeof(temp));
+               memcpy(&temp, &addr->a_h, sizeof(temp));
                sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
                addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
                if(space_left < addrlen)
                return -ENOTCONN;
        
        flip_to_n((union sctp_addr *)&prim.ssp_addr,
-                 &asoc->peer.primary_path->ipaddr);
+                 &asoc->peer.primary_path->ipaddr_h);
 
        sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp,
                        (union sctp_addr *)&prim.ssp_addr);
 
                                                  gfp_t gfp)
 {
        /* Copy in the address.  */
-       peer->ipaddr = *addr;
+       peer->ipaddr_h = *addr;
        peer->af_specific = sctp_get_af_specific(addr->sa.sa_family);
        peer->asoc = NULL;
 
        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:
         *
 {
        struct dst_entry *dst;
 
-       dst = transport->af_specific->get_dst(NULL, &transport->ipaddr, NULL);
+       dst = transport->af_specific->get_dst(NULL, &transport->ipaddr_h, NULL);
 
        if (dst) {
                transport->pathmtu = dst_mtu(dst);
 {
        struct sctp_association *asoc = transport->asoc;
        struct sctp_af *af = transport->af_specific;
-       union sctp_addr *daddr = &transport->ipaddr;
+       union sctp_addr *daddr = &transport->ipaddr_h;
        struct dst_entry *dst;
 
        dst = af->get_dst(asoc, daddr, saddr);
 
        if (saddr)
-               memcpy(&transport->saddr, saddr, sizeof(union sctp_addr));
+               memcpy(&transport->saddr_h, saddr, sizeof(union sctp_addr));
        else
-               af->get_saddr(asoc, dst, daddr, &transport->saddr);
+               af->get_saddr(asoc, dst, daddr, &transport->saddr_h);
 
        transport->dst = dst;
        if ((transport->param_flags & SPP_PMTUD_DISABLE) && transport->pathmtu) {
                 * association's active path for getsockname().
                 */ 
                if (asoc && (transport == asoc->peer.active_path))
-                       opt->pf->af->to_sk_saddr(&transport->saddr,
+                       opt->pf->af->to_sk_saddr(&transport->saddr_h,
                                                 asoc->base.sk);
        } else
                transport->pathmtu = SCTP_DEFAULT_MAXSEGMENT;