DPDK  21.08.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
18 
21 #define RTE_KEEPALIVE_MAXCORES RTE_MAX_LCORE
22 #endif
23 
24 enum 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 
68 struct rte_keepalive;
69 
79 struct rte_keepalive *rte_keepalive_create(
81  void *data);
82 
88 void rte_keepalive_dispatch_pings(void *ptr_timer, void *ptr_data);
89 
97 void rte_keepalive_register_core(struct rte_keepalive *keepcfg,
98  const int id_core);
99 
108 void
109 rte_keepalive_mark_alive(struct rte_keepalive *keepcfg);
110 
120 void
121 rte_keepalive_mark_sleep(struct rte_keepalive *keepcfg);
122 
137 void
138 rte_keepalive_register_relay_callback(struct rte_keepalive *keepcfg,
140  void *data);
141 
142 #endif /* _KEEPALIVE_H_ */
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
void rte_keepalive_mark_sleep(struct rte_keepalive *keepcfg)
void rte_keepalive_register_relay_callback(struct rte_keepalive *keepcfg, rte_keepalive_relay_callback_t callback, void *data)
void(* rte_keepalive_failure_callback_t)(void *data, const int id_core)
Definition: rte_keepalive.h:42
void rte_keepalive_dispatch_pings(void *ptr_timer, void *ptr_data)
struct rte_keepalive * rte_keepalive_create(rte_keepalive_failure_callback_t callback, void *data)
void rte_keepalive_mark_alive(struct rte_keepalive *keepcfg)
void rte_keepalive_register_core(struct rte_keepalive *keepcfg, const int id_core)