PDEBUG ("PtlMEUnlink", rc);
case 3:
- PtlNIFini (server->ni);
+ kportal_put_ni (nal);
case 4:
return 0;
}
-static void pingsrv_packet(ptl_event_t *ev)
+static int pingsrv_packet(ptl_event_t *ev)
{
atomic_inc (&pkt);
wake_up_process (server->tsk);
+ return 1;
} /* pingsrv_head() */
-static void pingsrv_callback(ptl_event_t *ev)
+static int pingsrv_callback(ptl_event_t *ev)
{
if (ev == NULL) {
CERROR ("null in callback, ev=%p\n", ev);
- return;
+ return 0;
}
server->evnt = *ev;
packets_valid++;
- pingsrv_packet(ev);
+ return pingsrv_packet(ev);
} /* pingsrv_callback() */
static struct pingsrv_data *pingsrv_setup(void)
{
+ ptl_handle_ni_t *nip;
int rc;
- server->ni = PTL_INVALID_HANDLE;
-
/* Aquire and initialize the proper nal for portals. */
- rc = PtlNIInit(nal, 0, NULL, NULL, &server->ni);
- if (!(rc == PTL_OK || rc == PTL_IFACE_DUP)) {
+ if ((nip = kportal_get_ni (nal)) == NULL) {
CDEBUG (D_OTHER, "NAL %d not loaded\n", nal);
return pingsrv_shutdown (4);
}
+ server->ni= *nip;
/* Based on the initialization aquire our unique portal ID. */
if ((rc = PtlGetId (server->ni, &server->my_id))) {
}
- if ((rc = PtlEQAlloc (server->ni, 1024, &pingsrv_callback,
+ if ((rc = PtlEQAlloc (server->ni, 1024, pingsrv_callback,
&server->eq))) {
PDEBUG ("PtlEQAlloc (callback)", rc);
return pingsrv_shutdown (2);
MODULE_PARM(nal, "i");
MODULE_PARM_DESC(nal, "Use the specified NAL "
- "(2-ksocknal, 1-kqswnal)");
+ "(6-kscimacnal, 2-ksocknal, 1-kqswnal)");
MODULE_AUTHOR("Brian Behlendorf (LLNL)");
MODULE_DESCRIPTION("A kernel space ping server for portals testing");