aboutsummaryrefslogtreecommitdiffstats
path: root/src/vpp/api/vpe.api
blob: 5976f3d99a99bc5a9eeb8bfe1152e78270af8ea4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/*
 * Copyright (c) 2015-2016 Cisco and/or its affiliates.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/** \file

    This file defines vpe control-plane API messages which are generally
    called through a shared memory interface.
*/

option version = "1.7.0";

import "vpp/api/vpe_types.api";

/*
 * Note: API placement cleanup in progress
 * If you're looking for interface APIs, please
 * see .../src/vnet/{interface.api,interface_api.c}
 * IP APIs: see .../src/vnet/ip/{ip.api, ip_api.c}
 * VXLAN APIs: see .../src/vnet/vxlan/{vxlan.api, vxlan_api.c}
 * GENEVE APIs: see .../src/vnet/geneve/{geneve.api, geneve_api.c}
 * LLDP APIs: see .../src/vnet/lldp/{lldp.api, lldp_api.c}
 * AF-PACKET APIs: see ... /vnet/devices/af_packet/{af_packet.api, af_packet_api.c}
 * VHOST-USER APIs: see .../vnet/devices/virtio/{vhost_user.api, vhost_user_api.c}
 * VXLAN GPE APIs: see .../src/vnet/vxlan-gpe/{vxlan_gpe.api, vxlan_gpe_api.c}
 * GRE APIs: see .../src/vnet/gre/{gre.api, gre_api.c}
 * L2 APIs: see .../src/vnet/l2/{l2.api, l2_api.c}
 * L2TP APIs: see .../src/vnet/l2tp/{l2tp.api, l2tp_api.c}
 * BFD APIs: see .../src/vnet/bfd/{bfd.api, bfd_api.c}
 * IPSEC APIs: see .../src/vnet/ipsec/{ipsec.api, ipsec_api.c}
 * LISP APIs: see .../src/vnet/lisp/{lisp.api, lisp_api.c}
 * LISP-GPE APIs: see .../src/vnet/lisp-gpe/{lisp_gpe.api, lisp_gpe_api.c}
 * SESSION APIs: .../vnet/session/{session.api session_api.c}
 * MPLS APIs: see .../src/vnet/mpls/{mpls.api, mpls_api.c}
 * SR APIs: see .../src/vnet/srv6/{sr.api, sr_api.c}
 * CLASSIFY APIs: see ... /src/vnet/classify/{classify.api, classify_api.c}
 * FLOW APIs: see ... /src/vnet/flow/{flow.api, flow_api.c}
 * DHCP APIs: see ... /src/vnet/dhcp/{dhcp.api, dhcp_api.c}
 * COP APIs: see ... /src/vnet/cop/{cop.api, cop_api.c}
 * POLICER APIs: see ... /src/vnet/policer/{policer.api, policer_api.c}
 * BIER APIs: see ... /src/vnet/policer/{bier.api, bier_api.c}.
 * flow APIs: see .../vnet/vnet/flow/{flow.api, flow_api.c}
 */

/** \brief show version
    @param client_index - opaque cookie to identify the sender
    @param context - sender context, to match reply w/ request
*/
define show_version
{
  u32 client_index;
  u32 context;
};

/** \brief show version response
    @param context - sender context, to match reply w/ request
    @param retval - return code for the request
    @param program - name of the program (vpe)
    @param version  - version of the program
    @param build_directory - root of the workspace where the program was built
*/
define show_version_reply
{
  u32 context;
  i32 retval;
  string program[32];
  string version[32];
  string build_date[32];
  string build_directory[256];
};

/** \brief Show the current system timestamp.
    @param client_index - opaque cookie to identify the sender
    @param context - sender context, to match reply w/ request
*/
define show_vpe_system_time
{
  u32 client_index;
  u32 context;
};

/** \brief Reply for show vpe system time.
    @param context - sender context which was passed in the request
    @param retval - return value
    @param vpe_system_time - the time in seconds since epoch of the host system.
*/
define show_vpe_system_time_reply
{
  u32 context;
  i32 retval;
  vl_api_timestamp_t vpe_system_time;
};

define log_dump {
  u32 client_index;
  u32 context;
  vl_api_timestamp_t start_timestamp;
};

define log_details {
  u32 context;
  vl_api_timestamp_t timestamp;
  vl_api_log_level_t level;
  string msg_class[32];
  string message[256];
};

/*
 * Local Variables:
 * eval: (c-set-style "gnu")
 * End:
 */