X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fmemif%2Fsocket.c;h=384a7b173c59b4e044ab47e87db4475d657ba6dc;hb=56a0d06cb410b669eddf1533f22ec3afedb4b242;hp=9aa4a2e2e90965a598a5dda3c4b8286c00ff7f5f;hpb=9d72120a6986e642c5b16c8650ad266188adf142;p=vpp.git diff --git a/src/plugins/memif/socket.c b/src/plugins/memif/socket.c index 9aa4a2e2e90..384a7b173c5 100644 --- a/src/plugins/memif/socket.c +++ b/src/plugins/memif/socket.c @@ -351,11 +351,16 @@ memif_msg_receive_add_ring (memif_if_t * mif, memif_msg_t * msg, int fd) mif->run.num_m2s_rings = vec_len (mif->tx_queues); } + // clear previous cache data if interface reconncected + memset (mq, 0, sizeof (memif_queue_t)); mq->int_fd = fd; mq->int_clib_file_index = ~0; mq->log2_ring_size = ar->log2_ring_size; mq->region = ar->region; mq->offset = ar->offset; + mq->type = + (ar->flags & MEMIF_MSG_ADD_RING_FLAG_S2M) ? MEMIF_RING_S2M : + MEMIF_RING_M2S; return 0; } @@ -440,6 +445,9 @@ memif_msg_receive (memif_if_t ** mifp, clib_socket_t * sock, clib_file_t * uf) if ((err = memif_msg_receive_init (mifp, &msg, sock, uf->private_data))) return err; mif = *mifp; + vec_reset_length (uf->description); + uf->description = format (uf->description, "%U ctl", + format_memif_device_name, mif->dev_instance); memif_msg_enq_ack (mif); break; @@ -645,6 +653,7 @@ memif_conn_fd_accept_ready (clib_file_t * uf) template.error_function = memif_master_conn_fd_error; template.file_descriptor = client->fd; template.private_data = uf->private_data; + template.description = format (0, "memif in conn on %s", msf->filename); memif_file_add (&client->private_data, &template);