| NVIDIA DOCA SDK | Data Center on a Chip Framework Documentation |
Implementation of the PSP_Gateway service. More...
#include </opt/mellanox/doca/applications/psp_gateway/psp_gw_svc_impl.h>


Public Member Functions | |
| PSP_GatewayImpl (psp_gw_app_config *config, PSP_GatewayFlows *psp_flows) | |
| Constructs the object. This operation cannot fail. More... | |
| ::grpc::Status | RequestMultipleTunnelParams (::grpc::ServerContext *context, const ::psp_gateway::MultiTunnelRequest *request, ::psp_gateway::MultiTunnelResponse *response) override |
| Requests that the recipient allocate multiple SPIs and encryption keys so that the initiator can begin sending encrypted traffic. More... | |
| ::grpc::Status | RequestKeyRotation (::grpc::ServerContext *context, const ::psp_gateway::KeyRotationRequest *request, ::psp_gateway::KeyRotationResponse *response) override |
| Requests that the recipient rotate the PSP master key. More... | |
| doca_error_t | handle_miss_packet (struct rte_mbuf *packet) |
| Handles any "miss" packets received by RSS which indicate a new tunnel connection is needed. More... | |
| doca_error_t | show_flow_counts (void) |
| Displays the counters of all tunnel sessions that have changed since the previous invocation. More... | |
| size_t | try_connect (std::vector< psp_gw_peer > &peers) |
| Attempt to establish tunnels to each of the passed peers. On success, a given peer is removed from the list so that this method can be called repeatedly with the same list. More... | |
Static Public Attributes | |
| static constexpr uint16_t | DEFAULT_HTTP_PORT_NUM = 3000 |
Implementation of the PSP_Gateway service.
Manages the generation of PSP encryption keys, which are supplied to a remote service to establish a tunnel connection.
As a server, listens to requests for new tunnels, generates parameters for the requestor to send encrypted packets, and creates the flows required to send encrypted packets back to the requestor.
As a client, generates parameters for a remote service to send encrypted packets, and sends them as part of the request.
Definition at line 59 of file psp_gw_svc_impl.h.
| PSP_GatewayImpl::PSP_GatewayImpl | ( | psp_gw_app_config * | config, |
| PSP_GatewayFlows * | psp_flows | ||
| ) |
Constructs the object. This operation cannot fail.
| [in] | psp_flows | The object which manages the doca resources. |
Definition at line 42 of file psp_gw_svc_impl.cpp.
| doca_error_t PSP_GatewayImpl::handle_miss_packet | ( | struct rte_mbuf * | packet | ) |
Handles any "miss" packets received by RSS which indicate a new tunnel connection is needed.
@packet [in]: The packet received from RSS
Definition at line 50 of file psp_gw_svc_impl.cpp.
|
override |
Requests that the recipient rotate the PSP master key.
@context [in]: grpc context @request [in]: request parameters @response [out]: requested outputs
Definition at line 548 of file psp_gw_svc_impl.cpp.
|
override |
Requests that the recipient allocate multiple SPIs and encryption keys so that the initiator can begin sending encrypted traffic.
@context [in]: grpc context @request [in]: request parameters @response [out]: requested outputs
Definition at line 353 of file psp_gw_svc_impl.cpp.
| doca_error_t PSP_GatewayImpl::show_flow_counts | ( | void | ) |
Displays the counters of all tunnel sessions that have changed since the previous invocation.
Definition at line 589 of file psp_gw_svc_impl.cpp.
| size_t PSP_GatewayImpl::try_connect | ( | std::vector< psp_gw_peer > & | peers | ) |
Attempt to establish tunnels to each of the passed peers. On success, a given peer is removed from the list so that this method can be called repeatedly with the same list.
@peers [in/out]: the list of tunnels to try to establish
Definition at line 569 of file psp_gw_svc_impl.cpp.
|
staticconstexpr |
Definition at line 61 of file psp_gw_svc_impl.h.