Motr
M0
ping.h
Go to the documentation of this file.
1
/* -*- C -*- */
2
/*
3
* Copyright (c) 2012-2020 Seagate Technology LLC and/or its Affiliates
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
* For any questions about this software or licensing,
18
* please email opensource@seagate.com or cortx-questions@seagate.com.
19
*
20
*/
21
22
23
#pragma once
24
25
#ifndef __MOTR_NET_BULK_MEM_PING_H__
26
#define __MOTR_NET_BULK_MEM_PING_H__
27
28
#include "
lib/bitmap.h
"
29
#include "
lib/types.h
"
30
31
struct
ping_ctx
;
32
struct
ping_ops
{
33
int
(*
pf
)(
const
char
*
format
, ...)
34
__attribute__
((
format
(printf, 1, 2)));
35
void (*
pqs
)(
struct
ping_ctx
*
ctx
,
bool
reset);
36
};
37
41
struct
ping_ctx
{
42
const
struct
ping_ops
*
pc_ops
;
43
const
struct
m0_net_xprt
*
pc_xprt
;
44
struct
m0_net_domain
pc_dom
;
45
const
char
*
pc_hostname
;
/* dotted decimal */
46
short
pc_port
;
47
uint32_t
pc_id
;
48
int32_t
pc_status
;
49
const
char
*
pc_rhostname
;
/* dotted decimal */
50
short
pc_rport
;
51
uint32_t
pc_rid
;
52
uint32_t
pc_nr_bufs
;
53
uint32_t
pc_segments
;
54
uint32_t
pc_seg_size
;
55
int32_t
pc_passive_size
;
56
struct
m0_net_buffer
*
pc_nbs
;
57
const
struct
m0_net_buffer_callbacks
*
pc_buf_callbacks
;
58
struct
m0_bitmap
pc_nbbm
;
59
struct
m0_net_transfer_mc
pc_tm
;
60
struct
m0_mutex
pc_mutex
;
61
struct
m0_cond
pc_cond
;
62
struct
m0_list
pc_work_queue
;
63
const
char
*
pc_ident
;
64
const
char
*
pc_compare_buf
;
65
int
pc_passive_bulk_timeout
;
66
int
pc_server_bulk_delay
;
67
};
68
69
enum
{
70
PING_PORT1
= 12345,
71
PING_PORT2
= 27183,
72
PART3_SERVER_ID
= 141421,
73
};
74
75
/* Debug printf macro */
76
#ifdef __KERNEL__
77
#define PING_ERR(fmt, ...) printk(KERN_ERR fmt , ## __VA_ARGS__)
78
#else
79
#include <stdio.h>
80
#define PING_ERR(fmt, ...) fprintf(stderr, fmt , ## __VA_ARGS__)
81
#endif
82
83
void
ping_server
(
struct
ping_ctx
*
ctx
);
84
void
ping_server_should_stop
(
struct
ping_ctx
*
ctx
);
85
int
ping_client_init
(
struct
ping_ctx
*
ctx
,
struct
m0_net_end_point
**server_ep);
86
int
ping_client_fini
(
struct
ping_ctx
*
ctx
,
struct
m0_net_end_point
*server_ep);
87
int
ping_client_msg_send_recv
(
struct
ping_ctx
*
ctx
,
88
struct
m0_net_end_point
*server_ep,
89
const
char
*
data
);
90
int
ping_client_passive_recv
(
struct
ping_ctx
*
ctx
,
91
struct
m0_net_end_point
*server_ep);
92
int
ping_client_passive_send
(
struct
ping_ctx
*
ctx
,
93
struct
m0_net_end_point
*server_ep,
94
const
char
*
data
);
95
96
#endif
/* __MOTR_NET_BULK_MEM_PING_H__ */
97
98
/*
99
* Local variables:
100
* c-indentation-style: "K&R"
101
* c-basic-offset: 8
102
* tab-width: 8
103
* fill-column: 79
104
* scroll-step: 1
105
* End:
106
*/
ping_ops::pf
int(* pf)(const char *format,...) __attribute__((format(printf
Definition:
ping.h:33
m0_cond
Definition:
cond.h:99
types.h
m0_net_buffer
Definition:
net.h:1316
ping_client_init
int ping_client_init(struct ping_ctx *ctx, struct m0_net_end_point **server_ep)
Definition:
ping.c:1261
ping_ctx::pc_work_queue
struct m0_list pc_work_queue
Definition:
ping.h:62
ping_ctx::pc_ops
const struct ping_ops * pc_ops
Definition:
ping.h:42
error_injection.int
int
Definition:
error_injection.py:50
m0_net_xprt
Definition:
net.h:124
ping_ctx::pc_dom
struct m0_net_domain pc_dom
Definition:
ping.h:44
ping_ctx::pc_nr_bufs
uint32_t pc_nr_bufs
Definition:
ping.h:52
PING_PORT1
Definition:
ping.h:70
PART3_SERVER_ID
Definition:
ping.h:72
data
struct m0_bufvec data
Definition:
di.c:40
ping_ctx::pc_nbbm
struct m0_bitmap pc_nbbm
Definition:
ping.h:58
m0_net_transfer_mc
Definition:
net.h:811
__attribute__
enum m0_md_lustre_logrec_type __attribute__
Definition:
balloc.c:2745
ping_ctx::pc_hostname
const char * pc_hostname
Definition:
ping.h:45
ping_ctx::pc_id
uint32_t pc_id
Definition:
ping.h:47
ping_ctx::pc_rid
uint32_t pc_rid
Definition:
ping.h:51
ping_client_fini
int ping_client_fini(struct ping_ctx *ctx, struct m0_net_end_point *server_ep)
Definition:
ping.c:1292
ping_ctx::pc_passive_size
int32_t pc_passive_size
Definition:
ping.h:55
ping_client_passive_recv
int ping_client_passive_recv(struct ping_ctx *ctx, struct m0_net_end_point *server_ep)
Definition:
ping.c:1088
ping_ctx::pc_port
short pc_port
Definition:
ping.h:46
ping_ctx::pc_seg_size
uint32_t pc_seg_size
Definition:
ping.h:54
PING_PORT2
Definition:
ping.h:71
ping_client_msg_send_recv
int ping_client_msg_send_recv(struct ping_ctx *ctx, struct m0_net_end_point *server_ep, const char *data)
Definition:
ping.c:1007
m0_net_domain
Definition:
net.h:376
ping_ctx::pc_tm
struct m0_net_transfer_mc pc_tm
Definition:
ping.h:59
ping_server
void ping_server(struct ping_ctx *ctx)
Definition:
ping.c:907
ctx
static struct fdmi_ctx ctx
Definition:
main.c:80
ping_ctx::pc_compare_buf
const char * pc_compare_buf
Definition:
ping.h:64
m0_list
Definition:
list.h:72
ping_ctx::pc_server_bulk_delay
int pc_server_bulk_delay
Definition:
ping.h:66
ping_server_should_stop
void ping_server_should_stop(struct ping_ctx *ctx)
Definition:
ping.c:990
ping_ctx::pc_nbs
struct m0_net_buffer * pc_nbs
Definition:
ping.h:56
ping_ctx::pc_buf_callbacks
const struct m0_net_buffer_callbacks * pc_buf_callbacks
Definition:
ping.h:57
hist.format
format
Definition:
hist.py:128
ping_ctx::pc_rhostname
const char * pc_rhostname
Definition:
ping.h:49
ping_client_passive_send
int ping_client_passive_send(struct ping_ctx *ctx, struct m0_net_end_point *server_ep, const char *data)
Definition:
ping.c:1172
ping_ctx
Definition:
ping.h:41
bitmap.h
m0_bitmap
Definition:
bitmap.h:42
ping_ctx::pc_cond
struct m0_cond pc_cond
Definition:
ping.h:61
ping_ctx::pc_mutex
struct m0_mutex pc_mutex
Definition:
ping.h:60
ping_ctx::pc_rport
short pc_rport
Definition:
ping.h:50
ping_ctx::pc_status
int32_t pc_status
Definition:
ping.h:48
ctx
Definition:
nucleus.c:42
ping_ctx::pc_xprt
const struct m0_net_xprt * pc_xprt
Definition:
ping.h:43
ping_ctx::pc_ident
const char * pc_ident
Definition:
ping.h:63
m0_mutex
Definition:
mutex.h:47
ping_ctx::pc_segments
uint32_t pc_segments
Definition:
ping.h:53
m0_net_end_point
Definition:
net.h:487
ping_ops::pqs
int(*) void(* pqs)(struct ping_ctx *ctx, bool reset)
Definition:
ping.h:35
ping_ops
Definition:
ping.h:32
ping_ctx::pc_passive_bulk_timeout
int pc_passive_bulk_timeout
Definition:
ping.h:65
m0_net_buffer_callbacks
Definition:
net.h:1271
net
bulk_emulation
st
ping.h
Generated on Thu Apr 14 2022 14:02:58 for Motr by
1.8.14