Lines Matching refs:pmd

103 	struct pmd_internals *pmd;  in memif_msg_enq_disconnect()  local
125 pmd = cc->dev->data->dev_private; in memif_msg_enq_disconnect()
126 strlcpy(pmd->local_disc_string, reason, in memif_msg_enq_disconnect()
127 sizeof(pmd->local_disc_string)); in memif_msg_enq_disconnect()
159 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_receive_hello() local
163 memif_msg_enq_disconnect(pmd->cc, "Incompatible memif version", 0); in memif_msg_receive_hello()
168 pmd->run.num_c2s_rings = RTE_MIN(h->max_c2s_ring + 1, in memif_msg_receive_hello()
169 pmd->cfg.num_c2s_rings); in memif_msg_receive_hello()
170 pmd->run.num_s2c_rings = RTE_MIN(h->max_s2c_ring + 1, in memif_msg_receive_hello()
171 pmd->cfg.num_s2c_rings); in memif_msg_receive_hello()
172 pmd->run.log2_ring_size = RTE_MIN(h->max_log2_ring_size, in memif_msg_receive_hello()
173 pmd->cfg.log2_ring_size); in memif_msg_receive_hello()
174 pmd->run.pkt_buffer_size = pmd->cfg.pkt_buffer_size; in memif_msg_receive_hello()
176 strlcpy(pmd->remote_name, (char *)h->name, sizeof(pmd->remote_name)); in memif_msg_receive_hello()
178 MIF_LOG(DEBUG, "Connecting to %s.", pmd->remote_name); in memif_msg_receive_hello()
188 struct pmd_internals *pmd; in memif_msg_receive_init() local
204 pmd = dev->data->dev_private; in memif_msg_receive_init()
205 if (((pmd->flags & ETH_MEMIF_FLAG_DISABLED) == 0) && in memif_msg_receive_init()
206 (pmd->id == i->id) && (pmd->role == MEMIF_ROLE_SERVER)) { in memif_msg_receive_init()
207 if (pmd->flags & (ETH_MEMIF_FLAG_CONNECTING | in memif_msg_receive_init()
216 pmd->cc = cc; in memif_msg_receive_init()
219 memif_msg_enq_disconnect(pmd->cc, in memif_msg_receive_init()
225 strlcpy(pmd->remote_name, (char *)i->name, in memif_msg_receive_init()
226 sizeof(pmd->remote_name)); in memif_msg_receive_init()
228 if (*pmd->secret != '\0') { in memif_msg_receive_init()
230 memif_msg_enq_disconnect(pmd->cc, in memif_msg_receive_init()
234 if (strncmp(pmd->secret, (char *)i->secret, in memif_msg_receive_init()
236 memif_msg_enq_disconnect(pmd->cc, in memif_msg_receive_init()
242 pmd->flags |= ETH_MEMIF_FLAG_CONNECTING; in memif_msg_receive_init()
257 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_receive_add_region() local
263 memif_msg_enq_disconnect(pmd->cc, "Missing region fd", 0); in memif_msg_receive_add_region()
270 memif_msg_enq_disconnect(pmd->cc, "Invalid region index", 0); in memif_msg_receive_add_region()
276 memif_msg_enq_disconnect(pmd->cc, "Failed to alloc memif region.", 0); in memif_msg_receive_add_region()
293 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_receive_add_ring() local
298 memif_msg_enq_disconnect(pmd->cc, "Missing interrupt fd", 0); in memif_msg_receive_add_ring()
304 if (ar->index >= pmd->cfg.num_c2s_rings) { in memif_msg_receive_add_ring()
305 memif_msg_enq_disconnect(pmd->cc, "Invalid ring index", 0); in memif_msg_receive_add_ring()
308 pmd->run.num_c2s_rings++; in memif_msg_receive_add_ring()
310 if (ar->index >= pmd->cfg.num_s2c_rings) { in memif_msg_receive_add_ring()
311 memif_msg_enq_disconnect(pmd->cc, "Invalid ring index", 0); in memif_msg_receive_add_ring()
314 pmd->run.num_s2c_rings++; in memif_msg_receive_add_ring()
331 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_receive_connect() local
339 strlcpy(pmd->remote_if_name, (char *)c->if_name, in memif_msg_receive_connect()
340 sizeof(pmd->remote_if_name)); in memif_msg_receive_connect()
341 MIF_LOG(INFO, "Remote interface %s connected.", pmd->remote_if_name); in memif_msg_receive_connect()
349 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_receive_connected() local
357 strlcpy(pmd->remote_if_name, (char *)c->if_name, in memif_msg_receive_connected()
358 sizeof(pmd->remote_if_name)); in memif_msg_receive_connected()
359 MIF_LOG(INFO, "Remote interface %s connected.", pmd->remote_if_name); in memif_msg_receive_connected()
367 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_receive_disconnect() local
370 memset(pmd->remote_disc_string, 0, sizeof(pmd->remote_disc_string)); in memif_msg_receive_disconnect()
371 strlcpy(pmd->remote_disc_string, (char *)d->string, in memif_msg_receive_disconnect()
372 sizeof(pmd->remote_disc_string)); in memif_msg_receive_disconnect()
374 MIF_LOG(INFO, "Disconnect received: %s", pmd->remote_disc_string); in memif_msg_receive_disconnect()
376 memset(pmd->local_disc_string, 0, 96); in memif_msg_receive_disconnect()
384 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_enq_ack() local
385 struct memif_msg_queue_elt *e = memif_msg_enq(pmd->cc); in memif_msg_enq_ack()
397 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_enq_init() local
398 struct memif_msg_queue_elt *e = memif_msg_enq(pmd->cc); in memif_msg_enq_init()
407 i->id = pmd->id; in memif_msg_enq_init()
412 if (*pmd->secret != '\0') in memif_msg_enq_init()
413 strlcpy((char *)i->secret, pmd->secret, sizeof(i->secret)); in memif_msg_enq_init()
421 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_enq_add_region() local
423 struct memif_msg_queue_elt *e = memif_msg_enq(pmd->cc); in memif_msg_enq_add_region()
443 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_enq_add_ring() local
444 struct memif_msg_queue_elt *e = memif_msg_enq(pmd->cc); in memif_msg_enq_add_ring()
470 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_enq_connect() local
471 struct memif_msg_queue_elt *e = memif_msg_enq(pmd->cc); in memif_msg_enq_connect()
487 struct pmd_internals *pmd = dev->data->dev_private; in memif_msg_enq_connected() local
488 struct memif_msg_queue_elt *e = memif_msg_enq(pmd->cc); in memif_msg_enq_connected()
521 struct pmd_internals *pmd = dev->data->dev_private; in memif_disconnect() local
529 pmd->flags &= ~ETH_MEMIF_FLAG_CONNECTING; in memif_disconnect()
530 pmd->flags &= ~ETH_MEMIF_FLAG_CONNECTED; in memif_disconnect()
532 rte_spinlock_lock(&pmd->cc_lock); in memif_disconnect()
533 if (pmd->cc != NULL) { in memif_disconnect()
535 for (elt = TAILQ_FIRST(&pmd->cc->msg_queue); elt != NULL; elt = next) { in memif_disconnect()
538 TAILQ_REMOVE(&pmd->cc->msg_queue, elt, next); in memif_disconnect()
543 memif_msg_send_from_queue(pmd->cc); in memif_disconnect()
546 if (TAILQ_FIRST(&pmd->cc->msg_queue) != NULL) { in memif_disconnect()
551 ih = &pmd->cc->intr_handle; in memif_disconnect()
555 pmd->cc); in memif_disconnect()
563 pmd->cc, in memif_disconnect()
567 rte_free(pmd->cc); in memif_disconnect()
569 pmd->cc = NULL; in memif_disconnect()
575 rte_spinlock_unlock(&pmd->cc_lock); in memif_disconnect()
578 for (i = 0; i < pmd->cfg.num_c2s_rings; i++) { in memif_disconnect()
579 if (pmd->role == MEMIF_ROLE_CLIENT) { in memif_disconnect()
595 for (i = 0; i < pmd->cfg.num_s2c_rings; i++) { in memif_disconnect()
596 if (pmd->role == MEMIF_ROLE_SERVER) { in memif_disconnect()
616 memset(&pmd->run, 0, sizeof(pmd->run)); in memif_disconnect()
618 MIF_LOG(DEBUG, "Disconnected, id: %d, role: %s.", pmd->id, in memif_disconnect()
619 (pmd->role == MEMIF_ROLE_SERVER) ? "server" : "client"); in memif_disconnect()
637 struct pmd_internals *pmd; in memif_msg_receive() local
690 pmd = cc->dev->data->dev_private; in memif_msg_receive()
697 for (i = 0; i < pmd->run.num_c2s_rings; i++) { in memif_msg_receive()
703 for (i = 0; i < pmd->run.num_s2c_rings; i++) { in memif_msg_receive()
950 struct pmd_internals *pmd = dev->data->dev_private; in memif_socket_init() local
972 (pmd->role == MEMIF_ROLE_CLIENT) ? 0 : 1, in memif_socket_init()
973 pmd->flags & ETH_MEMIF_FLAG_SOCKET_ABSTRACT); in memif_socket_init()
982 pmd->socket_filename = socket->filename; in memif_socket_init()
986 if (tmp_pmd->id == pmd->id && tmp_pmd->role == pmd->role) { in memif_socket_init()
988 "not have the same role.", pmd->id); in memif_socket_init()
1007 struct pmd_internals *pmd = dev->data->dev_private; in memif_socket_remove_device() local
1017 if (pmd->socket_filename == NULL) in memif_socket_remove_device()
1020 if (rte_hash_lookup_data(hash, pmd->socket_filename, (void **)&socket) < 0) in memif_socket_remove_device()
1028 pmd->socket_filename = NULL; in memif_socket_remove_device()
1035 if (socket->listener && !(pmd->flags & ETH_MEMIF_FLAG_SOCKET_ABSTRACT)) { in memif_socket_remove_device()
1051 struct pmd_internals *pmd = dev->data->dev_private; in memif_connect_server() local
1053 memset(pmd->local_disc_string, 0, ETH_MEMIF_DISC_STRING_SIZE); in memif_connect_server()
1054 memset(pmd->remote_disc_string, 0, ETH_MEMIF_DISC_STRING_SIZE); in memif_connect_server()
1055 pmd->flags &= ~ETH_MEMIF_FLAG_DISABLED; in memif_connect_server()
1065 struct pmd_internals *pmd = dev->data->dev_private; in memif_connect_client() local
1067 memset(pmd->local_disc_string, 0, ETH_MEMIF_DISC_STRING_SIZE); in memif_connect_client()
1068 memset(pmd->remote_disc_string, 0, ETH_MEMIF_DISC_STRING_SIZE); in memif_connect_client()
1069 pmd->flags &= ~ETH_MEMIF_FLAG_DISABLED; in memif_connect_client()
1078 if (pmd->flags & ETH_MEMIF_FLAG_SOCKET_ABSTRACT) { in memif_connect_client()
1081 strlcpy(sun.sun_path + 1, pmd->socket_filename, MEMIF_SOCKET_UN_SIZE - 1); in memif_connect_client()
1083 strlcpy(sun.sun_path, pmd->socket_filename, MEMIF_SOCKET_UN_SIZE); in memif_connect_client()
1089 MIF_LOG(ERR, "Failed to connect socket: %s.", pmd->socket_filename); in memif_connect_client()
1093 MIF_LOG(DEBUG, "Memif socket: %s connected.", pmd->socket_filename); in memif_connect_client()
1095 pmd->cc = rte_zmalloc("memif-cc", in memif_connect_client()
1097 if (pmd->cc == NULL) { in memif_connect_client()
1102 pmd->cc->intr_handle.fd = sockfd; in memif_connect_client()
1103 pmd->cc->intr_handle.type = RTE_INTR_HANDLE_EXT; in memif_connect_client()
1104 pmd->cc->socket = NULL; in memif_connect_client()
1105 pmd->cc->dev = dev; in memif_connect_client()
1106 TAILQ_INIT(&pmd->cc->msg_queue); in memif_connect_client()
1108 ret = rte_intr_callback_register(&pmd->cc->intr_handle, in memif_connect_client()
1109 memif_intr_handler, pmd->cc); in memif_connect_client()
1122 if (pmd->cc != NULL) { in memif_connect_client()
1123 rte_free(pmd->cc); in memif_connect_client()
1124 pmd->cc = NULL; in memif_connect_client()