/* 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_h, scope,
+ error = sctp_copy_one_addr(dest, &addr->a, 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_h,
+ error = sctp_copy_one_addr(dest, &addr->a,
SCTP_SCOPE_LINK, gfp,
flags);
if (error < 0)
if (!addr->a.v4.sin_port)
addr->a.v4.sin_port = htons(bp->port);
- flip_to_h(&addr->a_h, &addr->a);
-
addr->use_as_src = use_as_src;
INIT_LIST_HEAD(&addr->list);
list_for_each(pos, &bp->address_list) {
addr = list_entry(pos, struct sctp_sockaddr_entry, list);
- af = sctp_get_af_specific(addr->a_h.v4.sin_family);
- len = af->to_addr_param(&addr->a_h, &rawaddr);
+ af = sctp_get_af_specific(addr->a.v4.sin_family);
+ len = af->to_addr_param(&addr->a, &rawaddr);
memcpy(addrparms.v, &rawaddr, len);
addrparms.v += len;
addrparms_len += len;
int retval = 0;
int len;
struct sctp_af *af;
- union sctp_addr tmp;
/* Convert the raw address to standard address format */
while (addrs_len) {
break;
}
- af->from_addr_param(&addr, rawaddr, port, 0);
- flip_to_n(&tmp, &addr);
- retval = sctp_add_bind_addr(bp, &tmp, 1, gfp);
+ af->from_addr_param(&addr, rawaddr, htons(port), 0);
+ retval = sctp_add_bind_addr(bp, &addr, 1, gfp);
if (retval) {
/* Can't finish building the list, clean up. */
sctp_bind_addr_clean(bp);
addr_buf += af->sockaddr_len;
}
if (i == addrcnt)
- return &laddr->a_h;
+ return &laddr->a;
}
return NULL;
int flags)
{
int error = 0;
- union sctp_addr tmp;
- flip_to_n(&tmp, addr);
if (sctp_is_any(addr)) {
error = sctp_copy_local_addr_list(dest, scope, gfp, flags);
(((AF_INET6 == addr->sa.sa_family) &&
(flags & SCTP_ADDR6_ALLOWED) &&
(flags & SCTP_ADDR6_PEERSUPP))))
- error = sctp_add_bind_addr(dest, &tmp, 1, gfp);
+ error = sctp_add_bind_addr(dest, addr, 1, gfp);
}
return error;