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;
struct sctp_transport *link;
sctp_sender_hb_info_t *hbinfo;
unsigned long max_interval;
- union sctp_addr tmp;
if (!sctp_vtag_verify(chunk, asoc))
return sctp_sf_pdiscard(ep, asoc, type, arg, commands);
}
from_addr = hbinfo->daddr;
- flip_to_n(&tmp, &from_addr);
- link = sctp_assoc_lookup_paddr(asoc, &tmp);
+ link = sctp_assoc_lookup_paddr(asoc, &from_addr);
/* This should never happen, but lets log it if so. */
if (unlikely(!link)) {
__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;