DPDK 21.11.0
rte_keepalive.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2015-2016 Intel Corporation.
3 */
4
11#ifndef _KEEPALIVE_H_
12#define _KEEPALIVE_H_
13
14#include <rte_config.h>
15#include <rte_memory.h>
16
17#ifndef RTE_KEEPALIVE_MAXCORES
21#define RTE_KEEPALIVE_MAXCORES RTE_MAX_LCORE
22#endif
23
24enum rte_keepalive_state {
25 RTE_KA_STATE_UNUSED = 0,
26 RTE_KA_STATE_ALIVE = 1,
27 RTE_KA_STATE_MISSING = 4,
28 RTE_KA_STATE_DEAD = 2,
29 RTE_KA_STATE_GONE = 3,
30 RTE_KA_STATE_DOZING = 5,
31 RTE_KA_STATE_SLEEP = 6
32};
33
43 void *data,
44 const int id_core);
45
58 void *data,
59 const int id_core,
60 enum rte_keepalive_state core_state,
61 uint64_t last_seen
62 );
63
68struct rte_keepalive;
69
79struct rte_keepalive *rte_keepalive_create(
81 void *data);
82
88void rte_keepalive_dispatch_pings(void *ptr_timer, void *ptr_data);
89
97void rte_keepalive_register_core(struct rte_keepalive *keepcfg,
98 const int id_core);
99
108void
109rte_keepalive_mark_alive(struct rte_keepalive *keepcfg);
110
120void
121rte_keepalive_mark_sleep(struct rte_keepalive *keepcfg);
122
137void
138rte_keepalive_register_relay_callback(struct rte_keepalive *keepcfg,
140 void *data);
141
142#endif /* _KEEPALIVE_H_ */
void rte_keepalive_register_relay_callback(struct rte_keepalive *keepcfg, rte_keepalive_relay_callback_t callback, void *data)
struct rte_keepalive * rte_keepalive_create(rte_keepalive_failure_callback_t callback, void *data)
void rte_keepalive_mark_sleep(struct rte_keepalive *keepcfg)
void rte_keepalive_register_core(struct rte_keepalive *keepcfg, const int id_core)
void(* rte_keepalive_failure_callback_t)(void *data, const int id_core)
Definition: rte_keepalive.h:42
void rte_keepalive_mark_alive(struct rte_keepalive *keepcfg)
void rte_keepalive_dispatch_pings(void *ptr_timer, void *ptr_data)
void(* rte_keepalive_relay_callback_t)(void *data, const int id_core, enum rte_keepalive_state core_state, uint64_t last_seen)
Definition: rte_keepalive.h:57