API refactoring : cop
[vpp.git] / src / vnet / cop / cop.api
1 /*
2  * Copyright (c) 2015-2016 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  /** \brief cop: enable/disable junk filtration features on an interface
17     @param client_index - opaque cookie to identify the sender
18     @param context - sender context, to match reply w/ request
19     @param sw_if_inded - desired interface
20     @param enable_disable - 1 => enable, 0 => disable
21 */
22
23 define cop_interface_enable_disable
24 {
25   u32 client_index;
26   u32 context;
27   u32 sw_if_index;
28   u8 enable_disable;
29 };
30
31 /** \brief cop: interface enable/disable junk filtration reply
32     @param context - returned sender context, to match reply w/ request
33     @param retval - return code
34 */
35
36 define cop_interface_enable_disable_reply
37 {
38   u32 context;
39   i32 retval;
40 };
41
42 /** \brief cop: enable/disable whitelist filtration features on an interface
43     Note: the supplied fib_id must match in order to remove the feature!
44     
45     @param client_index - opaque cookie to identify the sender
46     @param context - sender context, to match reply w/ request
47     @param sw_if_index - interface handle, physical interfaces only
48     @param fib_id - fib identifier for the whitelist / blacklist fib
49     @param ip4 - 1 => enable ip4 filtration, 0=> disable ip4 filtration
50     @param ip6 - 1 => enable ip6 filtration, 0=> disable ip6 filtration
51     @param default_cop -  1 => enable non-ip4, non-ip6 filtration 0=> disable it
52 */
53
54 define cop_whitelist_enable_disable
55 {
56   u32 client_index;
57   u32 context;
58   u32 sw_if_index;
59   u32 fib_id;
60   u8 ip4;
61   u8 ip6;
62   u8 default_cop;
63 };
64
65 /** \brief cop: interface enable/disable junk filtration reply
66     @param context - returned sender context, to match reply w/ request
67     @param retval - return code
68 */
69
70 define cop_whitelist_enable_disable_reply
71 {
72   u32 context;
73   i32 retval;
74 };
75
76 /** \brief get_node_graph - get a copy of the vpp node graph
77     including the current set of graph arcs.
78
79     @param client_index - opaque cookie to identify the sender
80     @param context - sender context, to match reply w/ request
81 */
82
83  /*
84  * Local Variables:
85  * eval: (c-set-style "gnu")
86  * End:
87  */
88