pppoe: remove api boilerplate
[vpp.git] / src / plugins / pppoe / pppoe.api
1 /*
2  * Copyright (c) 2017 Intel 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 option version = "1.0.0";
17
18 /** \brief Set or delete an PPPOE session
19     @param client_index - opaque cookie to identify the sender
20     @param context - sender context, to match reply w/ request
21     @param is_add - add address if non-zero, else delete
22     @param is_ipv6 - client_ip and dst_address is ipv6 or not
23     @param session_id - PPPoE session ID
24     @param client_ip - PPPOE session's client address.
25     @param decap_vrf_id - the vrf index for pppoe decaped packet
26     @param client_mac - the client ethernet address
27 */
28 define pppoe_add_del_session
29 {
30   u32 client_index;
31   u32 context;
32   u8 is_add;
33   u8 is_ipv6;
34   u16 session_id;
35   u8 client_ip[16];
36   u32 decap_vrf_id;
37   u8 client_mac[6];
38   option vat_help = "client-addr <client-addr> session-id <nn> [encap-if-index <nn>] [decap-next [ip4|ip6|node <name>]] local-mac <local-mac> client-mac <client-mac> [del]";
39 };
40
41 /** \brief reply for set or delete an PPPOE session
42     @param context - sender context, to match reply w/ request
43     @param retval - return code
44     @param sw_if_index - software index of the interface
45 */
46 define pppoe_add_del_session_reply
47 {
48   u32 context;
49   i32 retval;
50   u32 sw_if_index;
51 };
52
53 /** \brief Dump PPPOE session
54     @param client_index - opaque cookie to identify the sender
55     @param context - sender context, to match reply w/ request
56     @param sw_if_index - software index of the interface
57 */
58 define pppoe_session_dump
59 {
60   u32 client_index;
61   u32 context;
62   u32 sw_if_index;
63   option vat_help = "[<intfc> | sw_if_index <nn>]";
64 };
65
66 /** \brief dump details of an PPPOE session
67     @param context - sender context, to match reply w/ request
68     @param sw_if_index - software index of the interface
69     @param is_ipv6 - client_ip and dst_address is ipv6 or not
70     @param session_id - PPPoE session ID
71     @param client_ip - PPPOE session's client address.
72     @param encap_if_index - the index of tx interface for pppoe encaped packet
73     @param decap_vrf_id - the vrf index for pppoe decaped packet
74     @param local_mac - the local ethernet address
75     @param client_mac - the client ethernet address
76 */
77 define pppoe_session_details
78 {
79   u32 context;
80   u32 sw_if_index;
81   u8 is_ipv6;
82   u16 session_id;
83   u8 client_ip[16];
84   u32 encap_if_index;
85   u32 decap_vrf_id;
86   u8 local_mac[6];
87   u8 client_mac[6];
88 };
89
90 /*
91  * Local Variables:
92  * eval: (c-set-style "gnu")
93  * End:
94  */