|
@@ -1268,14 +1268,14 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
sctp_outq_uncork(&asoc->outqueue);
|
|
|
local_cork = 0;
|
|
|
}
|
|
|
- asoc = cmd->obj.ptr;
|
|
|
+ asoc = cmd->obj.asoc;
|
|
|
/* Register with the endpoint. */
|
|
|
sctp_endpoint_add_asoc(ep, asoc);
|
|
|
sctp_hash_established(asoc);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_UPDATE_ASSOC:
|
|
|
- sctp_assoc_update(asoc, cmd->obj.ptr);
|
|
|
+ sctp_assoc_update(asoc, cmd->obj.asoc);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_PURGE_OUTQUEUE:
|
|
@@ -1315,7 +1315,7 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_PROCESS_FWDTSN:
|
|
|
- sctp_cmd_process_fwdtsn(&asoc->ulpq, cmd->obj.ptr);
|
|
|
+ sctp_cmd_process_fwdtsn(&asoc->ulpq, cmd->obj.chunk);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_GEN_SACK:
|
|
@@ -1331,7 +1331,7 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
case SCTP_CMD_PROCESS_SACK:
|
|
|
/* Process an inbound SACK. */
|
|
|
error = sctp_cmd_process_sack(commands, asoc,
|
|
|
- cmd->obj.ptr);
|
|
|
+ cmd->obj.chunk);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_GEN_INIT_ACK:
|
|
@@ -1352,15 +1352,15 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
* layer which will bail.
|
|
|
*/
|
|
|
error = sctp_cmd_process_init(commands, asoc, chunk,
|
|
|
- cmd->obj.ptr, gfp);
|
|
|
+ cmd->obj.init, gfp);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_GEN_COOKIE_ECHO:
|
|
|
/* Generate a COOKIE ECHO chunk. */
|
|
|
new_obj = sctp_make_cookie_echo(asoc, chunk);
|
|
|
if (!new_obj) {
|
|
|
- if (cmd->obj.ptr)
|
|
|
- sctp_chunk_free(cmd->obj.ptr);
|
|
|
+ if (cmd->obj.chunk)
|
|
|
+ sctp_chunk_free(cmd->obj.chunk);
|
|
|
goto nomem;
|
|
|
}
|
|
|
sctp_add_cmd_sf(commands, SCTP_CMD_REPLY,
|
|
@@ -1369,9 +1369,9 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
/* If there is an ERROR chunk to be sent along with
|
|
|
* the COOKIE_ECHO, send it, too.
|
|
|
*/
|
|
|
- if (cmd->obj.ptr)
|
|
|
+ if (cmd->obj.chunk)
|
|
|
sctp_add_cmd_sf(commands, SCTP_CMD_REPLY,
|
|
|
- SCTP_CHUNK(cmd->obj.ptr));
|
|
|
+ SCTP_CHUNK(cmd->obj.chunk));
|
|
|
|
|
|
if (new_obj->transport) {
|
|
|
new_obj->transport->init_sent_count++;
|
|
@@ -1417,18 +1417,18 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
case SCTP_CMD_CHUNK_ULP:
|
|
|
/* Send a chunk to the sockets layer. */
|
|
|
SCTP_DEBUG_PRINTK("sm_sideff: %s %p, %s %p.\n",
|
|
|
- "chunk_up:", cmd->obj.ptr,
|
|
|
+ "chunk_up:", cmd->obj.chunk,
|
|
|
"ulpq:", &asoc->ulpq);
|
|
|
- sctp_ulpq_tail_data(&asoc->ulpq, cmd->obj.ptr,
|
|
|
+ sctp_ulpq_tail_data(&asoc->ulpq, cmd->obj.chunk,
|
|
|
GFP_ATOMIC);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_EVENT_ULP:
|
|
|
/* Send a notification to the sockets layer. */
|
|
|
SCTP_DEBUG_PRINTK("sm_sideff: %s %p, %s %p.\n",
|
|
|
- "event_up:",cmd->obj.ptr,
|
|
|
+ "event_up:",cmd->obj.ulpevent,
|
|
|
"ulpq:",&asoc->ulpq);
|
|
|
- sctp_ulpq_tail_event(&asoc->ulpq, cmd->obj.ptr);
|
|
|
+ sctp_ulpq_tail_event(&asoc->ulpq, cmd->obj.ulpevent);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_REPLY:
|
|
@@ -1438,12 +1438,12 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
local_cork = 1;
|
|
|
}
|
|
|
/* Send a chunk to our peer. */
|
|
|
- error = sctp_outq_tail(&asoc->outqueue, cmd->obj.ptr);
|
|
|
+ error = sctp_outq_tail(&asoc->outqueue, cmd->obj.chunk);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_SEND_PKT:
|
|
|
/* Send a full packet to our peer. */
|
|
|
- packet = cmd->obj.ptr;
|
|
|
+ packet = cmd->obj.packet;
|
|
|
sctp_packet_transmit(packet);
|
|
|
sctp_ootb_pkt_free(packet);
|
|
|
break;
|
|
@@ -1480,7 +1480,7 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_SETUP_T2:
|
|
|
- sctp_cmd_setup_t2(commands, asoc, cmd->obj.ptr);
|
|
|
+ sctp_cmd_setup_t2(commands, asoc, cmd->obj.chunk);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_TIMER_START_ONCE:
|
|
@@ -1514,7 +1514,7 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_INIT_CHOOSE_TRANSPORT:
|
|
|
- chunk = cmd->obj.ptr;
|
|
|
+ chunk = cmd->obj.chunk;
|
|
|
t = sctp_assoc_choose_alter_transport(asoc,
|
|
|
asoc->init_last_sent_to);
|
|
|
asoc->init_last_sent_to = t;
|
|
@@ -1665,17 +1665,16 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_PART_DELIVER:
|
|
|
- sctp_ulpq_partial_delivery(&asoc->ulpq, cmd->obj.ptr,
|
|
|
- GFP_ATOMIC);
|
|
|
+ sctp_ulpq_partial_delivery(&asoc->ulpq, GFP_ATOMIC);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_RENEGE:
|
|
|
- sctp_ulpq_renege(&asoc->ulpq, cmd->obj.ptr,
|
|
|
+ sctp_ulpq_renege(&asoc->ulpq, cmd->obj.chunk,
|
|
|
GFP_ATOMIC);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_SETUP_T4:
|
|
|
- sctp_cmd_setup_t4(commands, asoc, cmd->obj.ptr);
|
|
|
+ sctp_cmd_setup_t4(commands, asoc, cmd->obj.chunk);
|
|
|
break;
|
|
|
|
|
|
case SCTP_CMD_PROCESS_OPERR:
|
|
@@ -1734,8 +1733,8 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
- pr_warn("Impossible command: %u, %p\n",
|
|
|
- cmd->verb, cmd->obj.ptr);
|
|
|
+ pr_warn("Impossible command: %u\n",
|
|
|
+ cmd->verb);
|
|
|
break;
|
|
|
}
|
|
|
|