We already changed to use generic IPC in pdump since below commit:
commit
660098d61f57 ("pdump: use generic multi-process channel")
The `rte_pdump_set_socket_dir()`, the `path` parameter of
`rte_pdump_init()` and the `enum rte_pdump_socktype` have been
deprecated since then. This commit removes these deprecated
APIs and also bumps the pdump ABI.
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
#ifdef RTE_LIBRTE_PDUMP
/* initialize packet capture framework */
- rte_pdump_init(NULL);
+ rte_pdump_init();
#endif
count = 0;
* ``rte_pdump_uninit()``:
This API uninitializes the packet capture framework.
-* ``rte_pdump_set_socket_dir()``:
- This API sets the server and client socket paths.
- Note: This API is not thread-safe.
-
Operation
---------
Implementation Details
----------------------
-The library API ``rte_pdump_init()``, initializes the packet capture framework by creating the pthread and the server
-socket. The server socket in the pthread context will be listening to the client requests to enable or disable the
+The library API ``rte_pdump_init()``, initializes the packet capture framework by creating the pdump server by calling
+``rte_mp_action_register()`` function. The server will listen to the client requests to enable or disable the
packet capture.
The library APIs ``rte_pdump_enable()`` and ``rte_pdump_enable_by_deviceid()`` enables the packet capture.
also sends the response back to the client about the status of the request that was processed. After the response is
received from the server, the client socket is closed.
-The library API ``rte_pdump_uninit()``, uninitializes the packet capture framework by closing the pthread and the
-server socket.
-
-The library API ``rte_pdump_set_socket_dir()``, sets the given path as either server socket path
-or client socket path based on the ``type`` argument of the API.
-If the given path is ``NULL``, default path will be selected, i.e. either ``/var/run/.dpdk`` for root user or ``~/.dpdk``
-for non root user. Clients also need to call this API to set their server socket path if the server socket
-path is different from default path.
+The library API ``rte_pdump_uninit()``, uninitializes the packet capture framework by calling ``rte_mp_action_unregister()``
+function.
Use Case: Packet Capturing
- The size and layout of ``rte_cryptodev_qp_conf`` and syntax of
``rte_cryptodev_queue_pair_setup`` will change to to allow to use
two different mempools for crypto and device private sessions.
-
-* pdump: As we changed to use generic IPC, some changes in APIs and structure
- are expected in subsequent release.
-
- - ``rte_pdump_set_socket_dir`` will be removed;
- - The parameter, ``path``, of ``rte_pdump_init`` will be removed;
- - The enum ``rte_pdump_socktype`` will be removed.
Also, make sure to start the actual text at the margin.
=========================================================
+* pdump: The ``rte_pdump_set_socket_dir()``, the parameter ``path`` of
+ ``rte_pdump_init()`` and enum ``rte_pdump_socktype`` were deprecated
+ since 18.05 and are removed in this release.
+
ABI Changes
-----------
librte_metrics.so.1
librte_net.so.1
librte_pci.so.1
- librte_pdump.so.2
+ + librte_pdump.so.3
librte_pipeline.so.3
librte_pmd_bnxt.so.2
librte_pmd_bond.so.2
EXPORT_MAP := rte_pdump_version.map
-LIBABIVER := 2
+LIBABIVER := 3
# all source are stored in SRCS-y
SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) := rte_pdump.c
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
-version = 2
+version = 3
sources = files('rte_pdump.c')
headers = files('rte_pdump.h')
allow_experimental_apis = true
}
int
-rte_pdump_init(const char *path __rte_unused)
+rte_pdump_init(void)
{
return rte_mp_action_register(PDUMP_MP, pdump_server);
}
return ret;
}
-
-int
-rte_pdump_set_socket_dir(const char *path __rte_unused,
- enum rte_pdump_socktype type __rte_unused)
-{
- return 0;
-}
RTE_PDUMP_FLAG_RXTX = (RTE_PDUMP_FLAG_RX|RTE_PDUMP_FLAG_TX)
};
-enum rte_pdump_socktype {
- RTE_PDUMP_SOCKET_SERVER = 1,
- RTE_PDUMP_SOCKET_CLIENT = 2
-};
-
/**
* Initialize packet capturing handling
*
* Register the IPC action for communication with target (primary) process.
*
- * @param path
- * This parameter is going to be deprecated; it was used for specifying the
- * directory path for server socket.
- *
* @return
* 0 on success, -1 on error
*/
int
-rte_pdump_init(const char *path);
+rte_pdump_init(void);
/**
* Un initialize packet capturing handling
rte_pdump_disable_by_deviceid(char *device_id, uint16_t queue,
uint32_t flags);
-/**
- * @deprecated
- * Allows applications to set server and client socket paths.
- * If specified path is null default path will be selected, i.e.
- *"/var/run/" for root user and "$HOME" for non root user.
- * Clients also need to call this API to set their server path if the
- * server path is different from default path.
- * This API is not thread-safe.
- *
- * @param path
- * directory path for server or client socket.
- * @param type
- * specifies RTE_PDUMP_SOCKET_SERVER if socket path is for server.
- * (or)
- * specifies RTE_PDUMP_SOCKET_CLIENT if socket path is for client.
- *
- * @return
- * 0 on success, -EINVAL on error
- *
- */
-__rte_deprecated int
-rte_pdump_set_socket_dir(const char *path, enum rte_pdump_socktype type);
-
#ifdef __cplusplus
}
#endif
rte_pdump_enable;
rte_pdump_enable_by_deviceid;
rte_pdump_init;
- rte_pdump_set_socket_dir;
rte_pdump_uninit;
local: *;