|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
18 #include <sys/types.h>
23 #include <netinet/in.h>
69 for (
i = 1;
i < 32;
i++)
73 sa.sa_flags = SA_SIGINFO;
89 sa.sa_sigaction = (
void *) SIG_IGN;
97 if (sigaction (
i, &sa, 0) < 0)
106 char *chroot_path = 0;
109 f64 *vector_ratep, *rx_ratep, *sig_error_ratep;
113 struct passwd _pw, *pw;
114 struct group _grp, *grp;
124 if (
unformat (&input,
"chroot %s", &chroot_path_u8))
126 chroot_path = (
char *) chroot_path_u8;
130 else if (
unformat (&input,
"uid %d", &uid))
132 else if (
unformat (&input,
"gid %d", &gid))
134 else if (
unformat (&input,
"uid %s", &s))
138 rv = getpwnam_r (s, &_pw,
buf,
sizeof (
buf), &pw);
141 fformat (stderr,
"cannot fetch username %s", s);
146 fformat (stderr,
"username %s does not exist", s);
152 else if (
unformat (&input,
"gid %s", &s))
156 rv = getgrnam_r (s, &_grp,
buf,
sizeof (
buf), &grp);
159 fformat (stderr,
"cannot fetch group %s", s);
164 fformat (stderr,
"group %s does not exist", s);
173 "usage: vpp_get_metrics [chroot <path>] [interval <nn>]\n");
197 "vpp_sig_error_rate");
205 if (vpp_pidp == 0 || vector_ratep == 0 || rx_ratep == 0
206 || sig_error_ratep == 0)
208 fformat (stdout,
"vpp not running\n");
221 fformat (stdout,
"vpp not running\n");
225 "%d: vpp_vector_rate=%.2f, vpp_input_rate=%f, vpp_sig_error_rate=%f\n",
226 *vpp_pidp, *vector_ratep, *rx_ratep, *sig_error_ratep);
void svmdb_unmap(svmdb_client_t *client)
#define clib_unix_warning(format, args...)
void * svmdb_local_get_variable_reference(svmdb_client_t *client, svmdb_namespace_t namespace, char *var)
static void setup_signal_handlers(void)
Fixed length block allocator. Pools are built from clib vectors and bitmaps. Use pools when repeatedl...
sll srl srl sll sra u16x4 i
#define vec_free(V)
Free vector's memory (no header).
int main(int argc, char **argv)
svmdb_client_t * svmdb_map(svmdb_map_args_t *dba)
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
static void unix_signal_handler(int signum, siginfo_t *si, ucontext_t *uc)
volatile int signal_received