* Both v4 and v6 have the port at the same offset.
*/
if (!addr->a.v4.sin_port)
- addr->a.v4.sin_port = bp->port;
+ addr->a.v4.sin_port = htons(bp->port);
+
+ flip_to_h(&addr->a_h, &addr->a);
addr->use_as_src = use_as_src;
break;
}
- af->from_addr_param(&addr, rawaddr, port, 0);
+ 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. */
addr_buf += af->sockaddr_len;
}
if (i == addrcnt)
- return &laddr->a;
+ return &laddr->a_h;
}
return NULL;