struct sctp_ulpevent *ev, *ai_ev = NULL;
int error = 0;
struct sctp_chunk *err_chk_p;
+ union sctp_addr tmp;
/* If the packet is an OOTB packet which is temporarily on the
* control endpoint, respond with an ABORT.
*/
peer_init = &chunk->subh.cookie_hdr->c.peer_init[0];
+ flip_to_h(&tmp, &chunk->subh.cookie_hdr->c.peer_addr);
if (!sctp_process_init(new_asoc, chunk->chunk_hdr->type,
- &chunk->subh.cookie_hdr->c.peer_addr,
+ &tmp,
peer_init, GFP_ATOMIC))
goto nomem_init;
hbinfo.param_hdr.type = SCTP_PARAM_HEARTBEAT_INFO;
hbinfo.param_hdr.length = htons(sizeof(sctp_sender_hb_info_t));
- hbinfo.daddr = transport->ipaddr_h;
+ hbinfo.daddr = transport->ipaddr;
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_h,
- &addr->ipaddr_h)) {
+ if (sctp_cmp_addr_exact(&new_addr->ipaddr,
+ &addr->ipaddr)) {
found = 1;
break;
}
__u16 sport;
__u16 dport;
__u32 vtag;
+ union sctp_addr tmp;
/* Get the source and destination port from the inbound packet. */
sport = ntohs(chunk->sctp_hdr->dest);
}
/* Make a transport for the bucket, Eliza... */
- transport = sctp_transport_new(sctp_source(chunk), GFP_ATOMIC);
+ flip_to_n(&tmp, sctp_source(chunk));
+ transport = sctp_transport_new(&tmp, GFP_ATOMIC);
if (!transport)
goto nomem;