API: Add service definitions for events and singleton messages (second attempt)
[vpp.git] / src / vpp / oam / oam.api
1 /*
2  * Copyright (c) 2015-2017 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15
16 /** \file
17
18     This file defines vpe control-plane API messages which are generally
19     called through a shared memory interface. 
20 */
21
22 option version = "1.0.0";
23
24 /** \brief OAM event structure
25     @param dst_address[] - 
26     @param state
27 */
28 define oam_event
29 {
30   u8 dst_address[4];
31   u8 state;
32 };
33
34 /** \brief Want OAM events request
35     @param client_index - opaque cookie to identify the sender
36     @param context - sender context, to match reply w/ request
37     @param enable_disable- enable if non-zero, else disable
38     @param pid - pid of the requesting process
39 */
40 autoreply define want_oam_events
41 {
42   u32 client_index;
43   u32 context;
44   u32 enable_disable;
45   u32 pid;
46 };
47
48 service {
49   rpc want_oam_events returns want_oam_events_reply
50     events oam_event;
51 };
52
53 /** \brief OAM add / del target request
54     @param client_index - opaque cookie to identify the sender
55     @param context - sender context, to match reply w/ request
56     @param vrf_id - vrf_id of the target
57     @param src_address[] - source address to use for the updates 
58     @param dst_address[] - destination address of the target
59     @param is_add - add target if non-zero, else delete
60 */
61 autoreply define oam_add_del
62 {
63   u32 client_index;
64   u32 context;
65   u32 vrf_id;
66   u8 src_address[4];
67   u8 dst_address[4];
68   u8 is_add;
69 };
70
71 /*
72  * Local Variables:
73  * eval: (c-set-style "gnu")
74  * End:
75  */